Işletim Sistemleri
Total Page:16
File Type:pdf, Size:1020Kb
Bilgisayar İŞLETİM SİSTEMLERİ Bilgisayar İŞLETİM SİSTEMLERİ Prof.Dr. Ali SAATÇİ Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü Genişletilmiş İkinci Baskı Ankara, 2002 DEFNE ve YUNUS'a Yazar Hakkında Dr. Ali SAATÇİ, 1950 yılında Ankara'da doğdu. Orta öğrenimini Galatasaray Lisesinde tamamladı. Fransız Hükümetinin verdiği bursla Fransa'ya gitti. Institut National des Sciences Appliquées de Lyon adlı okuldan Elektrik Yüksek Mühendisliği diploması aldı. Aynı okulda, bilgisayarlı süreç denetimi konusunda doktora çalışmalarını tamam- layarak 1980 yılında yurda döndü. 1981 yılından başlayarak Hacettepe Üniversitesi, Bilgisayar Mühendisliği Bölümünde çalışmaya başladı. Bilgisayar Yapısı, Sistem Programlama, İşletim Sistemleri, Veri İletişimi, Bilgisayar Ağları, Ağ Güvenliği, Mikroişleyiciler konularında dersler verdi. Bilgisayar Donanımı anabilim dalında 1983'te Doçent, 1989 yılında da Profesör ünvanlarını aldı. 1986-1991 yılları arasında, Hacettepe Üniversitesi, Bilgisayar Mühendisliği Bölümünde Bölüm Başkanlığı yaptı. Dr. Ali SAATÇİ, halen aynı bölümde öğretim üyeliği ve Bilgisayar Donanımı Anabilim Dalı Başkanlığı görevlerini yürütmektedir. LER İ NDEK İ Ç İ ÖNSÖZ xiii GİRİŞ 1 1.1. İşletim Sisteminin Genel Tanımı ve Konumu.........................................................2 1.2. Bilgisayar Yapısının Gösteriminde Kullanılan Model............................................4 1.3. İşin Tanımı ..............................................................................................................8 1.4. Tek İş Düzeni, Çok İş Düzeni Tanımları ................................................................9 1.5. Görev ve Çok Görevli İşlem .................................................................................12 1.6. Toplu İşlem ve Etkileşimli İşlem..........................................................................13 1.7. Gerçek Zamanlı İşlem...........................................................................................15 1.8. İşletim Sistemini Oluşturan Kesimler ...................................................................16 1.8.1. Ana İşlem Biriminin Yönetimi ..................................................................18 1.8.2. Zamanuyumlama İşlevleri .........................................................................19 1.8.3. Giriş/Çıkış Sistemi....................................................................................20 1.8.4. Ana Belleğin Yönetimi ..............................................................................20 1.8.5. Kütük Yönetimi .........................................................................................21 1.8.6 Sistem Komut Yorumlayıcısı.....................................................................22 1.9. Sistem Çağrıları.....................................................................................................24 1.10. Çok Kullanıcılı Bilgisayar Sistemi Kavramının Evrimi .......................................28 viii İŞLETİM SİSTEMLERİ GİRİŞ /ÇIKIŞ SİSTEMİ 31 2.1. Giriş/Çıkış Birimleri ............................................................................................33 2.1.1. Arabirim-Sürücü arası Bağlantı.................................................................34 2.1.2. Giriş/Çıkış Arabirimleri............................................................................38 2.2. Seçmeli Giriş/Çıkış Programlama........................................................................44 2.3. Kesilme Düzeneği.................................................................................................54 2.3.1. Kesilme Yordam Adresinin Ana Bellekten Alınması................................58 2.3.2. Kesilme Yordam Adresinin Arabirimce Sağlanması.................................59 2.3.3. Kesilme Türleri.........................................................................................65 2.3.4. 80X86 Türü İşleyicilerin Kesilme Düzeneği.............................................67 2.4. Kesilmeli Giriş/Çıkış Programlama .....................................................................70 2.4.1. Zincirleme Bağlantı Yönteminin Kullanımı..............................................72 2.4.2. Kesilme Önceliği Denetleme Biriminin Kullanımı ...................................79 2.4.3. Disket Birimi Kesilmeli G/Ç Programlama Örneği...................................83 2.5. Doğrudan Bellek Erişim Düzeneği .......................................................................88 2.5.1. Doğrudan Bellek Erişim Denetleme Birimi...............................................88 2.5.2. DBE Denetleme Düzeneği Kullanım Örneği.............................................94 2.6. Giriş /Çıkış Kanalları - Giriş /Çıkış İşleyicileri ..................................................97 GÖREV YÖNETİMİ 101 3.1. Görevin Tanımı ...................................................................................................102 3.2. Görevlerin İşletim Süresince Bulunduğu Durumlar ...........................................105 3.3. Görevlerle İlgili Sistem Çağrıları........................................................................109 3.4. Görev Yönetimi...................................................................................................113 İş Yönetimi..........................................................................................................114 Orta Dönemli Planlama.......................................................................................116 3.5. Yönetim Algoritmaları........................................................................................117 3.5.1. İlk Gelen Önce Algoritması (First Come First Served).......................120 3.5.2. En Kısa İşletim Süresi Kalan Önce (Shortest Remaining Time First) 120 3.5.3. Öncelik Tabanlı Algoritma (Priority based) .........................................121 3.5.4. Zaman Dilimli Algoritma (Time Sliced - Round Robin)......................122 3.5.5. Çok Kuyruklu Algoritma (Multi-level Queues)....................................123 3.6. İşletim Dizileri (Threads)....................................................................................125 İÇİNDEKİLER ix BİRLİKTE ÇALIŞAN GÖREVLER 127 4.1. Koşut İşlem ve Görevler arası Etkileşim ............................................................128 4.2. Görevler arası Zamanuyumlama.........................................................................132 4.2.1. Özel Donanım Desteği Gerektirmeyen Yöntemler..................................132 4.2.2. Donanım Desteği Gerektiren Alt Düzey Araçlar.....................................137 4.2.3. Üst Düzey Zamanuyumlama Araçları .....................................................149 4.3. Görevler arası Kilitlenme....................................................................................158 4.3.1. Kilitlenmenin Tanımı...............................................................................158 4.3.2. Kilitlenmelerden Korunma ......................................................................160 4.3.3. Kilitlenmelerden Sakınma .......................................................................162 4.3.4. Kilitlenmelerin Yakalanması ve Ortadan Kaldırılması ...........................163 ANA BELLEK YÖNETİMİ 165 5.1. Tek ve Bitişken Bellek Yönetimi........................................................................168 5.2. Değişmez Bölümlü Bellek Yönetimi ..................................................................170 5.3. Değişken Bölümlü Bellek Yönetimi ...................................................................173 Ana Belleğin Parçalanması Sorunu.....................................................................175 Bitiştirme.............................................................................................................176 5.4. Yerideğişir Bölümlü Bellek Yönetimi ................................................................178 Diske Taşıma (Swapping) ...................................................................................180 5.5. Sayfalı Bellek Yönetimi......................................................................................182 Görevlerin Adres Evreninin Kesişmesi, Sayfa Paylaşımı...................................187 5.6. Kesimli Bellek Yönetimi ....................................................................................189 5.7. Sayfalı Görüntü Bellek Yönetimi .......................................................................196 Sayfa Çıkarma Algoritmaları ..............................................................................200 Görevlere Sayfa Atama Politikaları ....................................................................202 5.8. Kesimli Görüntü Bellek Yönetimi ......................................................................205 5.9. Kesimli - Sayfalı Görüntü Bellek Yönetimi .......................................................207 KÜTÜK YÖNETİMİ 213 6.1. Kavramsal Kütük İşlemleri .................................................................................216 6.1.1. Sistem Komutlarıyla Gerçekleştirilen Kavramsal İşlemler .....................216 6.1.2. Sistem Çağrılarıyla Gerçekleştirilen Kavramsal İşlemler .......................220 6.1.3. Kütüklerle ilgili kimi Örnek MS-DOS Sistem Çağrıları.........................223 6.2. Diskin Fiziksel Yapısı.........................................................................................228 x İŞLETİM SİSTEMLERİ 6.3. Kütük Yönetim Sisteminin Ele Alınışı ...............................................................231 6.3.1. Kılavuz Kütüklerin Ele Alınışı