Professional Documents
Culture Documents
Binnur Kurt
binnur.kurt@ieee.org
İşletim Sistemleri 1
Copyright © 2005 Version 0.0.1
About
About the
the Lecturer
Lecturer
BSc
İTÜ, Computer Engineering Department, 1995
MSc
İTÜ, Computer Engineering Department, 1997
Areas of Interest
¾ Digital Image and Video Analysis and Processing
¾ Real-Time Computer Vision Systems
¾ Multimedia: Indexing and Retrieval
¾ Software Engineering
¾ OO Analysis and Design
2
Önemli
Önemli Bilgiler
Bilgiler
Dersin
¾ Gün ve Saati
• 18:30-21:30 Cuma
¾ Adresi
• http://www.cs.itu.edu.tr/~kurt/Courses/os
¾ E-posta
• kurt@ce.itu.edu.tr
3
Notlandırma
Notlandırma
¾ 3 Ödev (30%)
¾ Yıliçi Sınavı (30%)
¾ Final Sınavı (40%)
4
Kaynakça
Kaynakça
5
Tell me and I forget.
Show me and I remember.
Let me do and I understand.
—Chinese Proverb
İşletim Sistemleri 6
İçerik
İçerik
1. Giriş.
2. Prosesler ve Proses Kontrolü.
3. İplikler
4. Prosesler Arası İletişim
5. Ölümcül Kilitlenme
6. İş Sıralama
7. Bellek Yönetimi
8. Giriş/Çıkış Yönetimi
9. Dosya Sistemi
İşletim Sistemleri 7
1 GİRİŞ
İşletim
İşletim Sistemi
Sistemi
►donanımı kullanılabilir yapan yazılım
– bilgisayar kaynaklarını:
• denetler,
• paylaştırır
Giriş 1
İşletim Sistemleri 9
Bilgisayar
Bilgisayar Sistemi
Sistemi
uygulama programları
işletim sistemi
donanım
İşletim Sistemleri 10
İşletim
İşletim Sistemi
Sistemi
►güncel işletim sistemleri doğrudan donanıma erişmeyi
engeller
– kullanıcı modu × çekirdek modu
►donanımın doğrudan kullanımının zorluklarını gizler
Giriş 1
İşletim Sistemleri 11
Sistem
Sistem Çağrıları
Çağrıları
►kullanıcı programların
– işletim sistemi ile etkileşimi ve
– işletim sisteminden iş isteği için
►her sistem çağrısına karşılık kütüphane rutini
Giriş 1
İşletim Sistemleri 12
İşletim
İşletim Sisteminin
Sisteminin Temel
Temel Görevleri
Görevleri
►kaynak paylaşımı
►görüntü makina sağlanması
Giriş 1
İşletim Sistemleri 13
Kaynak
Kaynak Paylaşımı
Paylaşımı
►kullanıcılar arasında paylaşım
►güvenlik
– kullanıcıları birbirinden yalıtır
Giriş 1
►paylaşılan kaynaklar:
– işlemci
– bellek
– G / Ç birimleri
– veriler
İşletim Sistemleri 14
Kaynak
Kaynak Paylaşımı
Paylaşımı
►amaçlar:
– kaynakların kullanım oranını yükseltmek (utilization)
– bilgisayar sisteminin kullanılabilirliğini arttırmak (availability)
Giriş 1
İşletim Sistemleri 15
Kaynak
Kaynak Paylaşımı
Paylaşımı
► verdiği hizmetler:
– kullanıcı arayüzünün tanımlanması
• sistem çağrıları
– çok kullanıcılı sistemlerde donanımın paylaştırılması ve
kullanımın düzenlenmesi
Giriş 1
İşletim Sistemleri 16
Kaynak
Kaynak Paylaşımı
Paylaşımı
►örnek:
• yazıcı paylaşılamaz; bir kullanıcının işi bitince diğeri
kullanabilir
• ekranda paylaşım mümkün
Giriş 1
İşletim Sistemleri 17
Görüntü
Görüntü Makina
Makina Sağlanması
Sağlanması
► donanımın kullanılabilir hale getirilmesi
► kullanıcı tek başına kullanıyormuş gibi
– kaynak paylaşımı kullanıcıya şeffaf
► görüntü makinanın özellikleri fiziksel makinadan farklı olabilir:
– G/Ç
Giriş 1
– bellek
– dosya sistemi
– koruma ve hata kotarma
– program etkileşimi
– program denetimi
İşletim Sistemleri 18
Görüntü
Görüntü Makina
Makina Sağlanması
Sağlanması
►G/Ç
– donanıma yakın programlama gerekir
– işletim sistemi kullanımı kolaylaştırır
• aygıt sürücüler
Giriş 1
İşletim Sistemleri 19
Görüntü
Görüntü Makina
Makina Sağlanması
Sağlanması
►Bellek
– fiziksel bellekten farklı kapasitede görüntü makina
• disk de kullanılarak daha büyük
• kullanıcılar arasında paylaştırılarak daha küçük
Giriş 1
İşletim Sistemleri 20
Görüntü
Görüntü Makina
Makina Sağlanması
Sağlanması
fiziksel bellek
0
0
300 :
:
Giriş 1
adres A
Kullanıcı A’ya
300’ler aynı adres değil! ayrılan bellek bölgesi
her kullanıcı için kendi
başlangıç (0) adresinden
:
kayıklığı (offset) gösterir :
0
:
300 adres B
Kullanıcı B’ye :
ayrılan bellek bölgesi
:
İşletim Sistemleri 21
Görüntü
Görüntü Makina
Makina Sağlanması
Sağlanması
►Dosya sistemi
– program ve verilerin uzun vadeli saklanması için
– disk üzerinde
– bilgilere erişimde fiziksel adresler yerine simgeler kullanımı
Giriş 1
• isimlendirme
– UNIX işletim sisteminde herşey dosya
İşletim Sistemleri 22
Görüntü
Görüntü Makina
Makina Sağlanması
Sağlanması
►Koruma ve hata kotarma
– çok kullanıcılı sistemlerde kullanıcıların birbirlerinin
hatalarından etkilenmemesi
Giriş 1
İşletim Sistemleri 23
Görüntü
Görüntü Makina
Makina Sağlanması
Sağlanması
►Program etkileşimi
– çalışma anında programların etkileşmesi
• örneğin birinin ürettiği çıkış diğerine giriş verisi olabilir
Giriş 1
İşletim Sistemleri 24
Görüntü
Görüntü Makina
Makina Sağlanması
Sağlanması
►Program denetimi
– kullanıcıya yüksek düzeyli bir komut kümesi
• kabuk (shell) komutları
– kabuk: komut yorumlayıcı
Giriş 1
İşletim Sistemleri 25
İşletim
İşletim Sistemi
Sistemi Türleri
Türleri
İşletim Sistemleri 26
Anaçatı İşletim
Anaçatı İşletim Sistemleri
Sistemleri
İşletim Sistemleri 27
Sunucu İşletim
Sunucu İşletim Sistemleri
Sistemleri
► sunucular üzerinde çalışır
– büyük kaynak kapasiteli kişisel bilgisayarlar
– iş istasyonları
– anaçatı sistemler
Giriş 1
İşletim Sistemleri 28
Çok İşlemcili
Çok İşlemcili İşletim
İşletim Sistemleri
Sistemleri
► birden fazla işlemcili bilgisayar sistemleri
► işlem gücünü arttırma
► işlemcilerin bağlantı türüne göre:
– paralel sistemler
– birbirine bağlı, birden fazla bilgisayardan oluşan sistemler
Giriş 1
İşletim Sistemleri 29
Kişisel Bilgisayar İşletim
Kişisel Bilgisayar İşletim Sistemleri
Sistemleri
►kullanıcıya etkin ve kolay kullanılır bir arayüz sunma
amaçlı
►genellikle ofis uygulamalarına yönelik
►örnek:
Giriş 1
İşletim Sistemleri 30
Gerçek Zamanlı İşletim
Gerçek Zamanlı İşletim Sistemleri
Sistemleri
► zaman kısıtları önem kazanır
► endüstriyel kontrol sistemleri
– toplanan verilerin sisteme verilerek bir yanıt üretilmesi (geri-besleme)
► iki tip:
– katı-gerçek-zamanlı (hard real-time)
Giriş 1
İşletim Sistemleri 31
Gömülü İşletim
Gömülü İşletim Sistemleri
Sistemleri
►avuç-içi bilgisayarlar ve gömülü sistemler
►kısıtlı işlevler
►özel amaçlı
Giriş 1
İşletim Sistemleri 32
Akıllı-Kart İşletim
Akıllı-Kart İşletim Sistemleri
Sistemleri
► en küçük işletim sistemi türü
► kredi kartı boyutlarında, üzerinde işlemci olan kartlar üzerinde
► çok sıkı işlemci ve bellek kısıtları var
► bazıları tek işleve yönelik (örneğin elektronik ödemeler)
► bazıları birden fazla işlev içerebilir
Giriş 1
İşletim Sistemleri 33
Temel İşletim
Temel İşletim Sistemi
Sistemi Yapıları
Yapıları
►Monolitik
►Katmanlı
►Sanal Makinalar
Giriş 1
►Dış-çekirdek (exo-kernel)
►Sunucu-İstemci Modeli
►Modüler
İşletim Sistemleri 34
Monolitik İşletim
Monolitik İşletim Sistemleri
Sistemleri
►genel bir yapı yok
►işlevlerin tamamı işletim sistemi içinde
►işlevleri gerçekleyen tüm prosedürler
Giriş 1
– aynı seviyede
– birbirleri ile etkileşimli çalışabilir
►büyük
İşletim Sistemleri 35
Modüler Çekirdekli İşletim
Modüler Çekirdekli İşletim Sistemleri
Sistemleri
►çekirdek minimal
►servisler gerektikçe çalışma anında modül olarak
çekirdeğe eklenir
Giriş 1
İşletim Sistemleri 36
Katmanlı Yapılı İşletim
Katmanlı Yapılı İşletim Sistemleri
Sistemleri
►işletim sistemi katmanlı
– hiyerarşik
►örnek: THE işletim sistemi
Giriş 1
5 operatör
• katman 0 işlemciyi prosesler arası paylaştrır
4 kullanıcı programları (iş sıralama)
• katman 1 bellek yönetimini yapar (bellek ve
3 G/Ç yönetimi tambur arası)
• ...
2 operatör-proses iletişimi
Her katman altındakinin yaptıklarıyla ilgilenmez.
Örnek: 2. katmandaki işlemler için prosesin
1 bellek ve tambur yönetimi
bellek veya tamburda olması önemli değil.
0 işlemci paylaştırma ve çoklu-programlama
İşletim Sistemleri 37
Sanal
Sanal Makina
Makina
►VM/370 - VM donanım üzerinde koşar
- çoklu programlama yapar
- birden fazla sanal makina sunar
- sanal makinaların her biri donanımın
birebir kopyası
- her sanal makinada farklı işletim sistemi
olabilir
Giriş 1
sanal 370’ler
sistem çağrıları
trap VM/370
370 donanımı
İşletim Sistemleri 38
Dış-Çekirdek
Dış-Çekirdek (Exo-Kernel)
(Exo-Kernel)
► MIT’de geliştirilmiş
► sanal makina benzeri
• sistemin bir kopyasını sunar
• fark: her sanal makinaya kaynakların birer alt kümesini tahsis eder
Giriş 1
İşletim Sistemleri 39
Sunucu-İstemci
Sunucu-İstemci Modeli
Modeli
►çekirdek minimal (mikro-çekirdek)
►işletim sisteminin çoğu kullanıcı modunda
►sunumcular ve istemci prosesler var
– örneğin dosya okuma işlemi
Giriş 1
İşletim Sistemleri 40
Sunucu-İstemci
Sunucu-İstemci Modeli
Modeli
– terminal sunucusu
– bellek sunucusu
► işletim sisemi alt birimlerden oluştuğundan:
– yönetimi kolay
– bir birimdeki hata tüm sistemi çökertmez (birimler donanıma doğrudan ulaşamaz)
– gerçeklemede sorunlar: özellikle G/Ç aygıtlarının yönetiminin tamamen kullanıcı
düzeyinde yapılması mümkün değil
► dağıtık sistemlerde kullanılmaya çok elverişli yapı
İşletim Sistemleri 41
Sunucu-İstemci
Sunucu-İstemci Modeli
Modeli
çekirdek modu
Mikro-çekirdek
İşletim Sistemleri 42