|
İşletim Sistemleri Editör: Prof. Dr. Vedat COŞKUN
~Bölüm Yazarları~ Büşra ÖZDENİZCİ KÖSE, Ziya Cihan TAYŞİ, A. Gökhan YAVUZ, Ömer ÇETİN Toros Rifat ÇÖLKESEN, Cengiz UĞURKAYA, Osman ALİEFENDİOĞLU Abdül Halim ZAİM, Selim BAYRAKLI, Mehmet Sıddık AKTAŞ, Aytuğ BOYACI
"farkımız, kitaplarımızda"
Üniversite öğrencileri için...
ISBN: 978-605-9594-72-1, 356 sayfa 10 Ekim 2020, (16,5x24 cm2), 1. hamur kitap kağıdı. |
İşletim Sistemleri dersi için ciddi bir kaynak niteliğindedir. Şimdi sipariş ver Bu kitap, bilgisayar donanımını canlandırarak işlevsel duruma getiren “işletim sistemleri” konusu üzerinedir; bilindiği gibi işletim sistemleri bilgisayar mühendisliği alanında çok önemli ve çok özel bir yere sahiptir. Hem sistem kaynaklarının adil bir şekilde paylaşılarak kullanılmasını sağlarlar hem de sistem çağrıları denilen fonksiyonlarıyla program tasarımcılarına hazır kütüphane desteği verirler. Başarımı yüksek, verimli, kesintisiz çalışabilen sistemler için ve sağlıklı yazılım tasarımları geliştirebilmek için işletim sistemlerine ait konuları iyice bilinmelidir. Kitabımızda; işletim sistemleri konusuna kısaca bir bakış yapıldıktan sonra, sırası ile İşlemci Yönetimi (İşlemci Zaman Çizelgelemesi), Proses Yönetimi, Zamandaşlık (Karşılıklı Dışlama, Senkronizasyon, Ölümcül Kilitlenme), Bellek Yönetimi, Saklama (Depolama) Yönetimi, İşletim Sistemlerinin Ağ Bileşenleri, Dağıtık İşletim Sistemleri ve Yaygın Kullanımdaki İşletim Sistemleri konuları ele alınmıştır. Böylesi bir eser hem bilgisayar mühendisliği profesyonelleri hem de ilgili bölümlerde okuyan öğrenciler için iyi bir başvuru kitabıdır. Tüm bölümleri üniversitelerde ilgili dersi veren öğretim üyelerince yazılmış olan bu kitap, özellikle “İşletim Sistemi” dersi içeriği dikkate alınarak hazırlanmıştır. İÇİNDEKİLER Önsöz Bölüm 1. İşletim Sistemlerine Giriş: Tanımlar ve Temel Kavramlar Büşra ÖZDENİZCİ KÖSE 1.1. Bilgisayarlar ve İşletim Sistemleri 15 1.2. İşletim Sistemi Servisleri 18 1.3. İşletim Sistemlerinin Gelişimi 22 1.3.1. Birinci Nesil İşletim Sistemleri 22 1.3.2. İkinci Nesil İşletim Sistemleri 23 1.3.3. Üçüncü Nesil İşletim Sistemleri 24 1.3.4. Dördüncü Nesil İşletim Sistemleri 26 1.4. İşletim Sistemi Yapısı 29 1.4.1. Kabuk 31 1.4.1.1. Kullanıcı-Kabuk Etkileşimi 31 1.4.1.2. Uygulama Programları-Kabuk Etkileşimi 34 1.4.2. Sistem Çağrıları Arayüzü 34 1.4.3. Çekirdek 35 1.5. İşletim Sistemi Mimarileri 35 1.5.1. Monolitik İşletim Sistemi Mimarisi 36 1.5.2. Katmanlı İşletim Sistemi Mimarisi 37 1.5.3. Mikro Çekirdek İşletim Sistemi Mimarisi 38 1.5.4. Modüler İşletim Sistemi Mimarisi 40 1.5.5. Hibrid İşletim Sistemi Mimarisi 41 1.6. Popüler İşletim Sistemi Örnekleri 41 1.6.1. Microsoft: MS-DOS ve Windows 41 1.6.2. Unix 42 1.6.3. Linux 43 1.6.4. Apple: Macintosh ve iOS 43 1.6.5. Android 45 1.7. Özet 46
Bölüm 2. İşlem (Proses) Yönetimi: İşlem ve İşlem Parçacığı Ziya Cihan TAYŞİ 2.1. İşlem Oluşturma 52 2.1.1. İlk İşlem Oluşumu 53 2.1.2. İşlem Oluşturma 56 2.1.3. Zombie İşlem 58 2.1.4. İşlemin Gösterimi ve İlgili Veri Yapıları 59 2.2. İşlemlerarası Haberleşme 61 2.2.1. Paylaşılan Bellek Yöntemi 62 2.2.2. Mesaj Aktarımı Yönetimi 65 2.2.2.1. Mesaj Boyutu 66 2.2.2.2. Doğrudan ve Dolaylı Haberleşme 66 2.2.2.3. Senkronizasyon 67 2.2.2.4. Ara Bellek Kullanımı 68 2.2.2.5. Haberleşme Yönü 69 2.2.3. İşlemler Arası İletişim için Kullanılan İlk Mekanizmalar 69 2.2.3.1. Sinyal Mekanizması 69 2.2.3.2. Boru (Pipe) Mekanizması 71 2.2.4. İşlemler Arası İletişim Nesnelerinin Kalıcılığı 72 2.2.5. POSIX İşlemler Arası İletişim Mekanizmaları 73 2.2.5.1. Mesaj Kuyruğu Mekanizması 75 2.2.5.2. Paylaşılan Bellek Mekanizması 75 2.2.5.3. Semafor Mekanizması 76 2.3. İşlem Parçacıkları 77 2.3.1. Çoklu Çekirdekli Programlama 79 2.3.2. Çoklu Çekirdekli Programlamanın Performansa Etkisi 81 2.3.3. İşlem Parçacığı Tipleri 82 2.3.3.1. Çoktan-Teke Model 83 2.3.3.2. Tekten-Teke Model 84 2.3.3.3. Çoktan-Çoka Model 84 2.3.3.4. İki Seviyeli Model 85 2.3.4. İşlem Parçacığı Kütüphaneleri 86 2.3.4.1. Pthreads İşlem Parçacığı Kütüphanesi 87 2.3.4.2. Windows İşlem Parçacıkları 89 2.3.4.3. Java İşlem Parçacıkları 91 2.3.5. Dolaylı İşlem Parçacığı Kullanımı 92 2.3.5.1. İşlem Parçacığı Havuzları 92 2.3.5.2. OpenMP 93 2.3.5.3. Grand Central Dispatch Mekanizması 94 2.3.6. İşlem Parçacığı Kullanımı ile ilgili Özel Durumlar 95 2.3.6.1. fork() ve exec() Sistem Çağrıları 95 2.3.6.2. Sinyallerin Değerlendirilmesi 96 2.3.6.3. İşlem Parçacığının İptal Edilmesi 97 2.3.6.4. İşlem Parçacığına ait Yerel Bellek 98 2.3.6.5. Çizelgeleyici Aktivasyonu 98 2.4. Özet 100 2.5. Çalışma Soruları 101
Bölüm 3. İşlemci Yönetimi A. Gökhan YAVUZ 3.1. Bilgisayar Mimarileri 103 3.1.1. CISC Mimarisi 105 3.1.2. RISC Mimarisi 106 3.1.3. CISC ve RISC Mimarilerinin Karşılaştırılması 107 3.2. Komut İşleme Döngüsü 108 3.3. Kesme 109 3.3.1. Kesme Türleri 110 3.3.2. Kesme Döngüsü 110 3.3.3. İstisna ve Olay 113 3.3.4. Sistem Çağrıları 114 3.3.4.1. Temel Sistem Çağrıları 118 3.4. İşlemci Çizelgelemesi/Zaman Yönetimi 119 3.4.1. Kısa Vadeli Çizelgeleme Kriterleri 121 3.4.2. Kısa Vadeli Çizelgeleme Yaklaşımları 123 3.4.3. Kısa Vadeli Çizelgelemede Bağlam Anahtarlama 123 3.4.4. Kısa Vadeli Çizelgeleme Algoritmaları 124 3.4.4.1. İlk Gelen İlk Servis Edilir Çizelgeleme Algoritması 125 3.4.4.2. En Kısa İş İlk Çalıştırılır Çizelgeleme Algoritması 127 3.4.4.3. Kalan Çalışma Sür. En Kısa Olan İlk Çalıştırılır Çiz. Alg. 129 3.4.4.4. Öncelikli Çizelgeleme Algoritması 130 3.4.4.5. Çevrimsel Sıralı 132 3.4.4.6. Çok Seviyeli Kuyruk Çizelgeleme 134 3.4.4.7. Çok Seviyeli Geri Beslemeli Kuyruk Çizelgeleme 135 3.4.5. İşlem Parçacığı Çizelgeleme 137 3.4.6. Çoklu İşlemcili Sistemlerde Çizelgeleme 138 3.4.6.1. Çoklu İşlemcili Sistemlerde Çizelgeleme Yaklaşımları 139 3.4.6.2. İşlemci Yakınlığı 140 3.4.6.3. Yük Dengeleme 141 3.4.6.4. Çoklu Çekirdekli İşlemciler 142 3.5. Özet 142 3.6. Çalışma Soruları 143
Bölüm 4. İşlemlerarası Etkileşim: Karşılıklı Dışlama, Ölümcül Kilitlenme Ömer ÇETİN 4.1. Eş Zamanlılık-Zamandaşlık 147 4.2. Yarış Durumu 150 4.3. Karşılıklı Dışlama 152 4.3.1. Yazılım Desteği ile Gerçekleştirilen Karşılıklı Dışlama 154 4.3.1.1. Bayrak Değişkenleri ile KB Giriş Denetimi 154 4.3.1.2. Dekker Algoritması 156 4.3.1.3. Peterson Algoritması 158 4.3.2. Donanım Desteği ile Gerçekleştirilen Karşılıklı Dışlama 159 4.3.3. Yazılım ve Donanım Desteği ile Gerçekleştirilen Karşılıklı Dışlama Yaklaşımları 160 4.4. Senkronizasyon 163 4.5. Ölümcül Kilitlenme 165 4.5.1. Ölümcül Kilitlenmeyi Önleme 170 4.6. Özet 182 4.7. Çalışma Soruları 182
Bölüm 5. Bellek Yönetim Birimi Toros Rifat ÇÖLKESEN 5.1. Basit Bellek Yönetimleri / Tekli-Kesintisiz 186 5.2. Bilgisayar Ana Belleğinin Düzenlenmesi 188 5.3. Bellek Yönetiminde Kullanılan Bellek Düzenlemeleri 189 5.4. Dilimli Sayfalı Bellek Düzenlemesi 190
5.5. Sanal Görüntü Bellek Mekanizması 193 5.5.1. Sayfa Değişimi ve Bilgisayar Biliminde Yöresellik 196 5.5.2. Sayfa Çıkarta Seçimi Algoritmaları 197 5.6. Çeşitli Bellek Düzenleme Yaklaşımları 199 5.6.1. Sayfalı Bellek Düzenlemesi 199 5.6.2. Dilimli Bellek Düzenlemesi 202 5.7. Özet 206 5.8. Çalışma Soruları 206
Bölüm 6. Dosyalama Sistemleri Osman ALİEFENDİOĞLU, Cengiz UĞURKAYA 6.1. Geleneksel Dosya Sistemleri ve Kullanıldığı İşletim Sistemleri 210 6.1.1. İşletim Sistemlerinde Kullanılan Dosya Sistemleri 6.2. Dağıtık Dosyalama Sistemleri 211 6.2. Dağıtık Dosyalama Sistemleri 212 6.3. Bulut Bilişim Dosyalama Sistemi 213 6.4. Disk ve Flash Bellek Yapısı 213 6.4.1. Sabit Disk Sürücüsü İç Yapısı 214 6.4.2. SSD Sürücüsü İç Yapısı 217 6.5. Dosya Sistemi İncelemeleri 219 6.5.1. Linux ext3 Dosya Sistemi 222 6.5.2. NTFS Dosya Sistemi 225 6.5.3. UNIX Dosya Sistemi 227 6.6. Özet 230 6.7. Çalışma Soruları 230
Bölüm 7. Ağ Yönetimi ve Sistemlerin Haberleşmesi Cengiz UĞURKAYA, Abdül Halim ZAİM, Selim BAYRAKLI 7.1. İşletim Sistemleri Ağ Özelliklerine Bir Bakış 232 7.2. Bilgisayar Haberleşmesi ve Bilgisayar Ağları 234 7.2.1. Bilgisayar Ağlarının Sınıflanması 234 7.2.2. OSI Başvuru Modeli 237 7.2.3. Ağ Teknolojileri 240 7.3. İnternet Teknolojisi ve TCP/IP Protokol Kümesi 241 7.3.1. IETF 241 7.3.2. TCP/IP Mimarisi ve Katmanları 242 7.3.3. Uygulama Katmanı Protokolleri 244 7.3.4. Ulaşım Katmanı Protokolleri 246 7.3.4.1. TCP - Transmission Control Protocol - 247 7.3.4.2. UDP - User Datagram Protocol - 249 7.3.5. Yönlendirme Katmanı Protokolleri: IP ve ICMP 249 7.3.6. SSL Güvenlik Mekanizması ve IPsec 252 7.4. İşletim Sistemleri Ağ Sistem Çağrıları 254 7.4.1. Kullanıcı/Sunucu Mimarisi ve API 254 7.4.2. İşletim Sistemi Çağrılarıyla Ağ Programlama Algoritması 255 7.4.3. Ağ için İşletim Sistemi Çağrıları 256 7.5. Özet 262 7.6. Çalışma Soruları 263
Bölüm 8. Dağıtık İşletim Sistemleri Mehmet Sıddık AKTAŞ 8.1. Dağıtık İşletim Sistemi ve Yararları 263 8.1.1. Kaynak Paylaşımı 265 8.1.2. Hesaplama Hızında Artış 265 8.1.3. Güvenilirlik 265 8.1.4. Haberleşme 266 8.2. Dağınık Sistemlerin Türleri 266 8.2.1. Ağ İşletim Sistemleri 267 8.2.2. Dağıtık İşletim Sistemleri 268 8.2.3. Ara-Katman Sistemleri 271 8.3. Dağıtık Sistemlerin Ağ Yapıları 271 8.3.1. Yerel Alan Ağları 272 8.3.2. Geniş Alan Ağları 273 8.4. Dağıtık Sistemlerin Haberleşme Yapısı 273 8.4.1. Adlandırma ve Ad Çözümlemesi 274 8.4.2. Yönlendirme Stratejileri 275 8.4.3. Paket Stratejiler 276 8.4.4. Bağlantı Stratejileri 276 8.5. Dağıtık Sistemlerde Ölçeklenebilirlik ve Şeffaflık 277 8.6. Sanallaşma 279 8.6.1. Sanallaşma Türleri 279 8.6.2. Hipervisör ve Hipervisör Türleri 280 8.7. Dağıtık Sistem Yazılım Mimarisi Türleri 280 8.7.1. Katmanlı Yazılım Mimarisi 280 8.7.2. Nesne Tabanlı Yazılım Mimarisi 281 8.7.3. Olay Tabanlı Yazılım Mimarisi 281 8.7.4. Paylaşılan Veri Mekanı Tabanlı Yazılım Mimarisi 281 8.8. Özet 282 8.9. Çalışma Soruları 282
Bölüm 9. Yaygın Kullanımdaki İşletim Sistemleri Aytuğ BOYACI 9.1. Eski İşletim Sistemleri ve Özellikleri 286 9.1.1. Özel Bilgisayar Sistemleri 286 9.1.2. Bilinen Eski İşletim Sistemleri ve En Önemli Özellikleri 290 9.1.2.1. ATLAS İşletim Sistemi 290 9.1.2.2. XDS-940 İşletim Sistemi 291 9.1.2.3. THE İşletim Sistemi 291 9.1.2.4. RC 4000 İşletim Sistemi 292 9.1.2.5. CTSS 293 9.1.2.6. MULTICS İşletim Sistemi 293 9.1.2.7. IBM OS/360 293 9.1.2.8. TOPS-20 294 9.1.2.9. CP/M ve MS/DOS 295 9.1.2.10. Macintosh ve Windows İşletim Sistemleri 295 9.2. Linux İşletim Sistemi ve Temel Özellikleri 296 9.2.1. Linux Tarihçesine Genel Bakış 296 9.2.1.1. Linux Çekirdeği 297 9.2.1.2. Linux Sistemi 299 9.2.1.3. Linux Dağıtımları 299 9.2.1.4. Linux Lisansı 300 9.2.2. Tasarım İlkeleri 300 9.2.2.1. Sistem Bileşenleri 301 9.2.3. Çekirdek Modülleri 303 9.2.3.1. Modül Yönetimi 304 9.2.3.2. Sürücü Kaydı 304 9.2.3.3. Çatışma Çözümü 305 9.2.4. Süreç Yönetimi 305 9.2.5. İşlem Zamanlayıcısı 305 9.2.6. Bellek Yönetimi 306 9.2.6.1. Fiziksel Bellek Yönetimi 306 9.2.6.2. Sanal Bellek 309 9.2.6.3. Kullanıcı Programlarının Yürütülmesi ve Yüklenmesi 309 9.2.7. Dosya Sistemleri 310 9.2.7.1. Sanal Dosya Sistemi 310 9.2.7.2. Linux ext3 Dosya Sistemi 310 9.2.7.3. Günlük Kayıtlar 313 9.2.8. Giriş Çıkış İşlemleri 313 9.2.9. Ağ Yapısı Özellikleri 315 9.2.10. Güvenlik 316 9.2.11. Linux İşletim Sistemi Genel Özellikleri 317 9.3. Windows 10 İşletim Sistemi ve Temel Özellikleri 318 9.3.1. Windows Tarihçesine Genel Bakış 319 9.3.2. Windows 10 İşletim Sistemi Güvenliği 323 9.3.3. Windows 10 İşletim Sisteminin Güvenilirliği 324 9.3.4. Windows 10 İşletim Sistemi ve Uygulama Uyumluluğu 325 9.3.5. Windows 10 İşletim Sisteminin Performansı 325 9.3.6. Genişleyebilirlik 326 9.3.7. Taşınabilirlik 327 9.3.8. Uluslararası Destek 327 9.3.9. Enerji Verimliliği 328 9.3 10. Sistem Bileşenleri 328 9.3.11. Windows İşletim Sistemi Genel Özellikleri Özeti 332 9.4. MacOS İşletim Sistemi ve Temel Özellikleri 333 9.4.1. MacOS Tarihçesine Genel Bakış 333 9.4.2. MacOS X İşletim Sistemi Güvenliği 337 9.4.3. MacOS X İşletim Sistemi ve Uygulama Uyumluluğu 339 9.4.4. Apple MacOS İşletim Sistemi Genel Özellikleri Özet 339 9.5. Mobil İşletim Sistemleri 340 9.5.1. Android İşletim Sistemi ve Temel Özellikleri 340 9.5.2. iOS İşletim Sistemi ve Temel Özellikleri 344
Kaynakça 349 Dizin 351
|