isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İtÜ, computer engineering department, 1995 ......
TRANSCRIPT
![Page 1: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/1.jpg)
1İşletim SistemleriCopyCopyleftleft ©© 2200005,20065,2006 Version Version 00..00..88
İşletim SistemleriBinnur Kurt
İİstanbul Teknik stanbul Teknik ÜÜniversitesiniversitesiBilgisayar MBilgisayar Müühendislihendisliğği Bi Bööllüümmüü
![Page 2: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/2.jpg)
2
About the LecturerAbout the 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
![Page 3: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/3.jpg)
3
Önemli BilgilerÖnemli Bilgiler
Dersin
Gün ve Saati
• 18:30-21:30 Cuma
Adresi
• http://www.cs.itu.edu.tr/~kurt/Courses/os
E-posta
![Page 4: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/4.jpg)
4
NotlandırmaNotlandırma
3 Ödev (30%)
Yıliçi Sınavı (30%)
Final Sınavı (40%)
![Page 5: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/5.jpg)
5
KaynakçaKaynakça
![Page 6: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/6.jpg)
6İşletim Sistemleri
Tell me and I forget. Show me and I remember. Let me do and I understand.
—Chinese Proverb
![Page 7: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/7.jpg)
7İşletim Sistemleri
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. Dosya Sistemi
İçerikİçerik
![Page 8: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/8.jpg)
GGİİRRİŞİŞ1
![Page 9: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/9.jpg)
İşletim Sistemleri 9
Gir
iş1İşletim Sistemiİşletim Sistemi
►donanımı kullanılabilir yapan yazılım– bilgisayar kaynaklarını:
• denetler,
• paylaştırır►üzerinde program geliştirme ve çalıştırma ortamı
►çekirdek (kernel) = işletim sistemi
![Page 10: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/10.jpg)
İşletim Sistemleri 10
Gir
iş1
Bilgisayar SistemiBilgisayar Sistemi
donanım
mikroprogram (ROM’da)
makina dilinde programlar
işletim sistemi
derleyici editör komut yorumlayıcı
uygulama programları
donanım
sistem yazılımları
![Page 11: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/11.jpg)
İşletim Sistemleri 11
Gir
iş1İşletim Sistemiİşletim 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
►kullanıcı ve donanım arasında arayüz
– sistem çağrıları
![Page 12: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/12.jpg)
İşletim Sistemleri 12
Gir
iş1
Sistem ÇağrılarıSistem Ç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
►kullanıcı program kütüphane rutinini kullanır
![Page 13: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/13.jpg)
İşletim Sistemleri 13
Gir
iş1
İşletim Sisteminin Temel Görevleriİşletim Sisteminin Temel Görevleri
►kaynak paylaşımı
►görüntü makina sağlanması
![Page 14: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/14.jpg)
İşletim Sistemleri 14
Gir
iş1
Kaynak PaylaşımıKaynak Paylaşımı
►kullanıcılar arasında paylaşım►güvenlik
– kullanıcıları birbirinden yalıtır
►paylaşılan kaynaklar:
– işlemci
– bellek
– G / Ç birimleri
– veriler
![Page 15: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/15.jpg)
İşletim Sistemleri 15
Gir
iş1
Kaynak PaylaşımıKaynak Paylaşımı
►amaçlar:
– kaynakların kullanım oranını yükseltmek (utilization)
– bilgisayar sisteminin kullanılabilirliğini arttırmak (availability)
![Page 16: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/16.jpg)
İşletim Sistemleri 16
Gir
iş1
Kaynak PaylaşımıKaynak 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• kaynaklar için yarışı önlemek• birbirini dışlayan kullanım
– kullanıcıların veri paylaşımını sağlamak (paylaşılan bellek bölgeleri)
– kaynak paylaşımının sıralanması (scheduling)– G/Ç işlemlerinin düzenlenmesi– hata durumlarından geri dönüş
![Page 17: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/17.jpg)
İşletim Sistemleri 17
Gir
iş1
Kaynak PaylaşımıKaynak Paylaşımı
►örnek:
• yazıcı paylaşılamaz; bir kullanıcının işi bitince diğeri kullanabilir
• ekranda paylaşım mümkün
![Page 18: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/18.jpg)
İşletim Sistemleri 18
Gir
iş1
Görüntü Makina SağlanmasıGörüntü Makina 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/Ç– bellek– dosya sistemi– koruma ve hata kotarma– program etkileşimi– program denetimi
![Page 19: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/19.jpg)
İşletim Sistemleri 19
Gir
iş1
Görüntü Makina SağlanmasıGörüntü Makina Sağlanması
►G/Ç
– donanıma yakın programlama gerekir
– işletim sistemi kullanımı kolaylaştırır• aygıt sürücüler
– örnek: diskten / disketten okuma
![Page 20: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/20.jpg)
İşletim Sistemleri 20
Gir
iş1
Görüntü Makina SağlanmasıGörüntü Makina 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
– her kullanıcı kendine ayrılan bellek alanını görür
![Page 21: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/21.jpg)
İşletim Sistemleri 21
Gir
iş1
Görüntü Makina SağlanmasıGörüntü Makina Sağlanması
:::
fiziksel bellek
::
::
adres A
adres B
00
0
Kullanıcı A’yaayrılan bellek bölgesi
Kullanıcı B’yeayrılan bellek bölgesi
300
300
300’ler aynı adres değil!her kullanıcı için kendi başlangıç (0) adresindenkayıklığı (offset) gösterir
![Page 22: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/22.jpg)
İşletim Sistemleri 22
Gir
iş1
Görüntü Makina SağlanmasıGörüntü Makina Sağlanması
►Dosya sistemi– program ve verilerin uzun vadeli saklanması için
– disk üzerinde
– bilgilere erişimde fiziksel adresler yerine simgeler kullanımı
• isimlendirme
– UNIX işletim sisteminde herşey dosya
![Page 23: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/23.jpg)
İşletim Sistemleri 23
Gir
iş1
Görüntü Makina SağlanmasıGörüntü Makina Sağlanması
►Koruma ve hata kotarma– çok kullanıcılı sistemlerde kullanıcıların birbirlerinin
hatalarından etkilenmemesi
![Page 24: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/24.jpg)
İşletim Sistemleri 24
Gir
iş1
Görüntü Makina SağlanmasıGörüntü Makina Sağlanması
►Program etkileşimi– çalışma anında programların etkileşmesi
• örneğin birinin ürettiği çıkış diğerine giriş verisi olabilir
![Page 25: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/25.jpg)
İşletim Sistemleri 25
Gir
iş1
Görüntü Makina SağlanmasıGörüntü Makina Sağlanması
►Program denetimi– kullanıcıya yüksek düzeyli bir komut kümesi
• kabuk (shell) komutları
– kabuk: komut yorumlayıcı
– kabuk işletim sistemi içinde değil
– ama sistem çağrılarını yoğun kullanır
![Page 26: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/26.jpg)
İşletim Sistemleri 26
Gir
iş1
İşletim Sistemi Türleriİşletim Sistemi Türleri
►Anaçatı işletim sistemleri (mainframe)
►Sunucu (server) işletim sistemleri
►Çok işlemcili işletim sistemleri
►Kişisel bilgisayar işletim sistemleri
►Gerçek zamanlı (real-time) işletim sistemleri
►Gömülü (embedded) işletim sistemleri
►Akıllı-kart (smart card) işletim sistemleri
![Page 27: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/27.jpg)
İşletim Sistemleri 27
Gir
iş1
Anaçatı İşletim SistemleriAnaçatı İşletim Sistemleri►yoğun G/Ç işlemi gerektiren çok sayıda görev çalıştırmaya yönelik►üç temel hizmet:
– batch modda çalışma• etkileşimsiz, rutin işler• örneğin bir sigorta şirketindeki sigorta tazminatı isteklerinin
işlenmesi– birim-iş (transaction) işleme
• çok sayıda küçük birimler halinde gelen isteklere yanıt• örneğin havayollarında rezervasyon sistemi
– zaman paylaşımlı çalışma• birden fazla uzaktan bağlı kullanıcının sistemde iş
çalıştırması– örnek: veri tabanı sorgulaması
– Örnek: IBM System z9™
![Page 28: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/28.jpg)
İşletim Sistemleri 28
Gir
iş1
Sunucu İşletim SistemleriSunucu İşletim Sistemleri
►sunucular üzerinde çalışır– büyük kaynak kapasiteli kişisel bilgisayarlar
– iş istasyonları
– anaçatı sistemler
►bilgisayar ağı üzerinden çok sayıda kullanıcıya hizmet
– donanım ve yazılım paylaştırma
– örneğin: yazıcı hizmeti, dosya paylaştırma, web erişimi
►örnek: UNIX, Windows 2000
![Page 29: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/29.jpg)
İşletim Sistemleri 29
Gir
iş1
Çok İşlemcili İşletim Sistemleri Çok İşlemcili İşletim 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– çok işlemcili sistemler
►özel işletim sistemi gerek– temelde sunucu işletim sistemlerine benzer tasarım
hedefleri– işlemciler arası bağlaşım ve iletişim için ek özellikler
![Page 30: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/30.jpg)
İşletim Sistemleri 30
Gir
iş1
Kişisel Bilgisayar İşletim Sistemleri Kişisel Bilgisayar İşletim Sistemleri
►kullanıcıya etkin ve kolay kullanılır bir arayüz sunma amaçlı
►genellikle ofis uygulamalarına yönelik
►örnek:
– Windows 98, 2000, XP
– Macintosh
– Linux
![Page 31: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/31.jpg)
İşletim Sistemleri 31
Gir
iş1
Gerçek Zamanlı İşletim Sistemleri Gerçek Zamanlı İşletim 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)
• zaman kısıtlarına uyulması zorunlu• örneğin: araba üretim bandındaki üretim robotları
– gevşek-gerçek-zamanlı (soft-real-time)• bazı zaman kısıtlarına uyulmaması mümkün• örneğin: çoğulortam sistemleri
►örnek: VxWorks ve QNX
![Page 32: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/32.jpg)
İşletim Sistemleri 32
Gir
iş1
Gömülü İşletim Sistemleri Gömülü İşletim Sistemleri
►avuç-içi bilgisayarlar ve gömülü sistemler
►kısıtlı işlevler
►özel amaçlı
►örneğin: TV, mikrodalga fırın, cep telefonları, ...
►bazı sistemlerde boyut, bellek ve güç harcama kısıtları var
►örnek: PalmOS, Windows CE, Windows Mobile
![Page 33: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/33.jpg)
İşletim Sistemleri 33
Gir
iş1
Akıllı-Kart İşletim Sistemleri Akıllı-Kart İşletim 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►çoğunlukla özel firmalar tarafından geliştirilen özel sistemler►bazıları JAVA tabanlı (JVM var)
– küçük JAVA programları (applet) yüklenip çalıştırılır– bazı kartlar birden fazla program (applet) çalıştırabilir
• çoklu-programlama, iş sıralama ve kaynak yönetimi ve koruması
![Page 34: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/34.jpg)
İşletim Sistemleri 34
Gir
iş1
Temel İşletim Sistemi YapılarıTemel İşletim Sistemi Yapıları
►Monolitik
►Katmanlı
►Sanal Makinalar
►Dış-çekirdek (exo-kernel)
►Sunucu-İstemci Modeli
►Modüler
![Page 35: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/35.jpg)
İşletim Sistemleri 35
Gir
iş1
Monolitik İşletim SistemleriMonolitik İşletim Sistemleri
►genel bir yapı yok
►işlevlerin tamamı işletim sistemi içinde
►işlevleri gerçekleyen tüm prosedürler
– aynı seviyede
– birbirleri ile etkileşimli çalışabilir
►büyük
![Page 36: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/36.jpg)
İşletim Sistemleri 36
Gir
iş1
Modüler Çekirdekli İşletim SistemleriModüler Çekirdekli İşletim Sistemleri
►çekirdek minimal
►servisler gerektikçe çalışma anında modül olarak çekirdeğe eklenir
– örneğin aygıt sürücüler
►küçük çekirdek yapısı
►daha yavaş►örnek: LINUX
![Page 37: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/37.jpg)
İşletim Sistemleri 37
Gir
iş1
Katmanlı Yapılı İşletim SistemleriKatmanlı Yapılı İşletim Sistemleri
►işletim sistemi katmanlı
– hiyerarşik►örnek: THE işletim sistemi
0
5
4
3
2
1
işlemci paylaştırma ve çoklu-programlama
bellek ve tambur yönetimi
operatör-proses iletişimi
G/Ç yönetimi
kullanıcı programları
operatör • katman 0 işlemciyi prosesler arası paylaştrır(iş sıralama)
• katman 1 bellek yönetimini yapar (bellek ve tambur arası)• ...
Her katman altındakinin yaptıklarıyla ilgilenmez.Örnek: 2. katmandaki işlemler için prosesin bellek veya tamburda olması önemli değil.
![Page 38: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/38.jpg)
İşletim Sistemleri 38
Gir
iş1Sanal MakinaSanal Makina
►VM/370
370 donanımı
VM/370
CMS OS/360 CMS
sanal 370’ler
sistem çağrıları
trapG/Ç komutları
trap
- 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
![Page 39: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/39.jpg)
İşletim Sistemleri 39
Gir
iş1
JAVA Applets
JAVA VIRTUAL MACHINE
Windows 2000 or Solaris
The Java Virtual Machine allows Java code to be
portable between various hardware and OS
platforms.
Sanal MakinaSanal Makina
![Page 40: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/40.jpg)
İşletim Sistemleri 40
Gir
iş1
Dış-Çekirdek (Exo-Kernel)Dış-Çekirdek (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– dönüşüm gerekmez; her makinaya ayrılan
kaynakların başı-sonu belli►dış çekirdek var
– görevi: sanal makinaların kendilerine ayrılan kaynaklar dışına çıkmamasını kontrol eder
►her sanal makinada farklı işletim sistemi olabilir
![Page 41: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/41.jpg)
İşletim Sistemleri 41
Gir
iş1
Sunucu-İstemci ModeliSunucu-İstemci Modeli
►çekirdek minimal (mikro-çekirdek)►işletim sisteminin çoğu kullanıcı modunda►sunucu ve istemci prosesler var
– örneğin dosya okuma işlemi• istemci proses sunucudan ister• sunucu işlemi yürütür• yanıtı istemciye verir
►çekirdek sunucu ve istemciler arası iletişimi yönetir
![Page 42: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/42.jpg)
İşletim Sistemleri 42
Gir
iş1
Sunucu-İstemci ModeliSunucu-İstemci Modeli
► sunucular kullanıcı modunda– dosya sunucusu– proses sunucusu– terminal sunucusu– bellek sunucusu
► işletim sistemi 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ı
![Page 43: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/43.jpg)
İşletim Sistemleri 43
Gir
iş1
Sunucu-İstemci ModeliSunucu-İstemci Modeli
............ ...................istemciproses
istemciproses
prosessunucusu
terminalsunucusu
dosyasunucusu
belleksunucusu
Mikro-çekirdek
kullanıcı modu
çekirdek modu
![Page 44: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/44.jpg)
UYGULAMAUYGULAMABu ders kapsamında tüm uygulamalarımızıRedHat Enterprise Linux (RHEL) 4.0 üzerinde yapacağız.
![Page 45: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/45.jpg)
İşletim Sistemleri 45
Gir
iş1
Brief History of LinuxBrief History of Linux
►began with this post to the Usenet newsgroup comp.os.minix, in August, 1991Hello everybody out there using minix-
I’m doing a (free) operating system (just a
hobby, won’t be big and professional like
gnu) for 386(486) AT clones.
►written by a Finnish college student: Linus Torvalds
►Version 1.0 of the kernel was released on March 14, 1994.
►Version 2.x, the current stable kernel release, was officially released on ????, 2006.
![Page 46: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/46.jpg)
İşletim Sistemleri 46
Gir
iş1
GNU/Linux and UnixGNU/Linux and Unix
►GNU/Linux is not UNIX.
►UNIX is a registered trademark
►Linux is a UNIX clone
►All of the kernel code was written from scratch by LinusTorvalds and et al, ⇒ Linux
►Many programs that run under Linux were also written from scratch, or were simply ports of software mostly from UNIX ⇒ GNU Project
[GNU is a recursive acronym: “GNU’s Not UNIX”]
►Powerful combination: the Linux kernel and software from the GNU Project; often called “Linux” for short
![Page 47: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/47.jpg)
İşletim Sistemleri 47
Gir
iş1
Programming LinuxProgramming Linux
►Linux is a POSIX operating system.
►POSIX is a family of standards developed by IEEE
►POSIX defines a portable operating system interface.
►What makes Linux such a high quality UNIX clone
![Page 48: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/48.jpg)
İşletim Sistemleri 48
Gir
iş1
Supported Programming StandardsSupported Programming Standards
![Page 49: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/49.jpg)
İşletim Sistemleri 49
Gir
iş1
System Calls and Library CallsSystem Calls and Library Calls
![Page 50: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/50.jpg)
İşletim Sistemleri 50
Gir
iş1
Making a System CallMaking a System Call
mytime.cmytime.c1. #include <sys/types.h>2. #include <time.h>3. #include <stdio.h>4. main() {5. /* Declare an object and pass its address */6. time_t t;7. time(&t);8. printf(“Machine time in seconds = %d\n”, t);9. }
![Page 51: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/51.jpg)
İşletim Sistemleri 51
Gir
iş1
Making a System CallMaking a System Call
badtime.cbadtime.c1. #include <sys/types.h>2. #include <time.h>3. #include <stdio.h>4. main() {5. /* Declare apointer variable only*/6. time_t *tptr;7. time(tptr);8. printf(“Machine time in seconds = %d\n”, *tptr);9. }
![Page 52: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/52.jpg)
İşletim Sistemleri 52
Gir
iş1
Making a Library CallMaking a Library Call1. #include <sys/types.h>2. #include <time.h>3. #include <stdio.h>4. #include <string.h>5. #include <unistd.h>6. main() {7. time_t t;8. char then[30];9. char *now;10. time(&t);11. /* ctime() put the current time into static space */12. now = ctime(&t);13. /* Copy the data into a new space */
mylibcall.cmylibcall.c
![Page 53: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/53.jpg)
İşletim Sistemleri 53
Gir
iş1
Making a Library CallMaking a Library Call
14. strcpy(then, now);
15. /* Let time pass for one minute */
16. sleep(60);
17. time(&t);
18. /* ctime() puts new time into old static space */
19. now = ctime(&t);
20. printf(“%s%s”, then, now);
21. }
![Page 54: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/54.jpg)
İşletim Sistemleri 54
Gir
iş1
Making a Library CallMaking a Library Call
1. #include <sys/types.h>2. #include <time.h>3. #include <stdio.h>4. main() {5. time_t t;6. char *then;7. char *now;8. time(&t);9. /* ctime() put the current time into static space */10. then = ctime(&t);11. /* Let time pass for one minute */12. sleep(60);
![Page 55: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/55.jpg)
İşletim Sistemleri 55
Gir
iş1
Making a Library CallMaking a Library Call
13. time(&t);
14. /* ctime() puts new time into same space */
15. now = ctime(&t);
16. /* then and now point to the same space */
17. printf(“%s%s”, then, now);
18. }
![Page 56: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/56.jpg)
İşletim Sistemleri 56
Gir
iş1
Error HandlingError Handling
1. #include <sys/types.h>
2. #include <unistd.h>
3. #include <stdio.h>
4. void perror();
5. main() {
6. if (setuid(23) == -1) {
7. perror(“Setuid failure”);
8. }
9. }
![Page 57: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/57.jpg)
İşletim Sistemleri 57
Gir
iş1
Error HandlingError Handling1. #include <errno.h>2. #include <string.h>3. #include <stdio.h>4. #include <fcntl.h>5. #define NAMESIZZE 206. main() {7. char filename[NAMESIZE];8. int fd;9. gets(filename)10. if ((fd = open(filename, O_RDWR)) == -1) {11. fprintf (stderr, “Error opening %s: %s\n”,12. filename, strerror(errno));13. exit (errno);14. } 15. }
![Page 58: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/58.jpg)
İşletim Sistemleri 58
Gir
iş1
System Calls Compared With Library CallsSystem Calls Compared With Library Calls
![Page 59: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/59.jpg)
PROSESLERPROSESLER2
![Page 60: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/60.jpg)
60
Pros
esle
r2
İşletim Sistemleri
ProsesProses
►Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi ⇒ Programın koşmakta olan hali
►Aynı programa ilişkin birden fazla proses olabilir.
►Görev (Task) de denir
►Text, veri ve yığın alanları vardır.
![Page 61: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/61.jpg)
61
Pros
esle
r2
İşletim Sistemleri
ProsesProses
►Bazı sistem çağrıları ile sistem kaynaklarını kullanırlar.
►Birbirleri ve dış dünya ile haberleşirler.
►Davranışını karakterize edebilmek için proses içinyürütülen komutların sırası gözlenebilir: prosesin izi(trace)
►Prosesin ömrü: yaratılması ve sonlanması arasında geçensüre
![Page 62: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/62.jpg)
62
Pros
esle
r2
İşletim Sistemleri
![Page 63: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/63.jpg)
63
Pros
esle
r2
İşletim Sistemleri
![Page 64: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/64.jpg)
64
Pros
esle
r2
İşletim Sistemleri
![Page 65: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/65.jpg)
65
Pros
esle
r2
İşletim Sistemleri
ProsesProses
►Proseslerin işlemciye sahip olma sıraları kestirilemez ⇒program kodunda zamanlamaya dayalı işlem olmamalı
![Page 66: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/66.jpg)
66
Pros
esle
r2
İşletim Sistemleri
İki Durumlu Proses Modeliİki Durumlu Proses Modeli
►Proses iki durumdan birinde olabilir:– Koşuyor
– Koşmuyor
![Page 67: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/67.jpg)
67
Pros
esle
r2
İşletim Sistemleri
Proses KuyruğuProses Kuyruğu
O anda çalışmayan proses sırasını bir kuyrukta bekler:
![Page 68: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/68.jpg)
68
Pros
esle
r2
İşletim Sistemleri
ProsesProses
►Koşmuyor– çalışmaya hazır
►Bloke – G/Ç bekliyor
►Kuyrukta en uzun süre beklemiş prosesin çalıştırılmaküzere seçilmesi doğru olmaz– Bloke olabilir
![Page 69: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/69.jpg)
69
Pros
esle
r2
İşletim Sistemleri
Beş-Durumlu ModelBeş-Durumlu Model
►Koşuyor
►Hazır
►Bloke
►Yeni
►Sonlanıyor
![Page 70: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/70.jpg)
70
Pros
esle
r2
İşletim Sistemleri
![Page 71: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/71.jpg)
71
Pros
esle
r2
İşletim Sistemleri
İki Kuyrukİki Kuyruk
![Page 72: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/72.jpg)
72
Pros
esle
r2
İşletim Sistemleri
Çoklu KuyrukÇoklu Kuyruk
![Page 73: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/73.jpg)
73
Pros
esle
r2
İşletim Sistemleri
Proses YaratmaProses Yaratma
Ne zaman yaratılır?►Kullanıcı sisteme girmiş►Bir servis sunmak için
– örneğin yazıcıdan çıktı
►Bir başka proses yaratmış
![Page 74: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/74.jpg)
74
Pros
esle
r2
İşletim Sistemleri
Proses SonlandırmaProses Sonlandırma
Ne zaman sonlanır?►Kullanıcı sistemden çıkmış►Uygulama sonlandırılmış►Hata durumu oluşmuş
![Page 75: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/75.jpg)
75
Pros
esle
r2
İşletim Sistemleri
Prosesin Askıya Alınma NedenleriProsesin Askıya Alınma Nedenleri
►Swap işlemi
►Hatalı durum oluşması
►Etkileşimli kullanıcı isteği– Örneğin hata ayıklama (debug) için
►Ayrılan sürenin dolması (quantum)
►Anne proses tarafından
![Page 76: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/76.jpg)
76
Pros
esle
r2
İşletim Sistemleri
İşletim Sistemi Kontrol Yapılarıİşletim Sistemi Kontrol Yapıları
►Her proses ve kaynak ile ilgili durum bilgilerinintutulması gerekir– İşletim sistemi tarafından yönetilen her varlık için tablolar
tutulur
• G/Ç Tabloları
• Bellek Tabloları
• Dosya Tabloları
• Proses Tabloları
![Page 77: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/77.jpg)
77
Pros
esle
r2
İşletim Sistemleri
Proses TablosuProses Tablosu
►Prosesin bileşenleri
►Yönetilmesi için gerekli özellikleri– Kimlik numarası
– Durumu
– Bellekteki yeri
![Page 78: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/78.jpg)
78
Pros
esle
r2
İşletim Sistemleri
Prosesin BileşenleriProsesin Bileşenleri
►Proses birden fazla programdan oluşabilir– Yerel ve global değişkenler
– Sabitler
– Yığın
►Proses Kontrol Bloğu– Nitelikler (attributes)
►Prosesin görüntüsü– Program, veri, yığın ve niteliklerin tamamı
![Page 79: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/79.jpg)
79
Pros
esle
r2
İşletim Sistemleri
![Page 80: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/80.jpg)
80
Pros
esle
r2
İşletim Sistemleri
Proses Kontrol BloğuProses Kontrol Bloğu
►Proses Kimlik Bilgileri– Kimlik Bilgileri
• Prosesin kimlik numarası
• Prosesin annesinin kimlik numarası
• Sahibin kullanıcı kimlik bilgisi
![Page 81: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/81.jpg)
81
Pros
esle
r2
İşletim Sistemleri
Proses Kontrol BloğuProses Kontrol Bloğu
►İşlemci Durum Bilgisi– Kullanıcıya açık saklayıcılar
• İşlemcinin makina dili kullanılarak erişilebilen saklayıcıları. – Kontrol ve Durum saklayıcıları
• Program sayacı
• Durum saklayıcısı
• Yığın işaretçileri
• Program durum sözcüğü (çalışma modu biti var)
![Page 82: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/82.jpg)
82
Pros
esle
r2
İşletim Sistemleri
Proses Kontrol BloğuProses Kontrol Bloğu
►Proses Kontrol Bilgileri– İş sıralama ve durum bilgileri
•Prosesin durumu•Önceliği•İş sıralama ile ilgili bilgiler (Hangi bilgiler olduğu kullanılan işsıralama algoritmasına bağlı. Örneğin: bekleme süresi, dahaönce koştuğu süre) •Çalışmak için beklediği olay
– Veri Yapıları•Prosesler örneğin bir çevrel kuyruk yapısında birbirlerine bağlıolabilir (örneğin aynı kaynağı bekleyen eş öncelikli prosesler).•Prosesler arasında anne-çocuk ilişkisi olabilir
![Page 83: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/83.jpg)
83
Pros
esle
r2
İşletim Sistemleri
Proses Kontrol BloğuProses Kontrol Bloğu
– Prosesler arası haberleşme ile ilgili bilgiler
• Bazı bayrak, sinyal ve mesajlar proses kontrol bloğunda tutulabilir.
– Proses Ayrıcalıkları
• Bellek erişimi, kullanılabilecek komutlar ve sistem kaynak veservislerinin kullanımı ile ilgili haklar
– Bellek yönetimi
• Prosese ayrılmış sanal bellek bölgesinin adresi
– Kaynak kullanımı
• Prosesin kullandığı kaynaklar: örneğin açık dosyalar
• Prosesin önceki işlemci ve diğer kaynakları kullanımına ilişkin bilgiler
![Page 84: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/84.jpg)
84
Pros
esle
r2
İşletim Sistemleri
![Page 85: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/85.jpg)
85
Pros
esle
r2
İşletim Sistemleri
Çalışma ModlarıÇalışma Modları
►Kullanıcı modu– Düşük haklar ve ayrıcalıklar
– Kullanıcı programları genel olarak bu modda çalışır►Sistem modu / çekirdek modu
– Yüksek haklar ve ayrıcalıklar
– İşletim sistemi çekirdeği prosesleri bu modda çalışır
![Page 86: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/86.jpg)
86
Pros
esle
r2
İşletim Sistemleri
Proses YaratılmasıProses Yaratılması
►Proses kimlik bilgisi atanır: sistemde tek
►Proses için bellekte yer ayrılır
►Proses kontrol bloğuna ilk değerler yüklenir
►Gerekli bağlantılar yapılır: Örneğin iş sıralama içinkullanılan bağlantılı listeye yeni proses kaydı eklenir.
►Gerekli veri yapıları yaratılır veya genişletilir: Örneğinistatistik tutma ile ilgili
![Page 87: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/87.jpg)
87
Pros
esle
r2
İşletim Sistemleri
Prosesler Arası Geçiş DurumuProsesler Arası Geçiş Durumu
►Saat kesmesi– proses kendisine ayrılan zaman dilimi kadar çalışmıştır
►G/Ç kesmesi
►Bellek hatası– erişilen bellek bölgesi ana bellekte yoktur
►Hata durumu
►Sistem çağrısı
![Page 88: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/88.jpg)
88
Pros
esle
r2
İşletim Sistemleri
Proseslerin Durum DeğiştirmesiProseslerin Durum Değiştirmesi
►İşlemci bağlamının saklanması (program sayacı ve diğersaklayıcılar dahil
►O anda koşmakta olan prosesin proses kontrol bloğunungüncellenmesi
►Prosese ilişkin proses kontrol bloğunun uygun kuyruğayerleştirilmesi: hazır / bloke
►Koşacak yeni prosesin belirlenmesi
![Page 89: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/89.jpg)
89
Pros
esle
r2
İşletim Sistemleri
Proseslerin Durum DeğiştirmesiProseslerin Durum Değiştirmesi
►Seçilen prosesin proses kontrol bloğunun güncellenmesi
►Bellek yönetimi ile ilgili bilgilerin güncellenmesi
►Seçilen prosesin bağlamının yüklenmesi
![Page 90: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/90.jpg)
90
Pros
esle
r2
İşletim Sistemleri
UNIX’te Proses DurumlarıUNIX’te Proses Durumları
►Kullanıcı modunda koşuyor
►Çekirdek modunda koşuyor
►Bellekte ve koşmaya hazır
►Bellekte uyuyor
►İkincil bellekte ve koşmaya hazır
►İkincil bellekte uyuyor
![Page 91: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/91.jpg)
91
Pros
esle
r2
İşletim Sistemleri
UNIX’te Proses DurumlarıUNIX’te Proses Durumları
►Pre-empt olmuş (çekirdek modundan kullanıcı modunadönerken iş sıralayıcı prosesi kesip yerine bir başkaprosesi çalışacak şekilde belirlemiş)
►Yaratılmış ama koşmaya hazır değil
►Zombie (proses sonlanmış ancak anne prosesinkullanabilmesi için bazı kayıtları hala tutulmakta, ilgilikaynaklar henüz geri verilmemiş)
![Page 92: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/92.jpg)
92
Pros
esle
r2
İşletim Sistemleri
![Page 93: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/93.jpg)
93
Pros
esle
r2
İşletim Sistemleri
UNIX’de Proses YaratmaUNIX’de Proses Yaratma
►fork sistem çağrısı ile yaratılır– çağrıyı yapan proses: anne proses
– Yaratılan proses: çocuk proses
►sentaksı pid=fork()– Her iki proses de aynı bağlama sahip
– Anne prosese çocuğun kimlik değeri döner
– Çocuk prosese 0 değeri döner
►0 numaralı prosesi açılışta çekirdek yaratılır; fork ileyaratılmayan tek prosestir
![Page 94: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/94.jpg)
94
Pros
esle
r2
İşletim Sistemleri
UNIX’de Proses YaratmaUNIX’de Proses Yaratma
►fork sistem çağrısı yapıldığında çekirdeğin yürüttüğüişlemler:– proses tablosunda (varsa) yer ayırılır (maksimum proses
sayısı belli)
– çocuk prosese yeni bir kimlik numarası atanır (sistemde tek)
– Anne prosesin bağlamının kopyası çıkarılır.
– Dosya erişimi ile ilgili sayaçları düzenler
– anneye çocuğun kimliğini, çocuğa da 0 değerini döndürür
![Page 95: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/95.jpg)
95
Pros
esle
r2
İşletim Sistemleri
UNIX’de fork Sistem Çağrısı ile Proses Yaratılma Hiyerarşisi
UNIX’de fork Sistem Çağrısı ile Proses Yaratılma Hiyerarşisi
proses 0
proses 1 (INIT)
tty1 tty2 ….. diğer sistem prosesleri
login
shell
kullanıcı prosesleri
![Page 96: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/96.jpg)
96
Pros
esle
r2
İşletim Sistemleri
UNIX’de Proses SonlanmasıUNIX’de Proses Sonlanması
►exit sistem çağrısı ile
►sentaksı: exit(status)– “status” değeri anne prosese aktarılır
►Tüm kaynakları geri verilir
►Dosya erişim sayaçları düzenlenir
►Proses tablosu kaydı silinir
►Annesi sonlanan proseslerin annesi olarak init prosesi (1 numaralı proses) atanır
![Page 97: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/97.jpg)
97
Pros
esle
r2
İşletim Sistemleri
Örnek Program Kodu - 1
#include <unistd.h>#include <stdio.h>#include <stdlib.h>
int f;
int main (void){
printf("\n Program calisiyor: PID=%d \n",getpid());
f=fork();
![Page 98: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/98.jpg)
98
Pros
esle
r2
İşletim Sistemleri
Örnek Program Kodu - 2
if (f==0) /*cocuk*/{
printf("\nBen cocuk. Kimlik= %d\n", getpid());printf(“Annemin kimliği=%d\n”, getppid());sleep(2);exit(0):
}else /* anne */{
printf("\nBen anne. Kimlik= %d\n", getpid());printf(“Annemin kimliği=%d\n”, getppid());printf(“Cocugumun kimliği=%d\n”, f);sleep(2);exit(0):
} return(0);
}
![Page 99: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/99.jpg)
UYGULAMAUYGULAMA
![Page 100: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/100.jpg)
100
Pros
esle
r2
İşletim Sistemleri
Defining a ProgramDefining a Program1 int x;2 static int b = 4;34 main() {5 int y;6 static int z;78 y = b;9 z = foo(y);10 }1112 foo( int p ) {13 int a;14 a = p + 2;15 return(a);16 }
pgmpgm.c.c
![Page 101: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/101.jpg)
101
Pros
esle
r2
İşletim Sistemleri
Processes as Compared to Procedure CallsProcesses as Compared to Procedure Calls
![Page 102: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/102.jpg)
102
Pros
esle
r2
İşletim Sistemleri
Creating a ProcessCreating a Process1 #include <stdio.h>2 #include <stdlib.h>34 main() {56 int rv;78 /* Sometimes useful for troubleshooting, */9 /* E.g., do "ps" command inside program and save
output */10 rv = systemsystem("ps -le | grep mysystem > /tmp/junk");1112 if ( rv != 0 ) {13 fprintf(stderr, "Something went wrong!\n");14 }15 }
mysystemmysystem.c.c
![Page 103: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/103.jpg)
103
Pros
esle
r2
İşletim Sistemleri
1 #include <sys/types.h>2 #include <unistd.h>3 #include <stdio.h>45 main() {67 pid_t pid;89 pid = fork();1011 switch(pid) {1213 /* fork failed! */14 case -1:15 perror("fork");16 exit(1);1718 /* in new child process */19 case 0:20 printf("In Child, my pid is: %d\n",getpid());
myforkmyfork.c.c
![Page 104: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/104.jpg)
104
Pros
esle
r2
İşletim Sistemleri
21 do_child_stuff();22 exit(0);2324 /* in parent, pid is PID of child */25 default:26 break;27 }2829 /* Rest of parent program code */30 printf("In parent, my child is %d\n", pid);31 }3233 int do_child_stuff() {34 printf("\t Child activity here \n");35 }
![Page 105: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/105.jpg)
105
Pros
esle
r2
İşletim Sistemleri
Running a New ProgramRunning a New Program
![Page 106: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/106.jpg)
106
Pros
esle
r2
İşletim Sistemleri
Running a New ProgramRunning a New Program1 #include <stdio.h>2 #include <sys/types.h>3 #include <unistd.h>4 #include <sys/wait.h>56 main() {78 pid_t pid;910 pid = fork();1112 switch(pid) {1314 /* fork failed! */15 case -1:16 perror("fork");17 exit(1);18 /* in new child process */19 case 0:
![Page 107: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/107.jpg)
107
Pros
esle
r2
İşletim Sistemleri
20 execlp("ls", "ls", "-F", (char *)0);
21 /* why no test? */22 perror("execlp");
23 exit(1);
24
25 /* in parent, pid is PID of child */26 default:
27 break;
28 }
2930 /* Rest of parent program code */
31 wait(NULL);
32 printf("In parent, my child is %d\n", pid);
33 }
![Page 108: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/108.jpg)
108
Pros
esle
r2
İşletim Sistemleri
Terminating a ProcessTerminating a Process
►exit()— Flushes buffers and calls _exit() to terminate process
►_exit()— Closes files and terminates process
►atexit()— Stores function for future execution beforeterminating a process
►abort()— Closes files, terminates the process, andproduces a core dump for debugging
![Page 109: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/109.jpg)
109
Pros
esle
r2
İşletim Sistemleri
Terminating a ProcessTerminating a Process#include <stdlib.h>#include <unistd.h>
void cleanup() {char *message = "cleanup invoked\n";
write(STDOUT_FILENO, message, strlen(message));
}
main() {/* Register cleanup() as atexit function */atexit(cleanup);/* Other things in program done here */exit(0);}
![Page 110: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/110.jpg)
110
Pros
esle
r2
İşletim Sistemleri
Cleaning Up Terminated ProcessesCleaning Up Terminated Processes
►wait()– Blocks the process until one of its children isready to have its status reaped.
►waitpid()– Allows you to specify which process to wait for and whether to block.
![Page 111: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/111.jpg)
111
Pros
esle
r2
İşletim Sistemleri
Cleaning Up Terminated ProcessesCleaning Up Terminated Processes1 #include <sys/types.h>2 #include <sys/wait.h>3 #include <stdio.h>4 #include <unistd.h>5 #include <stdlib.h>67 main() {89 pid_t pid;10 int status;1112 /* fork() a child */13 switch(pid = fork()) {1415 case -1:16 perror("fork");17 exit(1);1819 /* in child */
![Page 112: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/112.jpg)
112
Pros
esle
r2
İşletim Sistemleri
20 case 0:21 execlp("ls","ls","-F",(char *)NULL);22 perror("execlp");23 exit(1);2425 /* parent */26 default:27 break;28 }2930 if (waitpid(pid, &status, 0) == -1) {31 perror("waitpid");32 exit(1);33 }3435 /* See wstat(5) for macros used with status36 from wait(2) */37 if (WIFSIGNALED(status)) {38 printf("ls terminated by signal %d.\n",39 WTERMSIG(status));40 } else if (WIFEXITED(status)) {41 printf("ls exited with status %d.\n",
![Page 113: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/113.jpg)
113
Pros
esle
r2
İşletim Sistemleri
42 WEXITSTATUS(status));
43 } else if (WIFSTOPPED(status)) {
44 printf("ls stopped by signal %d.\n",
45 WSTOPSIG(status));
46 }
47 return 0;
48 }
![Page 114: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/114.jpg)
114
Pros
esle
r2
İşletim Sistemleri
Retrieving Host InformationRetrieving Host Information
►uname()— Retrieves host name and other relatedinformation
►sysinfo()— Reports and sets information about theoperating system
![Page 115: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/115.jpg)
115
Pros
esle
r2
İşletim Sistemleri
1 #include <sys/utsname.h>2 #include <stdio.h>3 #include <stdlib.h>4
5 main() {6
7 struct utsname utsuts;89 if( uname(&utsuts) == -1 ) {10 perror("myuname.c:main:uname");11 exit(1);12 }1314 printf("operating system: %s\n", uts.sysname);15 printf("hostname: %s\n", utsuts.nodenamenodename);16 printf("release: %s\n", utsuts.releaserelease);17 printf("version: %s\n", utsuts.versionversion);18 printf("machine: %s\n", utsuts.machinemachine);19 }
myunamemyuname.c.c
![Page 116: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/116.jpg)
116
Pros
esle
r2
İşletim Sistemleri
1 #include <sys/systeminfo.h>2 #include <stdio.h>3
4 #define BUFSIZE 10245
6 main() {7 char buf[BUFSIZE];8 int num;910 num = sysinfosysinfo( SI_HW_SERIAL, buf, BUFSIZE);11 if (num == -1) {12 perror("sysinfo");13 exit(1);14 }1516 printf("hostidhostid: %s\n", bufbuf);17 printf("hostidhostid: %x\n", atoi(bufbuf));18 }
mysysinfomysysinfo.c.c
![Page 117: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/117.jpg)
117
Pros
esle
r2
İşletim Sistemleri
Retrieving System VariablesRetrieving System Variables
1 #include <sys/unistd.h>2 #include <stdio.h>34 main() {56 printf("Number of processors: %d\n",7 sysconf(_SC_NPROCESSORS_CONF));8 printf("Memory page size: %d\n",9 sysconf(_SC_PAGESIZE));10 printf("Clock ticks/second: %d\n",11 sysconf(_SC_CLK_TCK));12 printf("Number of files that can be13 opened: %d\n", sysconf(_SC_OPEN_MAX));14 }
![Page 118: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/118.jpg)
118
Pros
esle
r2
İşletim Sistemleri
Determining File and Directory LimitsDetermining File and Directory Limits
1 #include <unistd.h>2 #include <stdio.h>34 main() {56 printf("Maximum filename length: %d\n",7 pathconf(".", _PC_NAME_MAX));8 printf("Maximum path length: %d\n",9 pathconf("/", _PC_PATH_MAX));10 printf("Pipe buffer size: %d\n",11 pathconf("/var/spool/cron/FIFO",12 _PC_PIPE_BUF));13 }
![Page 119: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/119.jpg)
119
Pros
esle
r2
İşletim Sistemleri
Retrieving User InformationRetrieving User Information
►getuid()— Retrieves user identification numbers
►getpwuid()— Retrieves the user identification numberfrom the password database
►getpwnam()— Retrieves the user name from the password database
![Page 120: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/120.jpg)
120
Pros
esle
r2
İşletim Sistemleri
Retrieving User InformationRetrieving User Information
1 #include <sys/types.h>
2 #include <unistd.h>
3 #include <pwd.h>
4 #include <stdio.h>5
6 main() {
7
8 struct passwd *pw;9
10 pw = getpwuid( getuid() );
11 printf("Logged in as %s\n", pw->pw_name);
12 }
![Page 121: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/121.jpg)
121
Pros
esle
r2
İşletim Sistemleri
Retrieving Machine TimeRetrieving Machine Time
►time() – Returns number of seconds since 0:00:00, January 1, 1970
►gettimeofday() – Returns time in seconds and microseconds
►ctime() – Returns time in a human readable format
►gmtime()– Breaks time from time() into fields fromseconds to years, Greenwich mean time
►localtime()– Same as gmtime() except local time
►strftime() – Returns time in customized string format
![Page 122: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/122.jpg)
122
Pros
esle
r2
İşletim Sistemleri
Using Environment VariablesUsing Environment Variables
►getenv()— Retrieves the value of an environment variable
►putenv()— Adds variables to the environment
►unsetenv()— Removes an environment variable
![Page 123: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/123.jpg)
123
Pros
esle
r2
İşletim Sistemleri
Using Environment VariablesUsing Environment Variables1 #include <stdlib.h>2 #include <stdio.h>34 main() {56 char *value;78 value = getenv("HOME");9 if( value == NULL ) {10 printf("HOME is not defined\n");11 } else if( *value == '\0') {12 printf("HOME defined but has no value\n");13 } else {14 printf("HOME = %s\n", value);15 }16 }
mygetenv.c
![Page 124: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/124.jpg)
124
Pros
esle
r2
İşletim Sistemleri
1 #include <stdlib.h>2 #include <stdio.h>34 main() {56 char *value;78 putenv("HOME=/tmp");910 value = getenv("HOME");11 if( value == NULL ) {12 printf("HOME is not defined\n");13 } else if( *value == '\0') {14 printf("HOME defined but has no value\n");15 } else {16 printf("HOME = %s\n", value);17 }18 }
![Page 125: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/125.jpg)
125
Pros
esle
r2
İşletim Sistemleri
Using Process IDs and Process Groups IDsUsing Process IDs and Process Groups IDs
►Function Calls
– getpid()— Retrieves process ID number
– getppid()— Retrieves parent PID
– getpgrp()— Retrieves process group ID number
– getpgid()— Retrieves process group GID
►Identification Numbers
– Process ID
– Process group ID
– User group ID and group ID
– Effective user ID and effective group ID
![Page 126: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/126.jpg)
126
Pros
esle
r2
İşletim Sistemleri
Using Process IDs and Process Groups IDsUsing Process IDs and Process Groups IDs
![Page 127: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/127.jpg)
127
Pros
esle
r2
İşletim Sistemleri
Using Real and Effective Group IDsUsing Real and Effective Group IDs
►getuid()— Retrieves real user ID
►getgid()— Retrieves real group user ID
►geteuid()— Retrieves effective user ID
►geteguid()— Retrieves effective group user ID
![Page 128: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/128.jpg)
128
Pros
esle
r2
İşletim Sistemleri
Resource LimitsResource Limits
►limit()— Displays and sets resources limits
►getrlimit()— Displays resource limits
►setrlimit()— Sets resources limits
![Page 129: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/129.jpg)
129
Pros
esle
r2
İşletim Sistemleri
Resource LimitsResource Limits
![Page 130: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/130.jpg)
130
Pros
esle
r2
İşletim Sistemleri
1 #include <sys/resource.h>2 #include <unistd.h>3 #include <stdio.h>4 main() {56 struct rlimit myrlim;78 getrlimit(RLIMIT_NOFILE, &myrlim);9 printf("I can only open %d files\n", myrlim.rlim_cur);1011 myrlim.rlim_cur = 512;1213 if (setrlimit(RLIMIT_NOFILE, &myrlim) == -1) {14 perror("setrlimit");15 }1617 getrlimit(RLIMIT_NOFILE, &myrlim);
Resource LimitsResource Limits
![Page 131: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/131.jpg)
131
Pros
esle
r2
İşletim Sistemleri
Resource LimitsResource Limits
18 printf("I can now open %d files\n",
myrlim.rlim_cur);
19 printf("sysconf() says %d files.\n",
20 sysconf(_SC_OPEN_MAX));
21 }
![Page 132: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/132.jpg)
İİPLPLİİKLERKLER3
![Page 133: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/133.jpg)
133
İpli
kler
3
İşletim Sistemleri
GirişGiriş
►geleneksel işletim sistemlerinde her prosesin– özel adres uzayı ve
– tek akış kontrolü var.
►aynı adres uzayında birden fazla akış kontrolü gerekebilir– aynı adres uzayında çalışan paralel prosesler gibi
![Page 134: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/134.jpg)
134
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
►iplik = hafif proses►aynı adres uzayını paylaşan paralel prosesler benzeri►aynı proses ortamında birden fazla işlem yürütme imkanı►iplikler tüm kaynakları paylaşır:
– adres uzayı, bellek, açık dosyalar, ...
►çoklu iplikli çalışma– iplikler sıra ile koşar
![Page 135: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/135.jpg)
135
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
iplik
Proses 1 Proses 2 Proses 3
kullanıcıuzayı
çekirdekuzayıçekirdek
Proses Modeli
Proses
çekirdek
İplik Modeli
![Page 136: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/136.jpg)
136
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
►iplikler prosesler gibi birbirinden bağımsız değil:– adres uzayı paylaşır
• global değişkenleri de paylaşırlar
• birbirlerinin yığınını değiştirebilir
• koruma yok çünkü:
– mümkün değil
– gerek yok
![Page 137: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/137.jpg)
137
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
► ipliklerin paylaştıkları:– adres uzayı
– global değişkenler
– açık dosyalar
– çocuk prosesler
– bekleyen sinyaller
– sinyal işleyiciler
– muhasebe bilgileri
►her bir ipliğe özel:– program sayacı
– saklayıcılar
– yığın
– durum
![Page 138: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/138.jpg)
138
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
► işler birbirinden büyük oranda bağımsız ise ⇒ proses modeli
► işler birbirine çok bağlı ve birlikte yürütülüyorsa ⇒ iplik modeli
► iplik durumları = proses durumları– koşuyor
– bloke
• bir olay bekliyor: dış olay veya bir başka ipliği bekler
– hazır
![Page 139: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/139.jpg)
139
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
►her ipliğin kendi yığını var– yığında çağrılmış ama dönülmemiş yordamlarla ilgili kayıtlar ve
yerel değişkenler
– her iplik farklı yordam çağrıları yapabilir
• geri dönecekleri yerler farklı ⇒ ayrı yığın gerekli
![Page 140: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/140.jpg)
140
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
►prosesin başta bir ipliği var►iplik kütüphane yordamları ile yeni iplikler yaratır
– örn: thread_create• parametresi: koşturacağı yordamın adı
►yaratılan iplik aynı adres uzayında koşar►bazı sistemlerde iplikler arası anne – çocuk hiyerarşik
yapısı var– çoğu sistemde tüm iplikler eşit
![Page 141: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/141.jpg)
141
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
►işi biten iplik kütüpane yordamı çağrısı ile sonlanır– örn: thread_exit
►zaman paylaşımı için zamanlayıcı yok– iplikler işlemciyi kendileri bırakır
• örn: thread_exit
►iplikler arası– senkronizasyon ve– haberleşme olabilir
![Page 142: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/142.jpg)
142
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
►ipliklerin gerçeklenmesinde bazı sorunlar:– örn. UNIX’te fork sistem çağrısı
• anne çok iplikli ise çocuk proseste de aynı iplikler olacak mı?
• olmazsa doğru çalışmayabilir
• olursa
– örneğin annedeki iplik giriş bekliyorsa çocuktaki de mi beklesin?
– giriş olunca her ikisine de mi yollansın?
• benzer problem açı ağ bağlantıları için de var
![Page 143: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/143.jpg)
143
İpli
kler
3
İşletim Sistemleri
İplik Modeliİplik Modeli
►(‘sorunlar’ devam)– bir iplik bir dosyayı kapadı ama başka iplik o dosyayı
kullanıyordu– bir iplik az bellek olduğunu farkedip bellek almaya başladı
• işlem tamamlanmadan başka iplik çalıştı• yeni iplik de az bellek var diye bellek istedi⇒ iki kere bellek alınabilir
►çözümler için iyi tasarım ve planlama gerekli
![Page 144: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/144.jpg)
144
İpli
kler
3
İşletim Sistemleri
İpliklerin Kullanımıİpliklerin Kullanımı
►neden iplikler?– bir proses içinde birden fazla işlem olabilir
• bazı işlemler bazen bloke olabilir; ipliklere bölmek performansı arttırır
– ipliklerin kendi kaynakları yok• yaratılmaları / yok edilmeleri proseslere göre kolay
– ipliklerin bazıları işlemciye yönelik bazıları giriş-çıkış işlemleri yapıyorsa performans artar
• hepsi işlemciye yönelikse olmaz– çok işlemcili sistemlerde faydalı
![Page 145: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/145.jpg)
145
İpli
kler
3
İşletim Sistemleri
İplik Kullanımına Örnek –3 İplikli Kelime İşlemci Modeliİplik Kullanımına Örnek –
3 İplikli Kelime İşlemci Modeli
user input(keyboard)
disk
documentfile beingedited
çekirdek
proses
iplik 1
iplik 2
iplik 3
3 iplik yerine 3 proses olsa ?
![Page 146: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/146.jpg)
146
İpli
kler
3
İşletim Sistemleri
İplik Kullanımına Örnek – Web Sitesi Sunucusu İplik Kullanımına Örnek – Web Sitesi Sunucusu
web sayfası cebi
işçi iplikler
çekirdek
kullanıcı uzayı
çekirdek uzayı
iş dağıtıcı iplik
web sunucusu prosesi
AğBağlantısı
web sunucusundaiplikler kullanılmasaydı?
![Page 147: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/147.jpg)
147
İpli
kler
3
İşletim Sistemleri
İplik Kullanımına Örnek –Web Sitesi Sunucusu
İplik Kullanımına Örnek –Web Sitesi Sunucusu
İş dağıtıcı iplik kodu
while TRUE {
sıradaki_isteği_al(&tmp);
işi_aktar(&tmp);
}
İşçi ipliklerin kodu
while TRUE {
iş_bekle(&tmp);
sayfayı_cepte_ara(&tmp,&sayfa);
if (sayfa_cepte_yok(&sayfa)
sayfayı_diskten_oku(&tmp,&sayfa);
sayfayı_döndür(&sayfa);
}
![Page 148: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/148.jpg)
148
İpli
kler
3
İşletim Sistemleri
İpliklerin Gerçeklenmesiİpliklerin Gerçeklenmesi
►iki türlü gerçekleme mümkün– kullanıcı uzayında
– çekirdek uzayında
►hibrid bir gerçekleme de olabilir
![Page 149: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/149.jpg)
149
İpli
kler
3
İşletim Sistemleri
İpliklerin Kullanıcı Uzayında Gerçeklenmesiİpliklerin Kullanıcı Uzayında Gerçeklenmesi
çekirdek
proses tablosuiplik tablosu
proses iplik
ipliklerin üzerindekoştuğu sistem
kullanıcı uzayı
çekirdek uzayı
![Page 150: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/150.jpg)
150
İpli
kler
3
İşletim Sistemleri
İpliklerin Kullanıcı Uzayında Gerçeklenmesiİpliklerin Kullanıcı Uzayında Gerçeklenmesi
►çekirdeğin ipliklerden haberi yok
►çoklu iplik yapısını desteklemeyen işletim sistemlerinde de gerçeklenebilir
►ipliklerin üzerinde koştuğu sistem
– iplik yönetim yordamları• örn. thread_create, thread_exit, thread_yield, thread_wait, ...
• iplik tablosu
– program sayacı, saklayıcılar, yığın işaretçisi, durumu, ...
![Page 151: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/151.jpg)
151
İpli
kler
3
İşletim Sistemleri
İpliklerin Kullanıcı Uzayında Gerçeklenmesiİpliklerin Kullanıcı Uzayında Gerçeklenmesi
► iplik bloke olacak bir işlem yürüttüyse
• örneğin bir başka ipliğin bir işi bitirmesini beklemek
– bir rutin çağırır
– rutin ipliği bloke durum sokar
– ipliğin program sayacı ve saklayıcı içeriklerini iplik tablosuna saklar
– sıradaki ipliğin bilgilerini tablodan alıp saklayıcılara yükler
– sıradaki ipliği çalıştırır– hepsi yerel yordamlar ⇒ sistem çağrısı yapmaktan daha hızlı
![Page 152: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/152.jpg)
152
İpli
kler
3
İşletim Sistemleri
İpliklerin Kullanıcı Uzayında Gerçeklenmesiİpliklerin Kullanıcı Uzayında Gerçeklenmesi
►avantajları:– ipliklerin ayrı bir iş sıralama algoritması olabilir
– çekirdekte iplik tablosu yeri gerekmiyor
– tüm çağrılar yerel rutinler ⇒ çekirdeğe çağrı yapmaktan daha hızlı
![Page 153: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/153.jpg)
153
İpli
kler
3
İşletim Sistemleri
İpliklerin Kullanıcı Uzayında Gerçeklenmesiİpliklerin Kullanıcı Uzayında Gerçeklenmesi
►Problemler:– bloke olan sistem çağrılarının gerçeklenmesi
• iplik doğrudan bloke olan bir sistem çağrısı yapamaz ⇒ tüm iplikler bloke olur
• sistem çağrıları değiştirilebilir– işletim sisteminin değiştirilmesi istenmez– kullanıcı programlarının da değişmesi gerekir
• bazı sistemlerde yapılan çağrının bloke olup olmayacağınıdöndüren sistem çağrıları var
– sistem çağrılarına ara-birim (wrapper) yazılır– önce kontrol edilir, bloke olunacaksa sistem çağrısı
yapılmaz, iplik bekletilir
![Page 154: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/154.jpg)
154
İpli
kler
3
İşletim Sistemleri
İpliklerin Kullanıcı Uzayında Gerçeklenmesiİpliklerin Kullanıcı Uzayında Gerçeklenmesi
► (problemler devam)
– sayfa hataları
• programın çalışması gereken kod parçasına ilişkin kısım ana bellekte değilse
– sayfa hatası olur
– proses bloke olur
– gereken sayfa ana belleğe alınır
– proses çalışabilir
• sayfa hatasına iplik sebep olduysa
– çekirdek ipliklerden habersiz
– tüm proses bloke edilir
![Page 155: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/155.jpg)
155
İpli
kler
3
İşletim Sistemleri
İpliklerin Kullanıcı Uzayında Gerçeklenmesiİpliklerin Kullanıcı Uzayında Gerçeklenmesi
► (problemler devam)
– iş sıralama
• iplik kendisi çalışmayı bırakmazsa diğer iplikler çalışamaz
– altta çalışan sistem belirli sıklıkta saat kesmesi isteyebilir
» ipliklerin de saat kesmesi ile işi varsa karışır– çok iplikli çalışma istendiği durumlarda sıkça bloke olan ve
sistem çağrısı yapan iplikler olur
• çekirdek düzeyinde işlemek çok yük getirmez çekirdeğe
![Page 156: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/156.jpg)
156
İpli
kler
3
İşletim Sistemleri
İpliklerin Çekirdek Uzayında Gerçeklenmesiİpliklerin Çekirdek Uzayında Gerçeklenmesi
çekirdek
proses tablosuiplik tablosu
prosesiplik
kullanıcı uzayı
çekirdek uzayı
![Page 157: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/157.jpg)
157
İpli
kler
3
İşletim Sistemleri
İpliklerin Çekirdek Uzayında Gerçeklenmesiİpliklerin Çekirdek Uzayında Gerçeklenmesi
►çekirdek ipliklerden haberdar►iplik tablosu çekirdekte►yeni iplik yaratmak için çekirdeğe sistem çağrısı►ipliği bloke edebilecek tüm çağrılar çekirdeğe sistem
çağrısı►işletim sistemi hangi ipliğin koşacağına karar verir
– aynı prosesin ipliği olmayabilir
![Page 158: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/158.jpg)
158
İpli
kler
3
İşletim Sistemleri
İpliklerin Çekirdek Uzayında Gerçeklenmesiİpliklerin Çekirdek Uzayında Gerçeklenmesi
►bloke olan sistem çağrılarının yeniden yazılması gerekmez►sayfa hatası durumu da sorun yaratmaz
– sayfa hatası olunca çekirdek aynı prosesin koşabilir baka ipliği varsa çalıştırır
►sistem çağrısı gerçekleme ve yürütme maliyetli– çok sık iplik yaratma, yoketme, ... işlemleri varsa vakit kaybı çok
![Page 159: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/159.jpg)
159
İpli
kler
3
İşletim Sistemleri
İpliklerin Hibrit Yapıda Gerçeklenmesiİpliklerin Hibrit Yapıda Gerçeklenmesi
çekirdek
kullanıcı uzayı
çekirdek uzayı
çekirdek iplikleri
bir çekirdek ipliği üzerinde çoklu kullanıcı iplikleri
![Page 160: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/160.jpg)
160
İpli
kler
3
İşletim Sistemleri
İpliklerin Hibrit Yapıda Gerçeklenmesiİpliklerin Hibrit Yapıda Gerçeklenmesi
►çekirdek sadece çekirdek düzeyi ipliklerden haberdar
►bir çekirdek düzeyi iplik üzerinde birden fazla kullanıcıdüzeyi iplik sıra ile çalışır
►kullanıcı düzeyi iplik işlemleri aynı şekilde
![Page 161: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/161.jpg)
UYGULAMAUYGULAMA
![Page 162: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/162.jpg)
162
İpli
kler
3
İşletim Sistemleri
Creating a ThreadCreating a Thread
#include <pthread.h>#define NUM_THREADS 5#define SLEEP_TIME 10
pthread_t tid[NUM_THREADS]; /* array of thread IDs */
void *sleeping(void *); /* thread routine */
void start() {int i;
for ( i = 0; i < NUM_THREADS; i++)pthread_create(&tid[i], NULL, sleeping, (void *)SLEEP_TIME);
}
![Page 163: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/163.jpg)
163
İpli
kler
3
İşletim Sistemleri
Terminating a ThreadTerminating a Thread
►pthread_join()— Examines exit status
►pthread_exit()— Terminates itself
►pthread_cancel()— Terminates another thread
![Page 164: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/164.jpg)
164
İpli
kler
3
İşletim Sistemleri
SummarySummary
![Page 165: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/165.jpg)
Prosesler ArasProsesler Arasıı HaberleHaberleşşme me ve ve
SenkronizasyonSenkronizasyon4
![Page 166: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/166.jpg)
166
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Eş ZamanlılıkEş Zamanlılık
►Eş zamanlı prosesler olması durumunda bazı tasarım konuları önem kazanır:
– Prosesler arası haberleşme
– Kaynak paylaşımı
– Birden fazla prosesin senkronizasyonu
– İşlemci zamanı ataması
![Page 167: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/167.jpg)
167
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
SorunlarSorunlar
Çoklu programlı ve tek işlemcili bir sistemde bir prosesin çalışma hızı öngörülemez:
►Diğer proseslerin yaptıklarına bağlıdır.
►İşletim sisteminin kesmeleri nasıl ele aldığına bağlıdır.
►İşletim sisteminin iş sıralama yaklaşımına bağlıdır.
![Page 168: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/168.jpg)
168
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
SorunlarSorunlar
►Eş zamanlı çalışan prosesler olması durumunda dikkat edilmesi gereken noktalar:
– Kaynakların paylaşımı (ortak kullanım)
– Senkronizasyon
![Page 169: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/169.jpg)
169
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
ÖrnekÖrnek
►Çoklu programlama, tek işlemci
►pd paylaşılan değişken
isle()
begin
pd = oku();
pd = pd + 1;
yazdir(pd);
end
![Page 170: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/170.jpg)
170
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
ÇözümÇözüm
Paylaşılan kaynaklara kontrollü erişim.
![Page 171: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/171.jpg)
171
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Proseslerin EtkileşimiProseslerin Etkileşimi
►Prosesler birbirinden habersizdir.
– rekabet
►Proseslerin dolaylı olarak birbirlerinden haberleri vardır.
– Paylaşma yoluyla işbirliği
►Proseslerin doğrudan birbirlerinden haberi vardır.
– Haberleşme yoluyla işbirliği
![Page 172: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/172.jpg)
172
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Prosesler Arası RekabetProsesler Arası Rekabet
►Birbirinden habersiz proseslerin aynı kaynağı (örneğin bellek, işlemci zamanı) kullanma istekleri
– işletim sistemi kullanımı düzenlemeli
►Bir prosesin sonuçları diğerlerinden bağımsız olmalı
►Prosesin çalışma süresi etkilenebilir.
![Page 173: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/173.jpg)
173
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Prosesler Arası RekabetProsesler Arası Rekabet
►Karşılıklı dışlama
– Kritik bölge
• Program kodunun, paylaşılan kaynaklar üzerinde işlem yapılan kısmı.
• Belirli bir anda sadece tek bir proses kritik bölgesindeki kodu yürütebilir.
►Ölümcül kilitlenme (deadlock)
►Yarış (race)
►Açlık (starvation)
![Page 174: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/174.jpg)
174
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Karşılıklı DışlamaKarşılıklı Dışlama
P1()
begin
<KB olmayan kod>
gir_KB;
<KB işlemleri>cik_KB;
<KB olmayan kod>
end
P2()
begin
<KB olmayan kod>
gir_KB;
<KB işlemleri>cik_KB;
<KB olmayan kod>
end
• KB: Kritik Bölge
• İkiden fazla proses de aynı kaynaklar üzerinde çalışıyor olabilir.
![Page 175: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/175.jpg)
175
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Ölümcül KilitlenmeÖlümcül Kilitlenme
►Aynı kaynakları kullanan prosesler
►Birinin istediği kaynağı bir diğeri tutuyor ve bırakmıyor
►Proseslerin hiç biri ilerleyemez
⇒ ölümcül kilitlenme
PAal(k1);al(k2); ⇐ k2’yi bekler….
PBal(k2);al(k1); ⇐ k1’i bekler….
![Page 176: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/176.jpg)
176
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
YarışYarış
►Aynı ortak verilere erişen prosesler
►Sonuç, proseslerin çalışma hızına ve sıralarına bağlı
►Farklı çalışmalarda farklı sonuçlar üretilebilir
⇒ yarış durumu
![Page 177: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/177.jpg)
177
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
YarışYarışÖrnek:
k=k+1 makina dilinde:yükle Acc,k
artir Acc
yaz Acc,kP1 P2
… ...
while(TRUE) while(TRUE)
k=k+1; k=k+1;
… …
Not: k’nın başlangıç değeri 0 olsun. Ne tür farklı çalışmalar olabilir? Neden?
![Page 178: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/178.jpg)
178
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
AçlıkAçlık
►Aynı kaynakları kullanan prosesler
►Bazı proseslerin bekledikleri kaynaklara hiç erişememe durumu
►Bekleyen prosesler sonsuz beklemeye girebilir
⇒ açlık
![Page 179: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/179.jpg)
179
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Prosesler Arasında Paylaşma Yoluyla İşbirliğiProsesler Arasında Paylaşma Yoluyla İşbirliği
►Paylaşılan değişken / dosya / veri tabanı
– prosesler birbirlerinin ürettiği verileri kullanabilir
►Karşılıklı dışlama gerekli
►Senkronizasyon gerekebilir
►Sorunlar:
– ölümcül kilitlenme,
– yarış– açlık
![Page 180: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/180.jpg)
180
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Prosesler Arasında Paylaşma Yoluyla İşbirliğiProsesler Arasında Paylaşma Yoluyla İşbirliği
►İki tür erişim:
– yazma
– okuma
►Yazmada karşılıklı dışlama olmalı
►Okuma için karşılıklı dışlama gereksiz
►Veri tutarlılığı sağlanması amacıyla,
– kritik bölgeler var
– senkronizasyon
![Page 181: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/181.jpg)
181
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
SenkronizasyonSenkronizasyon
►Proseslerin yürütülme sıraları önceden kestirilemez
►Proseslerin üretecekleri sonuçlar çalışma sıralarına bağlıolmamalıdır
►Örnek: Bir P1 prosesi bir P2 prosesinin ürettiği bir sonucu kullanıp işlem yapacaksa, P2’nin işini bitirip sonucunu üretmesini beklemeli
![Page 182: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/182.jpg)
182
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Prosesler Arasında Paylaşma Yoluyla İşbirliğiProsesler Arasında Paylaşma Yoluyla İşbirliği
Örnek: a=b korunacak, başta a=1, b=1
P1: a=a+1;b=b+1;
P2: b=2*b;a=2*a;
• Sıralı çalışırsa sonuçtaa=4 ve b=4 √
a=a+1;b=2*b;b=b+1;a=2*a;
• Bu sırayla çalışırsa sonuçtaa=4 ve b=3 Χ
![Page 183: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/183.jpg)
183
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Prosesler Arasında Haberleşme Yoluyla İşbirliğiProsesler Arasında Haberleşme Yoluyla İşbirliği
►Mesaj aktarımı yoluyla haberleşme– Karşılıklı dışlama gerekli değil
►Ölümcül kilitlenme olabilir– Birbirinden mesaj bekleyen prosesler
►Açlık olabilir– İki proses arasında mesajlaşır, üçüncü bir proses bu iki
prosesten birinden mesaj bekler
![Page 184: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/184.jpg)
184
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Karşılıklı Dışlama İçin GereklerKarşılıklı Dışlama İçin Gerekler
►Bir kaynağa ilişkin kritik bölgede sadece bir proses bulunabilir
►Kritik olmayan bölgesinde birdenbire sonlanan bir proses diğer prosesleri etkilememeli
►Ölümcül kilitlenme ve açlık olmamalı
![Page 185: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/185.jpg)
185
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Karşılıklı Dışlama İçin GereklerKarşılıklı Dışlama İçin Gerekler
►Kullanan başka bir proses yoksa kritik bölgesine girmek isteyen proses bekletilmemelidir.
►Proses sayısı ve proseslerin bağıl hızları ile ilgili kabuller yapılmamalıdır.
►Bir proses kritik bölgesi içinde sonsuza kadar kalamamalıdır.
![Page 186: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/186.jpg)
186
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
ÇözümlerÇözümler
►Yazılım çözümleri
►Donanıma dayalı çözümler
►Yazılım ve donanıma dayalı çözümler
![Page 187: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/187.jpg)
187
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Meşgul BeklemeMeşgul Bekleme
►Bellek gözü erişiminde bir anda sadece tek bir prosese izin var
►Meşgul bekleme
– Proses sürekli olarak kritik bölgesine girip giremeyeceğini kontrol eder
– Proses kritik bölgesine girene kadar başka bir işyapamaz, bekler.
– Yazılım çözümleri
– Donanım çözümleri
![Page 188: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/188.jpg)
188
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Meşgul Bekleme İçin Yazılım Çözümleri - 1Meşgul Bekleme İçin Yazılım Çözümleri - 1
►Meşgul beklemede bayrak/paylaşılan değişken kullanımı
►Karşılıklı dışlamayı garanti etmez
►Her proses bayrakları kontrol edip, boş bulup, kritik bölgesine aynı anda girebilir.
![Page 189: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/189.jpg)
189
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Meşgul Bekleme İçin Yazılım Çözümleri - 2Meşgul Bekleme İçin Yazılım Çözümleri - 2
►Ölümcül kilitlenme (deadlock)
►Ölümcül olmayan kilitlenme– proseslerin çalışma hızına göre problem sonsuza kadar devam
edebilir
►Açlık (starvation)
![Page 190: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/190.jpg)
190
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Meşgul Bekleme İçin Donanım Çözümleri⎯1Meşgul Bekleme İçin Donanım Çözümleri⎯1
►Özel makina komutları ile
►Tek bir komut çevriminde gerçekleşen komutlar
►Kesilemezler
test_and_set komutu
exchange komutu
![Page 191: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/191.jpg)
191
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Donanım DesteğiDonanım Desteği
►Test and Set Instructionboolean testset (int i) {
if (i == 0) {
i = 1;
return true;
}
else {
return false;
}
}
![Page 192: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/192.jpg)
192
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Donanım DesteğiDonanım Desteği
►Exchange Instructionvoid exchange(int register,
int memory) {
int temp;
temp = memory;
memory = register;
register = temp;
}
![Page 193: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/193.jpg)
193
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Donanım DesteğiDonanım Desteği
![Page 194: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/194.jpg)
194
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Meşgul Bekleme İçin Donanım Çözümleri⎯2Meşgul Bekleme İçin Donanım Çözümleri⎯2
►Sakıncaları
– Meşgul bekleme olduğundan bekleyen proses de işlemci zamanı harcar
– Bir proses kritik bölgesinden çıktığında bekleyen birden fazla proses varsa açlık durumu oluşabilir.
– Ölümcül kilitlenme riski var
![Page 195: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/195.jpg)
195
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Donanım Desteği ile Karşılıklı DışlamaDonanım Desteği ile Karşılıklı Dışlama
►Kesmeleri kapatmak– Normal durumda proses kesilene veya sistem çağrısı yapana
kadar çalışmaya devam eder.– Kesmeleri kapatmak karşılıklı dışlama sağlamış olur– Ancak bu yöntem işlemcinin birden fazla prosesi zaman
paylaşımlı olarak çalıştırma özelliğine karışmış olur
![Page 196: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/196.jpg)
196
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Makina Komutları ile Karşılıklı DışlamaMakina Komutları ile Karşılıklı Dışlama
►Yararları– İkiden fazla sayıda proses için de kolaylıkla kullanılabilir.
– Basit.
– Birden fazla kritik bölge olması durumunda da kullanılabilir.
![Page 197: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/197.jpg)
197
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Donanım + Yazılım Desteği ile Karşılıklı Dışlama: Semaforlar
Donanım + Yazılım Desteği ile Karşılıklı Dışlama: Semaforlar
►Prosesler arasında işaretleşme için semafor adı verilen özel bir değişken kullanılır.
►Semafor değişkeninin artmasını bekleyen prosesler askıya alınır.– signal(sem)
– wait(sem)
►wait ve signal işlemleri kesilemez
►Bir semafor üzerinde bekleyen prosesler bir kuyrukta tutulur
![Page 198: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/198.jpg)
198
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
SemaforlarSemaforlar
►Semafor tamsayı değer alabilen bir değişkendir– Başlangıç değeri ≥0 olabilir
– wait işlemi semaforun değerini bir eksiltir.
– signal işlemi semaforun değerini bir arttırır.
►Bu iki yol dışında semaforun değerini değiştirmek mümkün değildir.
![Page 199: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/199.jpg)
199
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
SemaforlarSemaforlar
►Sadece 0 veya 1 değerini alabilen semaforlara ikili semafor adı verilir.
► Herhangi bir tamsayı değeri alabilen semaforlara sayma semaforu adı verilir.
![Page 200: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/200.jpg)
200
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
SemaforSemafor
![Page 201: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/201.jpg)
201
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Binary Semaphore PrimitivesBinary Semaphore Primitives
![Page 202: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/202.jpg)
202
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Semaforlar ile Karşılıklı DışlamaSemaforlar ile Karşılıklı Dışlama
semafor s = 1;
P1()
begin
<KB olmayan kod>
wait(s);
<KB işlemleri>signal(s);
<KB olmayan kod>
end
semafor s = 1;
P2()
begin
<KB olmayan kod>
wait(s);
<KB işlemleri>signal(s);
<KB olmayan kod>
end
• KB: Kritik Bölge
• İkiden fazla proses de aynı kaynaklar üzerinde çalışıyor olabilir.
![Page 203: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/203.jpg)
203
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Semaforlar ile SenkronizasyonSemaforlar ile Senkronizasyon
semafor s = 0;
P1()
begin
<senkronizasyon noktası
öncesi işlemleri>
signal(s);
<senkronizasyon noktası sonrası
işlemleri>
end
semafor s = 0;
P2()
begin
<senkronizasyon noktası öncesi
işlemleri>
wait(s);
<senkronizasyon noktası sonrası
işlemleri>
end
• İkiden fazla prosesin senkronizasyonu da olabilir.
![Page 204: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/204.jpg)
204
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Örnek: Üretici/Tüketici ProblemiÖrnek: Üretici/Tüketici Problemi
►Bir veya daha fazla sayıda üretici ürettikleri veriyi bir tampon alana koyar
►Tek bir tüketici verileri birer birer bu tampon alandan alır ve kullanır
►Tampon boyu sınırsız
![Page 205: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/205.jpg)
205
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Örnek: Üretici/Tüketici ProblemiÖrnek: Üretici/Tüketici Problemi
►Belirli bir anda sadece bir üretici veya tüketici tampon alana erişebilir
⇒ karşılıklı dışlama
►Hazır veri yoksa, tüketici bekler
⇒ senkronizasyon
![Page 206: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/206.jpg)
206
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Üretici / Tüketici ProblemiÜretici / Tüketici Problemi
producer:
while (true) {
/* produce item v */
b[in] = v;
in++;
}
consumer:while (true) {
while (in <= out) /*do nothing */;
w = b[out];out++; /* consume item w */
}
![Page 207: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/207.jpg)
207
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Producer/Consumer ProblemProducer/Consumer Problem
![Page 208: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/208.jpg)
208
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Producer with Circular BufferProducer with Circular Buffer
producer:
while (true) {
/* produce item v */
while ((in + 1) % n == out) /* do nothing */;
b[in] = v;
in = (in + 1) % n
}
![Page 209: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/209.jpg)
209
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Consumer with Circular BufferConsumer with Circular Buffer
consumer:
while (true) {
while (in == out)
/* do nothing */;
w = b[out];
out = (out + 1) % n;
/* consume item w */
}
![Page 210: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/210.jpg)
210
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
![Page 211: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/211.jpg)
211
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Üretici / Tüketici Problemi (Sonsuz Büyüklükte Tampon)Üretici / Tüketici Problemi (Sonsuz Büyüklükte Tampon)
semafor s=1;
semafor n=0;
uretici()
begin
while(true)
begin
uret();
wait(s);
tampona_ekle();
signal(s);
signal(n);
end
end
semafor s=1;
semafor n=0;
tuketici()
begin
while(true)
begin
wait(n);
wait(s);
tampondan_al();
signal(s);
tuket();
end
end
Not: Birden fazla üretici prosesi çalışabilir. Tüketici prosesi tek.
![Page 212: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/212.jpg)
212
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Örnek: Okuyucu / Yazıcı ProblemiÖrnek: Okuyucu / Yazıcı Problemi
►Birden fazla okuyucu dosyadan okuma yapabilir.
►Bir anda sadece bir yazıcı dosyaya yazma yapabilir ⇒karşılıklı dışlama
►Bir yazıcı dosyaya yazıyorsa okuyucu aynı anda okuyamaz ⇒ karşılıklı dışlama
![Page 213: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/213.jpg)
213
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Overview of IPCOverview of IPC
►System V Interprocess Communications
►ipcs — Lists all current IPC objects
►ipcrm — Removes all IPC objects
►IPC Objects
– Message
– Shared Memory
– Semaphore
![Page 214: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/214.jpg)
214
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
System V Interprocess CommunicationsSystem V Interprocess Communications
$ ipcsipcsIPC status from <running system> as of Fri Sep 3 08:50:16 BST 2006T ID KEY MODE OWNER GROUPMessage Queues:q 00xdead-Rrw-rw-rw-marcusginstructq 10xbeef-Rrw-rw-rw-marcusginstructShared Memory:m 00xfeed--rw-rw-rw-marcusginstructm 10xdeaf--rw-rw-rw-marcusginstructSemaphores:s 20xcafe--ra-ra-ra-marcusginstructs 30xface--ra-ra-ra-marcusginstruct
![Page 215: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/215.jpg)
215
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
System V Interprocess CommunicationsSystem V Interprocess Communications
$ ipcrmipcrm -q0 -m1 -s2
$ ipcs
IPC status from <running system> as of Fri Sep 3 08:51:04 BST 2006
T ID KEY MODE OWNER GROUP
Message Queues:
q 10xbeef-Rrw-rw-rw-marcusginstruct
Shared Memory:
m 00xfeed--rw-rw-rw-marcusginstruct
Semaphores:
s 30xface--ra-ra-ra-marcusginstruct
$
![Page 216: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/216.jpg)
216
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
API Features Common to System V IPCAPI Features Common to System V IPC
►key_t key — Used to specify the IPC object at create and get time
►int id — Handle used to access the IPC object
►ftok(3C) — Generates a key from a filename and numeric value
►xxxget(2) — “Get” function that takes a key and returns an id
►xxxctl(2) — “Control” function for setup, delete, admin, and debugging
![Page 217: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/217.jpg)
217
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
ftok()ftok()
►ftok(3C) function generates a key from a path name, plus some integer value.
►The contents of the file do not determine the key, but rather its inodeinode number does
►Syntax#include <sys/ipc.h>
key_t ftokftok (const char *path,int id);
![Page 218: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/218.jpg)
218
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
The xxxget FunctionThe xxxget Function
►The “Get” functions take a key and return an identifier to an IPC resource.
►Each IPC resource has its own “Get” functionint msgget(key_t key, int flag);
int shmget(key_t key,size_t size,int flag);
int semget(key_t key,int numsems,int flag);
![Page 219: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/219.jpg)
219
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
ExampleExample
key_t key;
int id;
key= ftok(“/home/kurt/keyfile”,1);
…
id= msgget(key,flag);
![Page 220: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/220.jpg)
220
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
The xxxctl FunctionThe xxxctl Function
►The “ctl” functions takes commands for setting up, deleting, doing administration, and debugging.
►Each IPC resource has its own “ctl” functionint msgctl(id, IPC_RMID,(struct msqid_ds *)NULL);
int shmctl(id, IPC_RMID, (struct shmid_ds *)NULL);
int semctl(id,ignored, IPC_RMID,(union semun *)NULL);
![Page 221: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/221.jpg)
221
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
LINUX’da Semafor İşlemleriLINUX’da Semafor İşlemleri
►Semafor ile ilgili tutulan bilgiler:
– semaforun değeri
– semaforun =0 olmasını bekleyen proses sayısı
– semaforun değerinin artmasını bekleyen proses sayısı
– semafor üzerinde işlem yapan son prosesin kimliği (pid)
![Page 222: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/222.jpg)
222
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
LINUX’da Semafor İşlemleriLINUX’da Semafor İşlemleri
►Başlık dosyaları: – sys/ipc.h
– sys/sem.h
– sys/types.h
►Yaratmaint semget(key_t key, int nsems,int semflg);
semflag : IPC_CREAT|0700
![Page 223: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/223.jpg)
223
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
LINUX’da Semafor İşlemleriLINUX’da Semafor İşlemleri
►İşlemlerint semop(int semid, struct sembuf *sops,
unsigned nsops);
struct sembuf{
...
unsigned short sem_num; /*numaralama 0 ile baslar*/
short sem_op;
short sem_flg;
};
sem_flg: SEM_UNDO (proses sonlanınca işlemi geri al)IPC_NOWAIT (eksiltemeyince hata ver ve dön)
sem_op : =0 sıfır olmasını bekle (okuma hakkı olmalı)
≠0 değer semafor değerine eklenir (değiştirme hakkı olmalı)
![Page 224: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/224.jpg)
224
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
LINUX’da Semafor İşlemleriLINUX’da Semafor İşlemleri
►Değer kontrolü
int semctl(int semid,int semnum,int cmd, arg);
cmd: IPC_RMID
GETVAL
SETVAL
![Page 225: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/225.jpg)
225
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
LINUX’da Semafor İşlemleriLINUX’da Semafor İşlemleri
►Eksiltme işlemi gerçeklemesi
void sem_wait(int semid, int val)
{
struct sembuf semafor;
semafor.sem_num=0;
semafor.sem_op=(-1*val);
semafor.sem_flg=0;
semop(semid, &semafor,1);
}
![Page 226: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/226.jpg)
226
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
LINUX’da Semafor İşlemleriLINUX’da Semafor İşlemleri
►Artırma işlemi gerçeklemesi
void sem_signal(int semid, int val)
{
struct sembuf semafor;
semafor.sem_num=0;
semafor.sem_op=val;
semafor.sem_flg=0;
semop(semid, &semafor,1);
}
![Page 227: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/227.jpg)
227
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <sys/wait.h>#include <signal.h>#include <sys/ipc.h>#include <sys/sem.h>
#define SEMKEY 1234
int sonsem;
void signal12(void){}
Linux’da Semafor İşlemleri Örneği-1Linux’da Semafor İşlemleri Örneği-1
![Page 228: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/228.jpg)
228
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
void sem_signal(int semid, int val){struct sembuf semafor;semafor.sem_num=0;semafor.sem_op=val;semafor.sem_flg=0;semop(semid, &semafor,1);
}
void sem_wait(int semid, int val){
struct sembuf semafor;semafor.sem_num=0;semafor.sem_op=(-1*val);semafor.sem_flg=0;semop(semid, &semafor,1);
}
Linux’da Semafor İşlemleri Örneği - 2Linux’da Semafor İşlemleri Örneği - 2
![Page 229: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/229.jpg)
229
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
int main(void){
int f;
sem=semget(SEMKEY, 1, 0700|IPC_CREAT);semctl(sem, 0, SETVAL,0);f=fork();
if (f==-1){
printf("fork error\n");exit(1);
}
Linux’da Semafor İşlemleri Örneği - 3Linux’da Semafor İşlemleri Örneği - 3
![Page 230: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/230.jpg)
230
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
if (f>0) /*anne */{
printf(“Anne calışmaya başladı…\n”); sem_wait(sem,10);
printf("cocuk semaforu artırdı\n");semctl(sem,0,IPC_RMID,0);
}
Linux’da Semafor İşlemleri Örneği - 4Linux’da Semafor İşlemleri Örneği - 4
![Page 231: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/231.jpg)
231
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
else /*cocuk */{printf(“ Cocuk çalışmaya başladı…\n”);sem=semget(SEMKEY, 1,0);
sem_signal(sem,1);printf(” Cocuk: semafor değeri = %d\n”,
semctl(sonsem,0,GETVAL,0)); } return(0);
}
Linux’da Semafor İşlemleri Örneği - 5Linux’da Semafor İşlemleri Örneği - 5
![Page 232: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/232.jpg)
232
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Linux’da Sinyal MekanizmasıLinux’da Sinyal Mekanizması
►sinyaller asenkron işaretlerdir
– işletim sistemi prosese yollayabilir:
donanım/yazılım kesmesi, örneğin sıfıra bölme
– bir proses bir başka prosese yollayabilir, kill()
– kullanıcı bir proses yollayabilir, kill komutu yada CTRL+C
►sinyal alınınca yapılacak işler tanımlanır
►öntanımlı işleri olan sinyaller var
– öntanımlı işler değiştirilebilir
– SIGKILL (9 no.lu) sinyali yakalanamaz
![Page 233: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/233.jpg)
233
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Sistem Tarafından Üretilen SinyallerSistem Tarafından Üretilen Sinyaller
►Sistem, proses yanlış bir işlem yürüttüğünde ona bir sinyal gönderir
►Örnekler
– SIGSEGV – Segmantation Violation
– SIGBUS – Bus Error (trying to access bad address)
– SIGFPE – FP Exception (ex. divide by zero)
![Page 234: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/234.jpg)
234
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Kullanıcı Tarafından Üretilen SinyallerKullanıcı Tarafından Üretilen Sinyaller
►Kullanıcı, tuş takımını kullanarak prosese sinyal gönderebilir
►Örnekler
– SIGINT – Interrupy (Control-C)
– SIGQUIT – Quit (Control-\)
– SIGTSTP – Stop (Control-z)
![Page 235: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/235.jpg)
235
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Proses Tarafından Üretilen SinyallerProses Tarafından Üretilen Sinyaller
►Bir proses başka bir prosese kill() sistem çağrısınıkullanarak sinyal gönderebilir
►Örnekler
– SIGKILL – Kill (herzaman prosesin sonlanmasına neden olur)
– SIGTERM – Software termination (SIGKILL’e göre daha temiz)
– SIGUSR1 ve SIGUSR2– Kullanıcı tanımlı sinyaller, uygulama geliştirirken faydalı
![Page 236: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/236.jpg)
236
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Prosesin Sinyali Aldığındaki DavranışıProsesin Sinyali Aldığındaki Davranışı
►Varsayılan Davranışlar
– Boş ver
– Sonlan
– Dur/Devam Et
►Sinyali yakala ve işle►Sinyalleri Maskelemek
►Sinyalleri Bloke Etmek
![Page 237: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/237.jpg)
237
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Sending SignalsSending Signals
►kill()— Sends a signal to a process or process group
►sigsend()— Sends a signal to a process or group ofprocesses
►raise()— Enables a process to send a signal to itself
►abort()— Sends a message to kill the current process
![Page 238: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/238.jpg)
238
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Linux’da Sinyal MekanizmasıLinux’da Sinyal Mekanizması
<sys/types.h>
<signal.h>
int kill(pid_t pid,int sig);
![Page 239: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/239.jpg)
239
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Example: kill()Example: kill()
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>
main(){
kill(getppid(),SIGUSR1);
}
![Page 240: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/240.jpg)
240
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
void signal12(void)
{
printf("12 numarali sinyali aldim. \n");
exit(0);
}
Linux’da Sinyal Mekanizması Örnek-1Linux’da Sinyal Mekanizması Örnek-1
![Page 241: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/241.jpg)
241
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
int main (void)
{
int f;
signal(12, (void *)signal12);
f=fork();
if (f==-1)
{
printf("fork hatasi\n");
exit(1);
}
Linux’da Sinyal Mekanizması Örnek - 2Linux’da Sinyal Mekanizması Örnek - 2
![Page 242: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/242.jpg)
242
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
else if (f==0) /*cocuk*/
{
printf(" COCUK: basladi\n");
pause();
}
else /*anne*/
{
printf("ANNE: basliyorum...\n");
sleep(3);
printf("ANNE: cocuga sinyal yolluyorum\n");
kill(f,12);
exit(0);
}
return 0;
}
Linux’da Sinyal Mekanizması Örnek - 3Linux’da Sinyal Mekanizması Örnek - 3
![Page 243: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/243.jpg)
243
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Sending Signals to Process Group: sigsend()Sending Signals to Process Group: sigsend()
<sys/types.h>
<signal.h>
int sigsend(idtype_t type,id_t id, intsig);
![Page 244: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/244.jpg)
244
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Example: sigsend()Example: sigsend()
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>
main(){
sigsend(P_PGID,getpgid(getpid()),SIGUSR1);
}
![Page 245: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/245.jpg)
245
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
raise()raise()
►Prosesin kendisine sinyal göndermesini sağlar
<sys/types.h>
<signal.h>
int raise(int sig);
![Page 246: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/246.jpg)
246
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
abort()abort()
►Prosesin kendisine SIGABRT sinyalini göndermesini sağlar
<sys/types.h>
<signal.h>
int abort();
![Page 247: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/247.jpg)
247
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
►Birden fazla proses tarafından ortak kullanılan bellek bölgeleri
►Prosesin adres uzayına eklenir
►Başlık dosyaları:
– sys/ipc.h
– sys/shm.h
– sys/types.h
Linux’da Paylaşılan Bellek MekanizmasıLinux’da Paylaşılan Bellek Mekanizması
![Page 248: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/248.jpg)
248
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Linux’da Paylaşılan Bellek MekanizmasıLinux’da Paylaşılan Bellek Mekanizması
►Paylaşılan bellek bölgesi yaratmaint shmget(key_t key,int size,int shmflag);shmflag: IPC_CREAT|0700
►Adres uzayına eklemevoid *shmat(int shmid,const *shmaddr,intshmflg);
►Adres uzayından çıkarmaint shmdt(const void *shmaddr);
►Sisteme geri vermeint shmctl(int shmid, int cmd, structshmid_ds *buf);
cmd: IPC_RMID
![Page 249: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/249.jpg)
249
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Linux’da Paylaşılan Bellek MekanizmasıLinux’da Paylaşılan Bellek Mekanizması
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#define SHMKEY 5678
![Page 250: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/250.jpg)
250
Pro
sesl
er A
rası
Hab
erleşm
e4
İşletim Sistemleri
Linux’da Paylaşılan Bellek MekanizmasıLinux’da Paylaşılan Bellek Mekanizmasıint main (void)
{
int *pb, pbid, i;
pbid=shmget(SHMKEY, sizeof(int),0700|IPC_CREAT);
pb=(int *)shmat(pbid,0,0);
*pb=0;
for (i=0;i<10;i++)
{
(*pb)++;
printf("yeni deger %d\n", (*pb));
}
shmdt((void *)pb);
return 0;
}
![Page 251: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/251.jpg)
ÖÖLLÜÜMCMCÜÜL KL KİİLLİİTLENMETLENME5
![Page 252: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/252.jpg)
252
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül KilitlenmeÖlümcül Kilitlenme
►Sistem kaynaklarını ortak olarak kullanan veya birbiri ilehaberleşen bir grup prosesin kalıcı olarak bloke olmasıdurumu : ölümcül kilitlenme
►Birden fazla proses olması durumunda proseslerin birkaynağı ellerinde tutmaları ve bir başka kaynağı istemeleridurumunda ölümcül kilitlenme olası.
►Etkin bir çözüm yok
![Page 253: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/253.jpg)
253
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
a) Olası ölümcül kilitlenme b) Ölümcül kilitlenme
![Page 254: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/254.jpg)
254
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenme Örneği - 1Ölümcül Kilitlenme Örneği - 1
![Page 255: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/255.jpg)
255
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
![Page 256: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/256.jpg)
256
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
![Page 257: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/257.jpg)
257
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenme Örneği - 2Ölümcül Kilitlenme Örneği - 2
►200K sekizlilik bir bellek bölgesi proseslere atanabilir durumda ve aşağıdaki istekler oluşuyor:
►Her iki proses de ilk isteklerini aldıktan sonra ikinci isteklerine devam ederlerse kilitlenme oluşur.
P1 Prosesi80K sekizli iste...60K sekizli iste
P2 Prosesi70K sekizli iste...80K sekizli iste
![Page 258: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/258.jpg)
258
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenme Örneği - 3Ölümcül Kilitlenme Örneği - 3
►Mesaj alma komutu bloke olan türden ise ölümcül kilitlenme olabilir.
P1 Prosesi
Al (P2);...Gönder (P2,M1);
P2 Prosesi
Al (P1);...Gönder (P1,M2);
![Page 259: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/259.jpg)
259
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenme Olması İçin Gereken KoşullarÖlümcül Kilitlenme Olması İçin Gereken Koşullar
►Karşılıklı dışlama
►Proseslerin ellerine geçirdikleri kaynakları diğer istedikleri kaynakları da ele geçirene kadar bırakmamaları
►Proseslerin ellerinde tuttukları kaynaklar işletim sistemi tarafından zorla geri alınamıyorsa (“pre-emption” yok)
![Page 260: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/260.jpg)
260
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenme Olması İçin Gereken KoşullarÖlümcül Kilitlenme Olması İçin Gereken Koşullar
►Çevrel bekleme durumu oluşuyorsa
![Page 261: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/261.jpg)
261
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Kaynak Atama GrafıKaynak Atama Grafı
►Yönlü bir graf
►Kaynakların ve proseslerin durumunu gösterir
►Prosesler Pi ve kaynaklar Kj olsun. – R3 → P5 : Bir adet R3 kaynağının P5 prosesine atanmış olduğunu
gösterir: atama kenarı
– P2 → R1 : P2 prosesi bir adet R1 kaynağı için istekte bulunmuştur: istek kenarı
![Page 262: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/262.jpg)
262
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Kaynak Atama GrafıKaynak Atama Grafı
Örnek:P, R ve E kümeleri olsun.
– P={P1,P2,P3}
– R={R1,R2,R3,R4}
– E={P1→R1, P2→R3, R1→P2, R2→P2, R2→P1, R3→P3}
Kaynaklar:• 1 adet R1
• 2 adet R2
• 1 adet R3
• 3 adet R4
Proses Durumları:• P1: bir adet R2 elinde tutuyor,
bir adet R1 istiyor• P2: birer adet R1 ve R2 elinde tutuyor,bir adet R3 istiyor• P3: bir adet R3 elinde tutuyor
![Page 263: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/263.jpg)
263
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
ÖrnekÖrnek
![Page 264: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/264.jpg)
264
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Kaynak Atama GrafıKaynak Atama Grafı
P1P2 P3
R1R3
R2R4
![Page 265: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/265.jpg)
265
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Kaynak Atama GrafıKaynak Atama Grafı
R3
P1P2 P3
R1
R2R4
P3→R2 eklensin.
Çevrimler:P1→R1→P2→R3→P3→R2→P1P2→R3→P3→R2→P2
P1, P2 ve P3
Ölümcül kilitlenmedurumundalar!
![Page 266: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/266.jpg)
266
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Kaynak Atama GrafıKaynak Atama Grafı
P1
P2
P3
P4
R1
R2
Ölümcül kilitlenmedurumu yok.NEDEN?
![Page 267: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/267.jpg)
267
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenme Durumunda Kullanılan Yaklaşımlar
Ölümcül Kilitlenme Durumunda Kullanılan Yaklaşımlar
►Sistemin hiçbir zaman ölümcül kilitlenme durumuna girmemesini sağlamak
►Sistemin, ölümcül kilitlenme durumuna girdikten sonra bu durumdan kurtulmasını sağlamak
►Problemi gözardı edip sistemde ölümcül kilitlenme olmayacağını varsaymak
![Page 268: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/268.jpg)
268
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenme Durumunda Kullanılan Yaklaşımlar
Ölümcül Kilitlenme Durumunda Kullanılan Yaklaşımlar
►Sistemin hiçbir zaman ölümcül kilitlenme durumuna girmemesini sağlamak– ölümcül kilitlenmeyi önlemek
– ölümcül kilitlenmeden kaçınmak
![Page 269: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/269.jpg)
269
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi ÖnlemeÖlümcül Kilitlenmeyi Önleme
►Ölümcül kilitlenmenin oluşmasının mümkün olmadığı bir sistem tasarlanması
– Dört gerekli koşuldan en az birinin geçerli olmaması
![Page 270: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/270.jpg)
270
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi ÖnlemeÖlümcül Kilitlenmeyi Önleme
►Karşılıklı Dışlama:– Paylaşılan kaynaklar olması durumunda bu koşulun
engellenmesi mümkün değil.
►Tut ve Bekle:– Kaynak isteyen prosesin elinde başka k aynak tutmuyor
olmasının sağlanması
– Proseslerin tüm kaynak isteklerini baştan belirtmeleri ve tüm istekleri birden karşılanana kadar proseslerin bekletilmesi yaklaşımı ile bu koşul engellenebilir.
![Page 271: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/271.jpg)
271
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi ÖnlemeÖlümcül Kilitlenmeyi Önleme
►Etkin değil:
– Proses tüm istekleri karşılanana kadar çok bekleyebilir, halbuki bir kısım kaynağını ele geçirerek işinin bir bölümünü bitirebilir.
– Bir prosese atanan kaynakların bir kısmı bir süre kullanılmadan boş bekleyebilir.
►Proses tüm kaynak ihtiyaçlarını baştan bilemeyebilir.
![Page 272: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/272.jpg)
272
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi ÖnlemeÖlümcül Kilitlenmeyi Önleme
►Diğer yöntem: Bir prosesin yeni bir kaynak isteğinde bulunduğunda, kaynak ataması yapılmadan önce elindeki tüm kaynakları bırakmasının beklenmesi:
– kaynak kullanımı etkin değil
– tutarlılık sorunu olabilir
►Her iki yöntemde de açlık (starvation) olası.
![Page 273: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/273.jpg)
273
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi ÖnlemeÖlümcül Kilitlenmeyi Önleme
Örnek: Teyp sürücüsündeki verileri okuyup diskte bir dosyaya
yazan, sonra diskteki dosyadaki bilgileri sıralayıp, yazıcıya bastıran proses.
►Her iki yöntemin farkı ne?
►Her iki yöntemin sorunları ne?
![Page 274: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/274.jpg)
274
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi ÖnlemeÖlümcül Kilitlenmeyi Önleme
►Pre-Emption Olmaması Koşulu :– Elinde bazı kaynakları tutan bir prosesin yeni bir isteği
karşılanamıyorsa elindekileri de bırakması ve gerekiyorsa yeni kaynakla birlikte tekrar istemesi ile bu koşul engellenebilir.
– Bir proses bir başka proses tarafından elinde tutulan bir kaynak isterse, ikinci prosesin kaynaklarını bırakmasıişletim sistemi tarafından sağlanabilir. (Bu yöntem proseslerin eşit öncelikli olmadıkları durumda uygulanabilir.)
– Bu yaklaşım durumları saklanabilen ve yeniden yüklenebilen kaynaklar için uygun.
![Page 275: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/275.jpg)
275
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi ÖnlemeÖlümcül Kilitlenmeyi Önleme
►Çevrel Bekleme Koşulu:– Kaynak tipleri arasında lineer bir sıralama belirleyerek
önlenebilir.
• Örneğin elinde R tipi kaynaklar tutan bir proses sadece lineer sıralamada R’yi izleyen kaynaklarıalabilir.
– Bu yöntem de prosesleri yavaşlatmasının ve kaynaklarıgereksiz yere boş bekletmesinin olası olması nedeniyle etkin değil
![Page 276: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/276.jpg)
276
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi ÖnlemeÖlümcül Kilitlenmeyi Önleme
K1 K2 KN
P1 P2
atanmış
istekatanmış
istek• K2 lineer sırada K1’den sonra.• K2’yi elinde tutan P2, K1 içinistekte bulunamaz.
![Page 277: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/277.jpg)
277
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeden KaçınmaÖlümcül Kilitlenmeden Kaçınma
►Yeni bir kaynak isteği geldiğinde, bu isteğin karşılanmasının bir kilitlenmeye neden olup olamayacağıdinamik olarak belirlenir.
►Proseslerin gelecekteki kaynak istekleri (ne zaman ve hangi sırayla) ve kaynakları geri verme anları hakkında önceden bilgi gerektirir.
![Page 278: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/278.jpg)
278
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeden KaçınmaÖlümcül Kilitlenmeden Kaçınma
►Temel olarak iki yöntem var:
– Eğer istekleri bir ölümcül kilitlenmeye yol açabilecekse prosesi başlatma
– Eğer istek bir ölümcül kilitlenmeye yol açabilecekse prosesin ek kaynak isteklerini karşılama.
![Page 279: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/279.jpg)
279
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Prosesin Başlamasının ÖnlenmesiProsesin Başlamasının Önlenmesi
►n adet proses ve m adet farklı tip kaynak olsun.
►Sistemdeki tüm kaynaklar:
Kaynak=(R1, R2, ..., Rm)
►Sistemdeki boş kaynaklar:
Boş=(V1, V2, ..., Vm)
![Page 280: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/280.jpg)
280
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Prosesin Başlamasının ÖnlenmesiProsesin Başlamasının Önlenmesi
►Proseslerin her kaynak için maksimum istek matrisi:
C11 C12 ..... C1m
İstek= C21 C22 ...... C2m
..............
Cn1 Cn2 ...... Cnm
![Page 281: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/281.jpg)
281
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Prosesin Başlamasının ÖnlenmesiProsesin Başlamasının Önlenmesi
►Proseslere şu anda her kaynaktan atanmış olanların gösterildiği matris:
A11 A12 ... A1m
Atanmış = A21 A22 ... A2m
..............
An1 An2 ... Anm
![Page 282: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/282.jpg)
282
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Prosesin Başlamasının ÖnlenmesiProsesin Başlamasının Önlenmesi
►Tüm kaynaklar ya boştur ya da kullanılmaktadır.
►Prosesler sistemde bulunandan daha fazla kaynak isteğinde bulunamaz.
►Prosese, ilk başta belirttiğinden fazla kaynak atamasıyapılmaz.
![Page 283: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/283.jpg)
283
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Prosesin Başlamasının ÖnlenmesiProsesin Başlamasının Önlenmesi
►Pn+1 prosesini ancak ve ancak aşağıdaki koşul gerçeklendiğinde başlat:
Ri ≥ C(n+1)i + Σ Cki , tüm i’ler için
►Optimal değil. Tüm proseslerin maksimum kaynak gereksinimlerini birden isteyeceğini varsayar.
k=1
n
![Page 284: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/284.jpg)
284
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Kaynak Atamasının EngellenmesiKaynak Atamasının Engellenmesi
►Banker algoritması►Sistemde sabit sayıda proses ve kaynak var.
►Sistemin durumu: Kaynakların proseslere o anki ataması⇒ durum Kaynak ve Boş vektörlerinden ve Atanmış ve İstek matrislerinden oluşur.
►Emin durum: Ölümcül kilitlenmeye yol açmayacak en az bir atama sekansı olduğu durum (yani tüm proseslerin sonlanabileceği durum)
►Emin olmayan durum
![Page 285: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/285.jpg)
285
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Emin Durumun BelirlenmesiBaşlangıç Durumu
Emin Durumun BelirlenmesiBaşlangıç Durumu
Bu emin bir durum mu?
![Page 286: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/286.jpg)
286
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Emin Durumun BelirlenmesiP2 Sonlanır
Emin Durumun BelirlenmesiP2 Sonlanır
![Page 287: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/287.jpg)
287
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Emin Durumun BelirlenmesiP1 Sonlanır
Emin Durumun BelirlenmesiP1 Sonlanır
![Page 288: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/288.jpg)
288
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Emin Durumun BelirlenmesiP3 Sonlanır
Emin Durumun BelirlenmesiP3 Sonlanır
En son olarak da P4 sonlanır ⇒ Emin Durum √
![Page 289: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/289.jpg)
289
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeden KaçınmaÖlümcül Kilitlenmeden Kaçınma
►Bir proses bir grup kaynak için istekte bulunduğunda işletim sistemi,
– Kaynakların atandığını varsayarak sistem durumunu günceller.
– Yeni durum emin bir durum mu diye kontrol eder.
– Emin ise atamayı gerçekleştirir.– Emin değilse atamayı yapmaz ve istekte bulunan
prosesi isteklerin karşılanması uygun olana kadar bloke eder.
![Page 290: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/290.jpg)
290
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Emin Olmayan Durumun Belirlenmesi: Başlangıç Durumu
Emin Olmayan Durumun Belirlenmesi: Başlangıç Durumu
P2 bir adet R1 ve bir adet de R3 kaynağı için daha istekte bulunursa ne olur?
![Page 291: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/291.jpg)
291
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Emin Olmayan Durumun BelirlenmesiEmin Olmayan Durumun Belirlenmesi
P1 bir adet R1 ve bir adet de R3 kaynağı için daha istekte bulunursa ne olur?
![Page 292: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/292.jpg)
292
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Emin Olmayan Durumun BelirlenmesiEmin Olmayan Durumun Belirlenmesi
►Emin bir durum değil. Bu nedenle P1’in yeni istekleri karşılanmaz ve P1 bloke edilir.
►Oluşan durum ölümcül kilitlenme durumu değildir sadece ölümcül kilitlenme oluşması potansiyelini taşımaktadır.
![Page 293: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/293.jpg)
293
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeden KaçınmaÖlümcül Kilitlenmeden Kaçınma
►Kullanımındaki kısıtlamalar:
– Her prosesin maksimum kaynak ihtiyacı önceden belirtilmeli.
– Prosesler birbirlerinden bağımsız olmalı. Koşma sıralarının önemi olmamalı.
– Kaynak sayısı sabit olmalı.
– Elinde kaynak tutan proses kaynakları bırakmadan sonlanmamalı.
![Page 294: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/294.jpg)
294
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi SezmeÖlümcül Kilitlenmeyi Sezme
►Ölümcül kilitlenmeyi önleme yöntemleri kadar kısıtlayıcıdeğil.
►Tüm kaynak istekleri karşılanır. İşletim sistemi periyodik olarak sistemde çevrel bekleme durumu oluşup oluşmadığını kontrol eder.
►Kontrol sıklığı ölümcül kilitlenme oluşması sıklığına bağlıdır: Her yeni kaynak isteğinde bile yapılabilir.
![Page 295: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/295.jpg)
295
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi SezmeÖlümcül Kilitlenmeyi Sezme
►Ölümcül kilitlenmenin sezilmesi için kullanılan algoritmada Atanmış matrisi ve Boş vektörü kullanılıyor. Q istek matrisi tanımlanıyor. (Burada qij: i. prosesinin j tipi kaynaktan kaç tane istediği.)
►Algoritma kilitlenmemiş prosesleri belirleyip işaretler.
►Başlangıçta tüm prosesler işaretsizdir. Aşağıdaki adımlar gerçekleştirilir:
![Page 296: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/296.jpg)
296
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi SezmeÖlümcül Kilitlenmeyi Sezme
►Adım 1: Atanmış matrisinde bir satırının tamamı sıfır olan prosesleri işaretle.
►Adım 2: Boş vektörüne karşılık düşecek bir W geçici vektörü oluştur.
►Adım 3: Q matrisinin i. satırındaki tüm değerlerin W vektöründeki değerlerden küçük ya da eşit olduğu bir i belirle (Pi henüz işaretlenmemiş olmalı).
Qik ≤ Wk , 1 ≤ k ≤ m
![Page 297: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/297.jpg)
297
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi SezmeÖlümcül Kilitlenmeyi Sezme
►Adım 4: Böyle bir satır bulunamıyorsa algoritmayısonlandır.
►Adım 5: Böyle bir satır bulunduysa i prosesini işaretle ve Atanmış matrisinde karşılık düşen satırı W vektörüne ekle.
Wk = Wk + Aik , 1 ≤ k ≤ m
►Adım 6: Adım 3’e dön.
►Algoritma sonlandığında işaretsiz proses varsa ⇒Ölümcül kilitlenme var.
![Page 298: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/298.jpg)
298
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi SezmeÖlümcül Kilitlenmeyi Sezme
►Algoritma sonlandığında işaretsiz proses varsa ⇒Ölümcül kilitlenme var.
►İşaretsiz prosesler kilitlenmiş.►Temel yaklaşım, mevcut kaynaklarla istekleri
karşılanabilecek bir proses bulmak, kaynakları atamak ve o proses koşup sonlandıktan sonra bir başka prosesin aranmasıdır.
►Algoritma sadece o an ölümcül kilitlenme olup olmadığınısezer.
![Page 299: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/299.jpg)
299
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenmeyi SezmeÖlümcül Kilitlenmeyi Sezme
1) P4’ü işaretle.2) W = (0 0 0 0 1)3) P3’ün isteği W’dan küçük veya eşit ⇒ P3 işaretle.
W = W + (0 0 0 1 0) = (0 0 0 1 1)4) İşaretsiz hiçbir proses için Q’daki ilgili satır W’dan küçük ya da eşit değil ⇒Algoritmayı sonlandır.
Sonuçta P1 ve P2 isaretsiz ⇒ kilitlenmişler
![Page 300: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/300.jpg)
300
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Ölümcül Kilitlenme Sezildikten Sonra Yapılabilecekler
Ölümcül Kilitlenme Sezildikten Sonra Yapılabilecekler
►Tüm kilitlenmiş prosesleri sonlandır.►Tüm kilitlenmiş proseslerin eski bir kontrol noktasına
kadar kopyasını al ve tüm prosesleri bu noktadan yeniden başlat. – aynı ölümcül kilitlenme yeniden oluşabilir
►Kilitlenme ortadan kalkana kadar sırayla kilitlenmişprosesleri sonlandır.
►Kilitlenme ortadan kalkana kadar, sırayla atanmışkaynakları geri al.
![Page 301: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/301.jpg)
301
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Kilitlenmiş Prosesler İçin Seçim KriterleriKilitlenmiş Prosesler İçin Seçim Kriterleri
►O ana kadar en az işlemci zamanı kullanmış olan
►O ana kadar en az sayıda çıktı satırı oluşturmuş olan
►Beklenen çalışma süresi en uzun olan
►O ana kadar en az kaynak atanmış olan
►En düşük öncelikli olan
![Page 302: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/302.jpg)
302
Ölü
mcü
l Kil
itlen
me
5
İşletim Sistemleri
Makarnacı Düşünürler ProblemiMakarnacı Düşünürler Problemi
![Page 303: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/303.jpg)
İŞİŞ SIRALAMASIRALAMA6
![Page 304: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/304.jpg)
304
İşSı
rala
ma
6
İşletim Sistemleri
İş Sıralamaİş Sıralama
►Çok programlı ortamlarda birden fazla proses belirli bir anda bellekte bulunur
►Çok programlı ortamlarda prosesler:
– işlemciyi kullanır
– bekler
• giriş çıkış bekler
• bir olayın olmasını bekler
![Page 305: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/305.jpg)
305
İşSı
rala
ma
6
İşletim Sistemleri
İş Sıralamaİş Sıralama
►Çok programlı ortamlarda işlemcinin etkin kullanımı için iş sıralama yapılır
►İş sıralama işletim sisteminin temel görevleri arasında
– işlemci de bir sistem kaynağı
![Page 306: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/306.jpg)
306
İşSı
rala
ma
6
İşletim Sistemleri
İş Sıralamanın Amaçlarıİş Sıralamanın Amaçları
►İşleri zaman içinde işlemciye yerleştirmek
►Sistem hedeflerine uygun olarak:– İşlemci verimi
– Cevap süresi (response time)
– Debi (throughput)
![Page 307: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/307.jpg)
307
İşSı
rala
ma
6
İşletim Sistemleri
İş Sıralama Türleri - 1İş Sıralama Türleri - 1
►Uzun vadeli iş sıralama: Yürütülecek prosesler havuzuna ekleme kararı
►Orta vadeli iş sıralama: Kısmen veya tamamen bellekte yer alacak prosesler arasından alma kararı
![Page 308: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/308.jpg)
308
İşSı
rala
ma
6
İşletim Sistemleri
İş Sıralama Türleri - 2İş Sıralama Türleri - 2
►Kısa vadeli iş sıralama: Koşabilir durumdaki proseslerden hangisinin seçileceği kararı
►G/Ç sıralama: G/Ç bekleyen hangi prosesin isteğinin karşılanacağı kararı
![Page 309: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/309.jpg)
309
İşSı
rala
ma
6
İşletim Sistemleri
İşİş SSııralama Tralama Tüürlerirleri
![Page 310: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/310.jpg)
310
İşSı
rala
ma
6
İşletim Sistemleri
Uzun Vadeli İş SıralamaUzun Vadeli İş Sıralama
►İşlenmek üzere sisteme hangi proseslerin alınacağına karar verilmesi
►Çoklu programlamanın düzeyini belirler
![Page 311: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/311.jpg)
311
İşSı
rala
ma
6
İşletim Sistemleri
Uzun Vadeli İş SıralamaUzun Vadeli İş Sıralama
►Sisteme alınan iş:– bazı sistemlerde kısa vadeli sıralama için ilgili kuyruğa
yerleşir – bazı sistemlerde orta vadeli sıralama için ilgili kuyruğa
yerleşir (yeni gelen proses doğrudan belleğe alınmaz)
![Page 312: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/312.jpg)
312
İşSı
rala
ma
6
İşletim Sistemleri
Uzun Vadeli İş SıralamaUzun Vadeli İş Sıralama
►İki tip karar söz konusu:
►sisteme yeni proses eklenebilir mi?
– çoklu programlama düzeyi tarafından belirlenir
– Proses sayısı arttıkça her çalışmada proses başına düşen işlemci zamanı azalır : bu nedenle bu sınırlanabilir
![Page 313: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/313.jpg)
313
İşSı
rala
ma
6
İşletim Sistemleri
Uzun Vadeli İş SıralamaUzun Vadeli İş Sıralama
– uzun vadeli iş sıralama,
• sistemde herhangi bir iş sonlandığında çalışabilir
• işlemcinin boş bekleme zamanı bir eşik değerini aşarsa çalışabilir
![Page 314: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/314.jpg)
314
İşSı
rala
ma
6
İşletim Sistemleri
Uzun Vadeli İş SıralamaUzun Vadeli İş Sıralama
►hangi prosesleri kabul etmeli? hangilerini etmemeli?
– geliş sıralarına göre seçilebilir
– bazı kriterlere göre seçilebilir
• öncelik
• beklenen toplam çalışma süresi
• giriş/çıkış istekleri
![Page 315: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/315.jpg)
315
İşSı
rala
ma
6
İşletim Sistemleri
Uzun Vadeli İş SıralamaUzun Vadeli İş Sıralama
Örneğin gerekli bilgi varsa,
►G/Ç yoğun işlerle işlemci yoğun işleri dengeli tutmak istenebilir
►G/Ç isteklerini dengeli tutmak için istenen kaynaklara göre karar verilebilir
![Page 316: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/316.jpg)
316
İşSı
rala
ma
6
İşletim Sistemleri
Uzun Vadeli İş SıralamaUzun Vadeli İş Sıralama
►Etkileşimli kullanıcılar (zaman paylaşımlı bir sistemde)
– sisteme bağlanma istekleri oluşur
– bekletilmez
– belirli bir doyma noktasına kadar her gelen kabul edilir
– doyma değeri belirlenir
– sistem doluysa kabul edilmeyip hata verilir
![Page 317: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/317.jpg)
317
İşSı
rala
ma
6
İşletim Sistemleri
Orta Vadeli İş SıralamaOrta Vadeli İş Sıralama
►“Swap” işleminin bir parçası
►Çoklu programlamanın derecesini belirleme gereği
►Sistemin bellek özellikleri ve kısıtları ile ilgilidir
►Belleğe alınacak proseslerin bellek gereksinimlerini göz önüne alır
►Bellek yönetim birimine de bağlıdır
![Page 318: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/318.jpg)
318
İşSı
rala
ma
6
İşletim Sistemleri
Kısa Vadeli İş SıralamaKısa Vadeli İş Sıralama
►Belirli sistem başarım kriterlerini gerçekleme amacı
►Algoritmaların başarım kıyaslaması için kriterler belirlenir
![Page 319: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/319.jpg)
319
İşSı
rala
ma
6
İşletim Sistemleri
Kısa Vadeli İş SıralamaKısa Vadeli İş Sıralama
►İş Çalıştırıcı (dispatcher)
►Bir olay olduğunda çalışır – Saat kesmesi
– G/Ç kesmesi
– İşletim sistemi çağrıları
– Sinyaller
![Page 320: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/320.jpg)
320
İşSı
rala
ma
6
İşletim Sistemleri
Kısa Vadeli İş Sıralama KriterleriKısa Vadeli İş Sıralama Kriterleri
►Kullanıcıya yönelik
– Yanıt süresi: isteğin iletilmesinden çıkış alınana kadar geçen süre
– Amaç kabul edilen yanıt süresi ile çalışan iş/kullanıcısayısını maksimize etmek
– doğrudan kullanıcılara iyi servis vermek amaçlı
![Page 321: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/321.jpg)
321
İşSı
rala
ma
6
İşletim Sistemleri
Kısa Vadeli İş Sıralama KriterleriKısa Vadeli İş Sıralama Kriterleri
►Sisteme yönelik
– İşlemcinin etkin kullanımı
– Örnek: debi (işlerin tamamlanma hızı)
• önemli bir kriter ancak kullanıcı prosesler doğrudan bunu göremez
• sistem yöneticileri açısımdan daha önemli bir kriter
![Page 322: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/322.jpg)
322
İşSı
rala
ma
6
İşletim Sistemleri
Kısa Vadeli İş Sıralama KriterleriKısa Vadeli İş Sıralama Kriterleri
►Başarıma yönelik
– Nicel
– Debi ve yanıt süresi gibi ölçülebilir
►Başarım ile ilgili olmayan
– Nitel ve çoğu durumda ölçülemez
– Tahmin edilebilirlik: kullanıcılara sunulan hizmetin, diğer kullanıcılardan bağımsız olarak her zaman belirli bir düzeyde olması istenir
![Page 323: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/323.jpg)
323
İşSı
rala
ma
6
İşletim Sistemleri
Kısa Vadeli İş Sıralama KriterleriKısa Vadeli İş Sıralama Kriterleri
►Tüm kriterler birden sağlanamayabilir
– bir kriterin sağlanamaması bir diğerini engelleyebilir
• örneğin yanıt cevabını kısa tutma amaçlı bir algoritmaya göre işler sık sık değiştirilir. Bu sisteme yük getirir ve debi düşer.
![Page 324: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/324.jpg)
324
İşSı
rala
ma
6
İşletim Sistemleri
Önceliklerin KullanımıÖnceliklerin Kullanımı
►İş sıralayıcı yüksek öncelikli işleri önce seçer
►Her öncelik düzeyine ilişkin Hazır kuyruğu tutar
►Düşük öncelikli prosesler Açlık durumu ile karşılaşabilir
– prosesin önceliğinin yaşı ve geçmişi ile bağlantılıolarak değiştirilmesi
![Page 325: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/325.jpg)
325
İşSı
rala
ma
6
İşletim Sistemleri
İş Sıralamaİş Sıralama
►çalışan proses ortasında kesilip “hazır” kuyruğuna eklenebilir (preemptive)– çalışma anları:
• yeni bir iş gelince
• bloke olan bir iş hazır olunca
• belirli zaman aralıkları ile
– sisteme yük getirir ama proseslere hizmet kalitesi artar
![Page 326: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/326.jpg)
326
İşSı
rala
ma
6
İşletim Sistemleri
İş Sıralamaİş Sıralama
►işlemcide koşmakta olan proses
– sonlanana
– bloke olana
kadar kesilmeden koşar (nonpreemptive).
![Page 327: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/327.jpg)
327
İşSı
rala
ma
6
İşletim Sistemleri
![Page 328: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/328.jpg)
328
İşSı
rala
ma
6
İşletim Sistemleri
Öncelik Kuyrukları
![Page 329: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/329.jpg)
329
İşSı
rala
ma
6
İşletim Sistemleri
İş Sıralama Örneğiİş Sıralama Örneği
28E
56D
44C
62B
30A
Servis SüresiVarış ZamanıProses
![Page 330: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/330.jpg)
330
İşSı
rala
ma
6
İşletim Sistemleri
Geliş Sırasına Göre (FCFS)Geliş Sırasına Göre (FCFS)
►Her proses Hazır kuyruğuna girer
►Çalışmakta olan prosesin çalışması durunca Hazırkuyruğundaki en eski proses seçilir
►Uzun süre çalışacak prosesler için daha iyi
– Kısa bir proses çalışmaya başlamadan önce çok bekleyebilir
![Page 331: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/331.jpg)
331
İşSı
rala
ma
6
İşletim Sistemleri
Geliş Sırasına Göre (FCFS)Geliş Sırasına Göre (FCFS)
►G/Ç yoğun prosesler için uygun değil
– G/Ç birimleri uygun olsa da işlemciyi kullanan prosesleri beklemek zorundalar
– kaynakların etkin olmayan kullanımı
![Page 332: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/332.jpg)
332
İşSı
rala
ma
6
İşletim Sistemleri
Geliş Sırasına Göre (FCFS)Geliş Sırasına Göre (FCFS)
►Her proses Hazır kuyruğuna girer
►Çalışmakta olan prosesin çalışması durunca Hazır kuyruğundaki en eski proses seçilir
►Kısa bir proses çalışmaya başlamadan önce çok bekleyebilir
![Page 333: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/333.jpg)
333
İşSı
rala
ma
6
İşletim Sistemleri
Taramalı (Round-Robin)Taramalı (Round-Robin)
►Saate bağlı olarak prosesleri işlemciden almak (preemptive)
►İşlemcinin her seferde kullanılacağı süre birimi belirlenir
q=1
![Page 334: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/334.jpg)
334
İşSı
rala
ma
6
İşletim Sistemleri
Taramalı (Round-Robin)Taramalı (Round-Robin)
►Saat kesmeleri periyodik zaman aralıkları ile üretilir -zaman dilimi
►zaman dilimi uzunluğu belirlenmesi gerekir
►kısa zaman dilimleri uygun değil
– kısa prosesler hızla tamamlanır ama
– sisteme çok yük oluşur
![Page 335: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/335.jpg)
335
İşSı
rala
ma
6
İşletim Sistemleri
Taramalı (Round-Robin)Taramalı (Round-Robin)
►Zaman dilimi yaklaşık olarak ortalama bir etkileşim süresi kadar olmalı
►Zaman dilimi en uzun prosesten uzun olursa geliş sırasına göre olan yöntemle aynı
►Saat kesmesi geldiğinde koşmakta olan proses Hazırkuyruğuna konur ve sıradaki iş seçilir
![Page 336: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/336.jpg)
336
İşSı
rala
ma
6
İşletim Sistemleri
Taramalı (Round-Robin)Taramalı (Round-Robin)
q=1
q=4
![Page 337: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/337.jpg)
337
İşSı
rala
ma
6
İşletim Sistemleri
En Kısa İş ÖnceEn Kısa İş Önce
►Prosesler kesilmeden çalışıyor
►Servis süresi en kısa olacağı bilinen/tahmin edilen proses seçilir
– süre tahmin edilmesi veya bildirilmesi gerekir; tahmin edilenden çok uzun süren prosesler sonlandırılabilir
►Kısa prosesler önce çalışmış olur
►Uzun prosesler için Açlık durumu olası
![Page 338: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/338.jpg)
338
İşSı
rala
ma
6
İşletim Sistemleri
En Kısa İş ÖnceEn Kısa İş Önce
28E
56D
44C
62B
30A
Servis SüresiVarış ZamanıProses
![Page 339: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/339.jpg)
339
İşSı
rala
ma
6
İşletim Sistemleri
En Az Süresi Kalan ÖnceEn Az Süresi Kalan Önce
►En kısa iş önce yönteminin proseslerin kesilmesine izin veren hali
►İşleme zamanı önceden kestirilmeli
►Proseslerin kalan süreleri tutulmalı
![Page 340: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/340.jpg)
340
İşSı
rala
ma
6
İşletim Sistemleri
En Az Süresi Kalan ÖnceEn Az Süresi Kalan Önce
![Page 341: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/341.jpg)
341
İşSı
rala
ma
6
İşletim Sistemleri
Geri Beslemeli (feedback)Geri Beslemeli (feedback)
►Proseslerin toplam çalışma süreleri ile ilgili bilgi gerektirmez
►Prosesin daha ne kadar çalışma süresi kaldığı bilinmiyor
►Daha uzun süredir koşan prosesleri cezalandır
![Page 342: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/342.jpg)
342
İşSı
rala
ma
6
İşletim Sistemleri
Geri Beslemeli (feedback)Geri Beslemeli (feedback)
►İş sıralama
– zaman dilimi ve
– dinamik önceliklere
göre yapılır.
►Öncelik kuyrukları
– kesilen proses bir düşük öncelikli kuyruğa geçer
![Page 343: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/343.jpg)
343
İşSı
rala
ma
6
İşletim Sistemleri
Geri Beslemeli (feedback)Geri Beslemeli (feedback)
►Yeni ve kısa işler daha çabuk sonlanır
►Öncelik kuyrukları içinde geliş sırası göz önüne alınır
– en düşük öncelikli kuyuruktan daha alta inmek mümkün olmadığından bu kuyrukta kalır (taramalıyöntem uygulanır)
![Page 344: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/344.jpg)
344
İşSı
rala
ma
6
İşletim Sistemleri
Geri BeslemeliGeri Beslemeli
q=1
q=4
![Page 345: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/345.jpg)
345
İşSı
rala
ma
6
İşletim Sistemleri
Yöntemlerin Başarım KarşılaştırmasıYöntemlerin Başarım Karşılaştırması
►İş sıralama yöntemi seçilirken yöntemlerin başarım karşılaştırmaları önem kazanır
►Kesin karşılaştırma mümkün değil
![Page 346: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/346.jpg)
346
İşSı
rala
ma
6
İşletim Sistemleri
Yöntemlerin Başarım KarşılaştırmasıYöntemlerin Başarım Karşılaştırması
►Yöntemlerin bağıl başarımları bazı etkenlere bağlı
– Proseslerin servis sürelerinin olasılık dağılımı
– Bağlam anahtarlamanın etkinliği
– G/Ç isteklerini ve G/Ç alt yapısının özellikleri
![Page 347: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/347.jpg)
347
İşSı
rala
ma
6
İşletim Sistemleri
Yöntemlerin Başarım KarşılaştırmasıYöntemlerin Başarım Karşılaştırması
►Kuyruk teorisi ile analiz
►Modelleme ve simülasyon ile
![Page 348: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/348.jpg)
348
İşSı
rala
ma
6
İşletim Sistemleri
İş Sıralama Yöntemleri – Toplu Bir Bakışİş Sıralama Yöntemleri – Toplu Bir Bakış
![Page 349: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/349.jpg)
349
İşSı
rala
ma
6
İşletim Sistemleri
Geleneksel UNIX İş Sıralama YaklaşımıGeleneksel UNIX İş Sıralama Yaklaşımı
►kullanılan iş sıralama yaklaşımı
– çok seviyeli
– geri beslemeli
– her öncelik seviyesi içinde taramalı
►1 saniyelik dilimler
– 1 saniyede sonlanmayan proses kesilir (preemptive)
![Page 350: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/350.jpg)
350
İşSı
rala
ma
6
İşletim Sistemleri
Geleneksel UNIX İş Sıralama YaklaşımıGeleneksel UNIX İş Sıralama Yaklaşımı
►öncelikler
– prosesin türüne ve
– çalışma geçmişine bağlı.
►İş sıralama algoritmasının gerçeklenmesinde bazı denklemler kullanılır
![Page 351: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/351.jpg)
351
İşSı
rala
ma
6
İşletim Sistemleri
Geleneksel UNIX İş Sıralama YaklaşımıGeleneksel UNIX İş Sıralama Yaklaşımı
( 1)( )
2j
j
CPU iCPU i
−⎢ ⎥= ⎢ ⎥⎣ ⎦
( )( )
2j
j j j
CPU iP i Taban nice
⎢ ⎥= + +⎢ ⎥
⎣ ⎦
CPUj(i): i. zaman diliminde j prosesinin işlemci kullanım miktarıPj(i): i. zaman dilimi başında j prosesinin öncelik değeri
(düşük değerler yüksek öncelik anlamına gelir)Tabanj: j prosesinin taban öncelik değerinicej: kullanıcı tarafından belirlenen öncelik ayarlama faktörü
![Page 352: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/352.jpg)
352
İşSı
rala
ma
6
İşletim Sistemleri
Geleneksel UNIX İş Sıralama YaklaşımıGeleneksel UNIX İş Sıralama Yaklaşımı
►Her prosesin önceliği 1 saniyede bir hesaplanır
– iş sıralama kararı verilir
►Taban öncelik değerinin amacı, prosesleri türlerine göre belirli gruplara ayırmak
![Page 353: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/353.jpg)
353
İşSı
rala
ma
6
İşletim Sistemleri
Geleneksel UNIX İş Sıralama YaklaşımıGeleneksel UNIX İş Sıralama Yaklaşımı
►Farklı taban öncelikler ile başlayan proses grupları:
– swapper
– blok tipi g/ç aygıt kontrolü
– dosya yönetimi
– karakter tipi g/ç aygıt kontrolü
– kullanıcı prosesleri
![Page 354: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/354.jpg)
354
İşSı
rala
ma
6
İşletim Sistemleri
Örnek: A, B ve C prosesleri aynı anda, 60 taban önceliğine sahip olarak yaratılmış olsunlar. • nice değeri göz önüne alınmayacak. • Saat sistemi saniyede 60 kere kesiyor ve bir sayaçdeğerini arttırıyor.•Varsayımlar:
•Sistemde başka koşmaya hazır proses yok • Proseslerin herhangi bir nedenle bloke olmuyorlar.
Proses A, B ve C’nin çalışma sürelerini ve sıralarınıgösteren zamanlama tablosunu çizin.
![Page 355: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/355.jpg)
BELLEK YBELLEK YÖÖNETNETİİMMİİ7
![Page 356: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/356.jpg)
356
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Bellek YönetimiBellek Yönetimi
►Birden fazla prosese yer verilebilecek şekilde belleğin alt birimlere ayrılması
►Belleğin prosesler arasında atanması etkin olmalı:
– en fazla sayıda proses
![Page 357: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/357.jpg)
357
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Bellek Yönetiminin GerektirdikleriBellek Yönetiminin Gerektirdikleri
►Yeniden yerleştirme (Relocation)
– programcı çalışan programının bellekte nereye yerleşeceğini bilmez
– koşan program ikincil belleğe atılıp, ana bellekte farklıbir yere tekrar yüklenebilir
– Bellek referans adresleri fiziksel adres değerlerine dönüştürülmeli
![Page 358: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/358.jpg)
358
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Bellek Yönetiminin GerektirdikleriBellek Yönetiminin Gerektirdikleri
►Koruma– İzni olmadan bir proses bir başka prosesin bellek
alanlarına erişemez– Programın yeri değişebileceğinden kontrol için
programdaki gerçek adresler kullanılamaz – Çalışma anında kontrol edilmeli
![Page 359: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/359.jpg)
359
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Bellek Yönetiminin GerektirdikleriBellek Yönetiminin Gerektirdikleri
►Paylaşma
– Birden fazla prosesin aynı bellek bölgesine erişmesi
• program kodu
• ortak veri alanı
![Page 360: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/360.jpg)
360
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Bellek Yönetimi TeknikleriBellek Yönetimi Teknikleri
►Bölmeleme (Partitioning)
– Sabit
– Dinamik
►Basit sayfalama (Paging)
►Basit segmanlama (Segmentation)
►Sayfalamalı görüntü bellek (Virtual Memory)
►Segmanlamalı görüntü bellek
![Page 361: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/361.jpg)
361
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Sabit BölmelemeSabit Bölmeleme
►Bölme boyları eşit– boş bölmeye, boyu bölme boyundan küçük ya da eşit
prosesler yüklenebilir
– tüm bölmeler doluysa proseslerden biri bellekten atılır
– program bölmeye sığmayabilir ⇒ programcı program parçalarını birbirinin üzerini örtecek şekilde (overlay) yazar
![Page 362: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/362.jpg)
362
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Sabit BölmelemeSabit Bölmeleme
►Bellek kullanımı etkin değil:
– her program ne kadar boyu küçük de olsa tam bir bölmeyi elinde tutar ⇒ iç parçalanma (internal fragmentation)
– eşit boyda olmayan bölmeler kullanılması sorunu bir derece çözer
►Maksimum aktif proses sayısı sınırlı
►İşletim sistemi tarafından gerçeklenmesi kolay
►Getirdiği ek yük az.
![Page 363: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/363.jpg)
363
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Sabit BölmelemeSabit Bölmeleme
![Page 364: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/364.jpg)
364
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Yerleştirme Algoritmaları (Sabit Bölmeleme)Yerleştirme Algoritmaları (Sabit Bölmeleme)
►Bölme boyları eşit– prosesin hangi bölmeye yerleştirileceği fark etmez
►Bölme boyları eşit değil
– her prosesi sığacağı en küçük bölmeye
– her bölme için kuyruk
– bölme içi boş kalan yer miktarını en aza indirmek
(IBM OS/MFT: multiprogramming with a fixed number of tasks)
![Page 365: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/365.jpg)
365
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Dinamik BölmelemeDinamik Bölmeleme
►Bölme sayısı ve bölme boyları sabit değil►Proseslere sadece gerektiği kadar bellek atanır►Kullanılmayan boş yerler yine de oluşur ⇒ dış
parçalanma►Tüm boş alanın bir blok halinde olması için sıkıştırma
kullanılır
(IBM OS/MVT: multiprogramming with a variable number of tasks)
![Page 366: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/366.jpg)
366
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Yerleştirme Algoritmaları (Dinamik Bölmeleme)Yerleştirme Algoritmaları (Dinamik Bölmeleme)
►Hangi boş bloğun hangi proses atanacağına işletim sistemi karar verir
►En-İyi-Sığan Algoritması (Best-Fit)– Boyu istenene en yakın olan boşluk seçilir– Olası en küçük bölme bulunduğundan artan boş alan az ⇒ sıkıştırmanın daha sık yapılanması gerekir
![Page 367: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/367.jpg)
367
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Yerleştirme Algoritmaları (Dinamik BölmelemeYerleştirme Algoritmaları (Dinamik Bölmeleme
►İlk-Sığan Algoritması (First-fit)
– En hızlı
– Prosesler baş bölgelere yığılır ⇒ boş yer ararken üst üste taranır
![Page 368: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/368.jpg)
368
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Yerleştirme Algoritmaları (Dinamik BölmelemeYerleştirme Algoritmaları (Dinamik Bölmeleme
►Bir-Sonraki-Sığan Algoritması (Next-fit)
– Son yerleştirilen yerden itibaren ilk sığan yeri bulur
– Genellikle atamalar belleğin son kısımlarında yer alan büyük boşluklardan olur
• En büyük boşluklar küçük parçalara bölünmüş olur
• Sıkıştırma gerekir
![Page 369: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/369.jpg)
369
Bel
lek
Yön
etim
i7
İşletim Sistemleri
![Page 370: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/370.jpg)
370
Bel
lek
Yön
etim
i7
İşletim Sistemleri
“Buddy” Yöntemi“Buddy” Yöntemi
►Tüm boş alan 2U boyutunda tek bir alan olarak ele alınır
►s boyutundaki bir istek eğer 2U-1 < s <= 2U ise tüm blok atanır
– Aksi halde blok 2U-1 boyutunda iki eş bloğa bölünür (buddy)
– s’den büyük veya eşit en küçük birim blok oluşturulana kadar işlem devam eder
![Page 371: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/371.jpg)
371
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Buddy Sistem ÖrneğiBuddy Sistem Örneği
![Page 372: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/372.jpg)
372
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Buddy Yönteminin Ağaç ile TemsiliBuddy Yönteminin Ağaç ile Temsili
![Page 373: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/373.jpg)
373
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Yeniden YerleştirmeYeniden Yerleştirme
►Proses belleğe yüklendiği zaman ancak mutlak bellek adresleri belirlenebilir
►Proses çalışması boyunca değişik bölmelere yerleşebilir (swap) ⇒ Mutlak adresler değişebilir
►Sıkıştırma nedeni ile de proses farklı bölmelerde yerleşebilir ⇒ farklı mutlak bellek adresleri
![Page 374: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/374.jpg)
374
Bel
lek
Yön
etim
i7
İşletim Sistemleri
AdreslerAdresler
►Mantıksal
– belleğe erişimde kullanılan adres gerçek fiziksel adreslerden bağımsız
– adres dönüşümü gerekir
►Bağıl
– adres bilinen bir noktaya göre bağıl verilir
– genellikle bu nokta prosesin başıdır
►Fiziksel
– ana bellekteki gerçek konum adresi
![Page 375: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/375.jpg)
375
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Yeniden yerleYeniden yerleşştirme itirme iççin gerekli donanin gerekli donanıım destem desteğğii
![Page 376: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/376.jpg)
376
Bel
lek
Yön
etim
i7
İşletim Sistemleri
SaklayıcılarSaklayıcılar
►Taban saklayıcısı
– prosesin başlangıç adresi
►Sınır saklayıcısı
– prosesin son adresi
►Bu değerler saklayıcılara proses belleğe yüklendiğinde yazılır
![Page 377: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/377.jpg)
377
Bel
lek
Yön
etim
i7
İşletim Sistemleri
SayfalamaSayfalama
►Belleği küçük, eşit boylu parçalara böl. Prosesleri de aynıboyda parçalara ayır.
►Eşit boylu proses parçaları: sayfa►Eşit boylu bellek parçaları: çerçeve►İşletim sistemi her proses için sayfa tablosu tutar
– prosesin her sayfasının hangi çerçevede olduğu– bellek adresi = sayfa numarası ve sayfa içi ofset adresi
►İşletim sistemi hangi çerçevelerin boş olduğunu tutar
![Page 378: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/378.jpg)
378
Bel
lek
Yön
etim
i7
İşletim Sistemleri
SayfalamaSayfalama
►Sabit bölmeleme benzeri►Bölmeler küçük►Bellekte bir prosese ilişkin birden fazla sayfa olabilir►Sayfa ve çerçeve boylarının ikinin kuvvetleri şeklinde
seçilmesi gerekli dönüşüm hesaplamalarını basitleştirir►Mantıksal adres, sayfa numarası ve sayfa içi kayıklık
değerinden oluşur
![Page 379: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/379.jpg)
379
Bel
lek
Yön
etim
i7
İşletim Sistemleri
15 available frames Load process A Load process A
![Page 380: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/380.jpg)
380
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Load process C Swap out B Load process D
![Page 381: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/381.jpg)
381
Bel
lek
Yön
etim
i7
İşletim Sistemleri
![Page 382: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/382.jpg)
382
Bel
lek
Yön
etim
i7
İşletim Sistemleri
![Page 383: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/383.jpg)
383
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Mantıksal-Fiziksel Adres DönüşümüMantıksal-Fiziksel Adres Dönüşümü
![Page 384: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/384.jpg)
384
Bel
lek
Yön
etim
i7
İşletim Sistemleri
SegmanlamaSegmanlama
►Program segmanlara ayrılır. Tüm programların tüm segmanları aynı boyda olmak zorunda değil.
►Segman boyunun üst sınırı var
►Mantıksal adresler iki bölümden oluşur -segman numarasıve segman içi ofset
– segman tablosundan segmanın adresi ve boyu alınır
►Segman boyları eşit olmadığından dinamik bölmelemeyebenzer
►Bir program birden fazla segmandan oluşabilir
![Page 385: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/385.jpg)
385
Bel
lek
Yön
etim
i7
İşletim Sistemleri
SegmanlamaSegmanlama
►Bir programa ilişkin segmanlar bellekte ardışıl yerleşmek zorunda değil
►Segman tabloları var (yükleme adresi ve segman boyu bilgileri)
►Segmanlar programcıya şeffaf değil
►Kullanıcı / derleyici program text ve veri alanlarını farklı segmanlara atar.
►Maksimum segman boyu bilinmesi gerekir
![Page 386: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/386.jpg)
386
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Mantıksal-Fiziksel Adres DönüşümüMantıksal-Fiziksel Adres Dönüşümü
![Page 387: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/387.jpg)
GGÖÖRRÜÜNTNTÜÜ BELLEKBELLEK7.2
![Page 388: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/388.jpg)
388
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Program KoşmasıProgram Koşması
►Bellek erişimleri dinamik olarak çalışma anında fiziksel adreslere dönüştürülür
– Proses çalışması boyunca belleğe alınıp, bellekten atılabilir ve her seferinde farklı bir bölgeye yerleştirilebilir.
►Prosesin parçalarının bellekte birbirini izleyen bölgelerde olması gerekli değil
►Çalışma anında prosesin tüm parçalarının birden bellekte olması gerekmez
![Page 389: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/389.jpg)
389
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Program KoşmasıProgram Koşması
►İşletim sistemi başlangıçta belleğe prosesin bir kısmınıyükler
►Yerleşik küme (resident set) - prosesin bellekte bulunan kısmı
►İhtiyaç duyulan bir bölge bellekte yoksa kesme oluşur►İşletim sistemi prosesi bloke eder
![Page 390: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/390.jpg)
390
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Program KoşmasıProgram Koşması
►İstenen mantıksal adresi içeren parçası belleğe yüklenir– İşletim sistemi tarafından disk G/Ç isteği oluşturulur– Disk G/Ç işlemi yürütülürken bir başka proses çalışır– Disk G/Ç işlemi tamamlanınca kesme oluşur. İşletim
sistemi bekleyen prosesi Hazır durumuna getirir.
![Page 391: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/391.jpg)
391
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Prosesi Parçalara Ayırmanın AvantajlarıProsesi Parçalara Ayırmanın Avantajları
►Ana bellekte daha fazla proses bulunabilir
– Prosesin sadece gerekli parçaları yüklenebilir
– Bellekte çok proses olduğundan en az birinin Hazırdurumunda olması olasılığı yüksek
►Bir proses tüm ana bellekten daha büyük olabilir
![Page 392: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/392.jpg)
392
Bel
lek
Yön
etim
i7
İşletim Sistemleri
BellekBellek
►Gerçek bellek
– Ana bellek
►Görüntü bellek
– Disk üzerinde oluşturulan ikincil bellek
– Çoklu programlamayı daha etkin kılar.
– Ana bellek boyu kısıtlarından programcıyı kurtarır.
![Page 393: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/393.jpg)
393
Bel
lek
Yön
etim
i7
İşletim Sistemleri
ThrashingThrashing
►Bellekten atılan bir parçaya hemen ihtiyaç duyulmasıdurumu
►İşlemci zamanı proses parçalarını ana bellek ve ikincil bellek arasında taşımakla geçer.
►Bu soruna karşılık, işletim sistemi, prosesin geçmişine bakarak hangi parçalara ihtiyaç duyacağını veya duymayacağını tahmin eder
![Page 394: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/394.jpg)
394
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Yerellik PrensibiYerellik Prensibi
►Proses içi program kodu ve veri erişimleri birbirine yakın bölgelerde kalma eğilimindedir
►Kısa bir süre içinde prosesin sadece küçük bir alt kümesi gerekecektir
►Hangi parçaların gerekeceği konusunda tahminde bulunmak mümkün
►Etkin bir çalışma sağlamak mümkün
![Page 395: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/395.jpg)
395
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Görüntü Bellek İçin Gerekli DestekGörüntü Bellek İçin Gerekli Destek
►Donanım sayfalamaya ve segmanlı yapıya destek vermeli
►İşletim sistemi ana bellek ile ikincil bellek arasında sayfa ve/veya segman aktarımını etkin bir şekilde düzenleyebilmeli.
![Page 396: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/396.jpg)
396
Bel
lek
Yön
etim
i7
İşletim Sistemleri
SayfalamaSayfalama
►Her prosesin kendi sayfa tablosu var
►Tablonun her satırında sayfanın ana bellekte yer aldığıçerçeve numarası bulunur
►Sayfanın ana bellekte olup olmadığını gösteren de bir bit gerekli.
![Page 397: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/397.jpg)
397
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Sayfa Tablosundaki Değişti BitiSayfa Tablosundaki Değişti Biti
►Sayfanın belleğe yüklendikten sonra değişip değişmediğini gösterir
►Değişiklik yoksa ana bellekten ikincil belleğe alınırken yeniden yazmaya gerek yok
![Page 398: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/398.jpg)
398
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Sayfa Tablosu KayıtlarıSayfa Tablosu Kayıtları
![Page 399: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/399.jpg)
399
Bel
lek
Yön
etim
i7
İşletim Sistemleri
SayfalamalSayfalamalıı bir sistemde adres dbir sistemde adres döönnüüşşüümmüü
![Page 400: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/400.jpg)
400
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Sayfa TablolarıSayfa Tabloları
►Sayfa tablosunun tamamı çok yer gerektirebilir.
►Sayfa tabloları da ikincil bellekte saklanır
►Koşan prosesin sayfa tablolarının bir kısmı da ana belleğe alınır.
![Page 401: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/401.jpg)
401
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Translation Lookaside BufferTranslation Lookaside Buffer
►Her görüntü bellek erişiminde iki fiziksel bellek erişimi olabilir:
– sayfa tablosunu getirmek için
– veriyi getirmek için
►Bu problemin çözümünde sayfa tablosu kayıtlarını tutmak için hızlı bir cep bellek kullanılır:
– TLB - Translation Lookaside Buffer
![Page 402: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/402.jpg)
402
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Translation Lookaside BufferTranslation Lookaside Buffer
►En yakın zamanda kullanılmış olan sayfa tablosu kayıtlarını tutar
►Ana bellek için kullanılan cep bellek yapısına benzer bir işlev görür
![Page 403: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/403.jpg)
403
Bel
lek
Yön
etim
i7
İşletim Sistemleri
TLB kullanTLB kullanıım akm akışıışı
![Page 404: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/404.jpg)
404
Bel
lek
Yön
etim
i7
İşletim Sistemleri
TLB kullanTLB kullanıımmıı
![Page 405: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/405.jpg)
405
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Sayfa BoyuSayfa Boyu
►Sayfa boyu küçük olursa iç parçalanma daha az►Küçük sayfa boyları olursa proses başına gereken sayfa
sayısı artar. ►Proses başına fazla sayfa olması sonucunda sayfa tablosu
boyları büyür. ►Sayfa tablosu boyunun büyük olması sonucu tablonun
ikincil bellekte tutulan kısmı daha büyük►İkincil belleklerin fiziksel özellikleri nedeniyle daha büyük
bloklar halinde veri aktarımı daha etkin ⇒ sayfa boyunun büyük olması iyi
![Page 406: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/406.jpg)
406
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Sayfa BoyuSayfa Boyu
►Sayfa boyu küçük olunca bellekteki sayfa sayısı artar►Zaman içinde proseslerin yakın zamanda eriştikleri
sayfaların büyük kısmı bellekte olur. Sayfa hatası düşük olur.
►Sayfa boyu büyük olunca sayfalarda yakın zamanlıerişimlere uzak kısımlar da olur. Sayfa hataları artar.
![Page 407: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/407.jpg)
407
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Sayfa BoyuSayfa Boyu
►Birden fazla sayfa boyu olabilir.
►Büyük sayfa boyları program komut bölümleri için kullanılabilir
►Küçük boylu sayfalar iplikler için kullanılabilir
►Çoğu işletim sistemi tek sayfa boyu destekler
![Page 408: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/408.jpg)
408
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Örnek Sayfa BoylarıÖrnek Sayfa Boyları
![Page 409: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/409.jpg)
409
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Alma YaklaşımlarıAlma Yaklaşımları
►Alma yöntemi– Sayfanın belleğe ne zaman alınması gerektiğini belirler– “İsteğe dayalı sayfalama” kullanılıyorsa ancak sayfaya
erişim olduğunda belleğe getirir• sayfa hatası başta daha yüksek
– “Önceden sayfalama” yöntemi kullanıldığında gerektiğinden daha fazla sayfa belleğe alınır• Diskte birbirini izleyen konumlarda yer alan
sayfaları birlikte belleğe getirmek daha etkin
![Page 410: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/410.jpg)
410
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Yerine Koyma YaklaşımlarıYerine Koyma Yaklaşımları
►Yerleştirme yöntemi
– Hangi sayfanın yerine konacak?
– Bellekten atılacak sayfa yakın zamanda erişilmesi olasılığı düşük olan bir sayfa olmalı.
– Çoğu yöntem bir prosesin gelecek davranışını eski davranışına dayanarak kestirmeye çalışır.
![Page 411: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/411.jpg)
411
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Yerine Koyma YaklaşımlarıYerine Koyma Yaklaşımları
►Çerçeve kilitleme
– Bir çerçeve kilitliyse yerine başkası yerleştirilemez
– İşletim sistemi çekirdeği
– Kontrol yapıları
– G/Ç tamponları
– Her çerçeveye bir kilit biti atanması
![Page 412: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/412.jpg)
412
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Temel Yerine Koyma AlgoritmalarıTemel Yerine Koyma Algoritmaları
►Optimal yöntem
– Bir sonraki erişimin olacağı zamanın en uzak olduğu sayfanın seçilmesi
– Gelecek olaylar hakkında kesin bilgi olması imkansız
![Page 413: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/413.jpg)
413
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Temel Yerine Koyma AlgoritmalarıTemel Yerine Koyma Algoritmaları
►En Uzun Süredir Kullanılmamış (Least Recently Used(LRU)) yöntemi
– En uzun zamandır erişim olmamış olan sayfayı seçer
– Yerellik prensibine göre yakın zamanda da bu sayfaya erişim olmayacaktır
– Her sayfada en son erişim zamanı bilgisi tutulur. Ek yük getirir.
![Page 414: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/414.jpg)
414
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Temel Yerine Koyma AlgoritmalarıTemel Yerine Koyma Algoritmaları
►İlk Giren İlk Çıkar (First-in, first-out (FIFO))
– Prosese atanmış sayfa çerçevelerini çevrel bir kuyruk olarak ele alır.
– Sayfalar sıralı olarak bellekten atılır
– Gerçeklenmesi en basit yöntem
– Bellekte en uzun kalmış sayfanın yerine konur. Ancak bu sayfalara yakın zamanda erişim olabilir!
![Page 415: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/415.jpg)
415
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Temel Yerine Koyma AlgoritmalarıTemel Yerine Koyma Algoritmaları
►Saat yöntemi
– Kullanım biti adını alan ek bit
– Sayfa belleğe yüklendiğinde kullanım bitine 1 yüklenir
– Sayfaya erişimde kullanım biti bir yapılır
– Çevrel kuyruk tutulur. İşaretçi en son belleğe alınan sayfanın bir sonrasını gösterir.
– Bellekten atılacak sayfa belirlenirken bulunan kullanım biti 0 olan ilk sayfa seçilir.
– Atılacak sayfa belirlenirken 1 olan kullanım bitleri de sıfırlanır.
– Kullanım biti 0 olan yoksa ilk tur tamamlanır, ikinci turda daha önce sıfır yaptıklarının ilki seçilir.
![Page 416: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/416.jpg)
416
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Temel Yerine Koyma AlgoritmalarıTemel Yerine Koyma Algoritmaları
►Sayfa tamponlama
– Bellekten atılan sayfa şu iki listeden birisine eklenir:
• sayfada değişiklik olmadıysa boş sayfalar listesine
• değişiklik yapılmış sayfalar listesine
![Page 417: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/417.jpg)
417
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Temizleme YaklaşımlarıTemizleme Yaklaşımları
►İsteğe dayalı temizlik
– sayfa ikincil belleğe ancak seçilirse atılır
►Önceden temizlik
– sayfalar gruplar halinde ikincil belleğe atılır
![Page 418: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/418.jpg)
418
Bel
lek
Yön
etim
i7
İşletim Sistemleri
Temizleme YaklaşımlarıTemizleme Yaklaşımları
►En iyi yaklaşım sayfa tamponlama ile
– Atılacak sayfalar iki listeden birisine konulur
• Değişenler ve değişmeyenler
– Değişenler listesindeki sayfalar periyodik olarak gruplar halinde ikincil belleğe alınır
– Değişmeyenler listesindekiler yeniden erişim olursa yeniden kullanılır ya da çerçevesi başka sayfaya verilirse kaybedilir
![Page 419: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/419.jpg)
419
Bel
lek
Yön
etim
i7
İşletim Sistemleri
LINUX’ta Bellek YöntemiLINUX’ta Bellek Yöntemi
►Görüntü Bellek Adresleme
– 3 seviyeli sayfa tablosu yapısı şu tablolardan oluşur: (her tablo bir sayfa boyunda)
• sayfa kataloğu
– her aktif prosesin bir sayfa kataloğu var.
– boyu bir sayfa
– her kayıt orta aşama sayfa kataloğunun bir sayfasına işaret
– her aktif proses için bellekte yer almalı
![Page 420: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/420.jpg)
420
Bel
lek
Yön
etim
i7
İşletim Sistemleri
LINUX’ta Bellek YöntemiLINUX’ta Bellek Yöntemi
• orta aşama sayfa kataloğu
– birden fazla sayfadan oluşabilir
– her kayıt sayfa tablosunda bir sayfaya işaret eder
• sayfa tablosu
– birden fazla sayfadan oluşabilir
– her kayıt prosesin bir sanal sayfasına işaret eder
![Page 421: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/421.jpg)
421
Bel
lek
Yön
etim
i7
İşletim Sistemleri
LINUX’ta Bellek YöntemiLINUX’ta Bellek Yöntemi
– görüntü adres 4 alandan oluşur
• en yüksek anlamlı alan sayfa kataloğundaki bir kayda indis
• ikinci alan orta aşama sayfa kataloğundaki bir kayda indis
• üçüncü alan sayfa tablosundaki bir kayda indis
• dördüncü alan seçilen sayfadaki offset adresi
– platformdan bağımsız olarak 64 bitlik adresler
![Page 422: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/422.jpg)
422
Bel
lek
Yön
etim
i7
İşletim Sistemleri
LINUX’ta Bellek YöntemiLINUX’ta Bellek Yöntemi
►Sayfa atama– buddy sistemi kullanılır
►Sayfa yerine koyma– sayfa yöntemine dayalı bir yaklaşım– kullanım biti yerine 8 bitlik yaş alanı var
– yaşlı olan (uzun zamandır erişilmemiş) sayfalar öncelikle bellekten atılır
![Page 423: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/423.jpg)
DOSYA SDOSYA SİİSTEMSTEMİİ8
![Page 424: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/424.jpg)
424
Dos
ya S
iste
mi
8
İşletim Sistemleri
Bilgilerin Uzun Vadeli SaklanmasıBilgilerin Uzun Vadeli Saklanması
►saklanacak veriler çok fazla olabilir
►veriler proses sonlandıktan sonra da kaybolmamalı
►bilgiye prosesler ortak olarak ulaşabilmeli
![Page 425: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/425.jpg)
425
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi GörevleriDosya Sistemi Görevleri
►dosya isimlendirme
►dosyalara erişim►dosyaların kullanımı
►koruma ve paylaşım►gerçekleme
![Page 426: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/426.jpg)
426
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi ÖzellikleriDosya Sistemi Özellikleri
►kullanıcı açısından
– dosyaların içerikleri
– dosya isimleri
– dosya koruma ve paylaşma
– dosya işlemleri
– ...
⇒ Kullanıcı arayüzü
►tasarımcı açısından
– dosyaların gerçeklenmesi
– boş alanların tutulması
– mantıksal blok boyu
– ....
⇒ Dosya sistemi gerçeklemesi
![Page 427: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/427.jpg)
427
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya TipleriDosya Tipleri
►Dosyalar
– ASCII dosyalar
– ikili dosyalar
►Kataloglar
– çoğu işletim sisteminde katalog = dosya
![Page 428: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/428.jpg)
428
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya İçi ErişimDosya İçi Erişim
►sıralı erişim►rasgele erişim
![Page 429: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/429.jpg)
429
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosyaların Özellikleri (Attribute)Dosyaların Özellikleri (Attribute)
► erişim hakları
►parola
►yaratıcı
► sahibi
► salt oku bayrağı
► saklı bayrağı
► sistem bayrağı
► arşiv bayrağı
►ASCII/ikili dosya bayrağı
► rasgele erişim bayrağı
►geçici bayrağı
►kilit bayrakları
►kayıt uzunluğu
► anahtar konumu
► anahtar uzunluğu
►yaratılma zamanı
► son erişim zamanı
► son değişiklik zamanı
►dosya boyu
►maksimum dosya boyu
![Page 430: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/430.jpg)
430
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya İşlemleriDosya İşlemleri
►yaratma / silme
►isim değiştirme
►açma / kapama
►yazma / okuma / ekleme
►dosya işaretçisi konumlandırma
►özellik sorgulama / değiştirme
⇒ sistem çağrıları ile (open, creat, read, write, close, .....)
![Page 431: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/431.jpg)
431
Dos
ya S
iste
mi
8
İşletim Sistemleri
Tek Seviyeli Katalog SistemleriTek Seviyeli Katalog Sistemleri
► tek seviyeli katalog
►hızlı erişim► çok kullanıcılı sistemlere
uygun değil
– farklı kullanıcılar aynıisimli dosya yaratırsa sorun olur
►günümüzde gömülüsistemlerde
– örneğin arabada kullanıcıprofilleri saklanması
(Not: örnekte dosya isimleri değil sahipleri gösterilmiştir.)
![Page 432: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/432.jpg)
432
Dos
ya S
iste
mi
8
İşletim Sistemleri
İki Seviyeli Katalog Sistemleriİki Seviyeli Katalog Sistemleri
►her kullanıcıya ayrıkatalog
– kullanıcıların aynıisimli dosya sorunu çözülür
►örneğin çok kullanıcılıkişisel bilgisayarlarda
►sisteme kullanıcı adı ve parola ile girme kavramı (Not: örnekteki harfler katalog ve dosya
sahiplerini göstermektedir.)
![Page 433: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/433.jpg)
433
Dos
ya S
iste
mi
8
İşletim Sistemleri
Hiyerarşik Katalog SistemleriHiyerarşik Katalog Sistemleri
►kullanıcıların dosyalarınımantıksal olarak gruplama isteği
►katalog ağacı
►modern işletim sistemlerindeki yapı
(Not: örnekteki harfler katalog ve dosya sahiplerini göstermektedir.)
![Page 434: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/434.jpg)
434
Dos
ya S
iste
mi
8
İşletim Sistemleri
Örnek UNIX katalog ağacı
![Page 435: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/435.jpg)
435
Dos
ya S
iste
mi
8
İşletim Sistemleri
Katalog İşlemleriKatalog İşlemleri
►yaratma / silme
►kataloğu açma / kapama
►kataloğu okuma
– örneğin dosyaların listelenmesi
– okumadan önce açılması lazım
►isim değiştirme
►bağla / kopar
– UNIX’te dosya silmeye özdeş
![Page 436: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/436.jpg)
436
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi GerçeklemesiDosya Sistemi Gerçeklemesi
Örnek Dosya Sistemi Yapısı:
![Page 437: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/437.jpg)
437
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi Gerçeklemesi (1)Dosya Sistemi Gerçeklemesi (1)
►sürekli yer ayırma ile gerçekleme– dosyanın ilk bloğunun adresi ve blok sayısı tutulur – avantajları
• basit gerçekleme• daha etkin okuma işlemi
– sorunları• diskte parçalanma (fragmentation)• sıkıştırma maliyeti yüksek• boşluk listesi tutulmalı
– dosya boyu en baştan bilinmeli ve sonradan değişemez– dosyaların maksimum boyları kısıtlı
– CD-ROM dosya sistemlerine uygun (tek yazımlık)
![Page 438: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/438.jpg)
438
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi Gerçeklemesi (1)Dosya Sistemi Gerçeklemesi (1)
(a) Diskte sürekli yer ayırma: örnek 7 dosya(b) D ve E dosyaları silindikten sonra diskin durumu
![Page 439: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/439.jpg)
439
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi Gerçeklemesi (2)Dosya Sistemi Gerçeklemesi (2)
►bağlantılı listeler kullanarak gerçekleme
– her bloğun ilk sözcüğü sıradakine işaretçi
– parçalanma yok (yanlız son blokta iç parçalanma)
– yanlız dosyanın ilk bloğunun adresi tutulur
– dosyadaki verilere erişim
• sıralı erişim kolay
• rasgele erişim zor
– bloktaki veri boyu 2’nin kuvveti değil
• okumada bloklar genelde 2’nin kuvveti boyunda
![Page 440: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/440.jpg)
440
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi Gerçeklemesi (2)Dosya Sistemi Gerçeklemesi (2)
Dosya bloklarının bağlantılı liste yapısında tutulması
![Page 441: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/441.jpg)
441
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi Gerçeklemesi (3)Dosya Sistemi Gerçeklemesi (3)
►bellekte dosya tabloları ile gerçekleme– işaretçiler diskteki bloklarda değil bellekte tabloda tutulur
– FAT (File Allocation Table)
– rasgele erişim daha kolay
• tablo bellekte
– başlangıç bloğu bilinmesi yeterli
– tüm tablo bellekte olmalı!
– tablo boyu disk boyuna bağlı
• örnek: 20 GB disk ve blok boyu 1K olsun: tabloda 20 milyon en az 3 sekizli boyunda kayıt gerekli (20MB)
![Page 442: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/442.jpg)
442
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi Gerçeklemesi (3)Dosya Sistemi Gerçeklemesi (3)
Bellekte dosya tablosu tutarak gerçekleme
![Page 443: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/443.jpg)
443
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi Gerçeklemesi (4)Dosya Sistemi Gerçeklemesi (4)
►her dosyaya ilişkin bir i-node (index-node)– dosyanın özellikleri
– dosyanın bloklarının disk adresleri
►sadece açık dosyaların i-node yapıları bellekte – toplam bellek alanı aynı anda açık olmasına izin verilen
maksimum dosya sayısı ile orantılı
►basit yapıda dosyanın maksimum blok sayısı kısıtlı– çözüm: son gözü ek tabloya işaretçi
![Page 444: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/444.jpg)
444
Dos
ya S
iste
mi
8
İşletim Sistemleri
Dosya Sistemi Gerçeklemesi (4)Dosya Sistemi Gerçeklemesi (4)
ÖÖrnek irnek i--nodenode yapyapııssıı
![Page 445: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/445.jpg)
445
Dos
ya S
iste
mi
8
İşletim Sistemleri
Katalogların Gerçeklenmesi (1)Katalogların Gerçeklenmesi (1)
►dosya adı ile diskteki bloklar ile ilişki kurulması►dosya özellikleri nerede tutulmalı ?
– katalog yapısı içinde ?• katalog yapısı: sabit boyda dosya adı, dosya özellikleri, disk
blokları adresleri– MS-DOS / Windows
• katalog yapısı: dosya adı, i-node numarası– dosya özellikleri i-node içinde– UNIX
►güncel işletim sistemlerinde dosya isimleri uzun olabilir– isim için uzun sabit bir üst sınır tanımla
• gereksiz yer kaybı
![Page 446: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/446.jpg)
446
Dos
ya S
iste
mi
8
İşletim Sistemleri
Katalogların Gerçeklenmesi (1)Katalogların Gerçeklenmesi (1)
(a) Basit katalog yapısısabit uzunluklu dosya adıdisk adres ve dosya özellik bilgileri
(b) Her kayıt bir i-node yapısını gösterir
![Page 447: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/447.jpg)
447
Dos
ya S
iste
mi
8
İşletim Sistemleri
Katalogların Gerçeklenmesi (2)Katalogların Gerçeklenmesi (2)
► (a) sıralı ► (b) en sondaUzun dosya adlarının tutulması:
![Page 448: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/448.jpg)
448
Dos
ya S
iste
mi
8
İşletim Sistemleri
Katalogların Gerçeklenmesi (2)Katalogların Gerçeklenmesi (2)
►dosya isimlerinin sıralı tutulmasının sorunları– dosya isimleri sözcük başlarında başlamalı
• sona boşluk ekle
– dosya silinince değişken boylu bölgeler boşalır
• sıkıştırmak kolay
– bir kayıt birden fazla sayfa boyunda olabilir
• dosya adını okurken olası sayfa hatası
►dosya isimlerinin en sonda tutulması– tüm dosyalar için eş boylu alan
– yine sayfa hatası olabilir
– dosya isimleri sözcük başında başlamak zorunda değil
![Page 449: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/449.jpg)
449
Dos
ya S
iste
mi
8
İşletim Sistemleri
Disk Alanı YönetimiDisk Alanı Yönetimi
►dosyalar sabit boylu bloklara bölünür
►blok boyu ne olmalı?– sektör, iz, silindir boyu?
• aygıta bağlı
– boy seçimi önemli
• başarım ve etkin yer kullanımı çelişen hedefler
• ortalama dosya boyuna göre seçmek iyi
• çoğu sistemde çok önceden belirlenmiş– UNIX: çoğunlukla 1K
![Page 450: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/450.jpg)
450
Dos
ya S
iste
mi
8
İşletim Sistemleri
Boş Blokların YönetimiBoş Blokların Yönetimi
![Page 451: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/451.jpg)
451
Dos
ya S
iste
mi
8
İşletim Sistemleri
UNIX V7 Dosya Sistemi (1)UNIX V7 Dosya Sistemi (1)
► kök kataloğundan başlayan ağaçyapısı
► dosya adı max. 14 karakter– / ve NUL olamaz– NUL = 0 (isimleri 14 karaktere
tamamlamak için)► katalog yapısında dosya başına bir
kayıt– dosya adı (14 karakter)– i-node numarası (2 sekizli)
UNIX V7 katalog kaydı
► dosya özellikleri i-node yapısında– dosya boyu, yaratılma, erişim ve
değişim zamanı, sahibi. grubu, koruma bitleri, bağlantı sayısı
![Page 452: isletim sistemleri ver 0 0 8 - web.itu.edu.tr · İTÜ, Computer Engineering Department, 1995 ... İşletim Sistemleri 7 1. Giriş. 2. Prosesler ve Proses Kontrolü. 3. İplikler](https://reader031.vdocuments.us/reader031/viewer/2022020115/5dd0cdd2d6be591ccb62c73e/html5/thumbnails/452.jpg)
452
Dos
ya S
iste
mi
8
İşletim Sistemleri
UNIX V7 Dosya Sistemi (2)UNIX V7 Dosya Sistemi (2)
UNIX i-node yapısı