İş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.


http://www.tdk.com.tr/images_buyuk/f67/Algoritma-Gelistirme-ve-Veri-Yap_5767_1.jpg         


İÇİ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


Kitaplarımızın tüm listesi için buraya tıklayınız.


Papatya Bilim Üniversite Ders Kitapları, Akademik Kitaplar, Bilimsel Kitaplar