Bölüm 6 · SimülasyonSenkronizasyon Laboratuvarı? ← Bölüm 6 Mutex Semafor Üretici–Tüketici Okur–Yazar Filozoflar KarşılaştırMod Süreç 4 Kapasite 2 Hız 1.5/s Adım 0/0 ✓ İçeride 0 ⏸ Bloke 0 ⚠ Kilitlenme KapatSenkronizasyon LaboratuvarıSüreçler, semaforlar üzerindeki wait/signal işlemlerinden oluşan küçük bir program çalıştırır. Round robin çizelgeleyici her adımda bloke olmayan sıradaki sürece bir işlem yaptırır; böylece kimin kritik bölgeye girdiği, kimin bir semaforun FIFO kuyruğunda bloke olduğu ve kimin kimi uyandırdığı izlenir. Sağdaki panel her sürecin sıradaki işlemini ve son olayları listeler.KullanımBir senaryo seçilir: Mutex (paylaşılan sayaç), Semafor (sınırlı izin), Üretici–Tüketici (sınırlı tampon), Okur–Yazar ya da Yemek Yiyen Filozoflar.İkinci satır seçeneği (kilitli ya da kilitsiz, hangi tarafın hızlı olduğu, sıralı ya da saf çatal alma), süreç sayısını (2–8) ve kapasiteyi (izin ya da tampon yuvası, 1–6) değiştirir.▶ oynatır; adım düğmeleri bir işlem geri ya da ileri gider veya başa ya da sona atlar (en çok 150 adım ya da kilitlenmeye kadar).Karşılaştır, geçerli senaryonun seçeneklerini 120 adım boyunca yan yana çalıştırır.İşlemlerwait(S)S > 0 ise azalt; değilse S’nin FIFO kuyruğunda bloke ol.signal(S)Bekleyen varsa ilkini uyandır (izni o alır); yoksa S’yi artır.ÇizelgeleyiciRound robin: bloke olmayan sıradaki süreç bir işlem yapar.MutexOku → değiştir → yaz adımlarını saran ikili semafor.Yarış durumuSenkronizasyon yok: eskimiş iki okuma bir güncellemeyi kaybettirir.empty / fullBoş / dolu tampon yuvaları.rw_mutexİlk okur kilitler, son okur açar; yazar onu tek başına tutmalıdır.Sıralı çatallarÖnce küçük numaralı çatalı almak döngüsel beklemeyi kırar.KilitlenmeTüm süreçler bloke: kimse signal yapamaz.Gösterim hazır ✓ kritik bölgede ⏸ bloke son işlem yapanTuşlar←→ adımBoşluk oynatHomeEndEsc kapat