Aşağıdaki resimde, çalışan bir işlem G / Ç veya olay bekletme için bekleme durumuna getirilebilir .
G / Ç taleplerinde sorun yok, bunun nedenlerini anlıyorum. Ancak olayla ilgili bazı şüphelerim var. Bu "olayların" ne olabileceğini anlamaya çalıştım ve işte düşündüğüm şey:
- Bir çocuk için bir işlem çatalı ve sonlandırılması için beklemesi gerekiyor
- Senkronizasyon sürecinde, semaforik bir yaklaşım kullanırsak, kritik bölümünde zaten bir işlem olduğunda, işlemi engelleyen ve ardından işlemi semafor kuyruğuna ekleyen Wait işlemini kullanırız.
Haklı mıyım Diğer olaylar ne olabilir?
IRQ olayları demek bence. tıpkı IO için bir asenkron DMA talebi yerine getirilirken bir CPU'nun bir diziyi nasıl duraklatması gibi, bir dedikasyon bir CPU'nun çalıştığı herhangi bir diziyi duraklatmasına ve kesmeyi işlemesine neden olur. Program çoklu okuma ve senkronizasyon, DMA'dan çok daha yüksek bir katmanda açıkça koordine edilir, bu nedenle düşük seviyeli zamanlayıcı, çalışan iş parçacıklarının durumunu korumaktan doğrudan sorumlu değildir, programdır. DMA ve Interrupt'a yapılan göndermeler, Interrupt İstekleri hakkında konuştuklarını açıkça ortaya koyuyor. bir DMA-tamamlandı sinyali bir kesintidir.
—
Frank Thomas
Daha fazla baktığımda, bu sadece DMA hakkında konuşuyor. bir iş parçacığı DMA aracılığıyla harici depolamadan veri istediğinde, IO meydana geldiğinde iş parçacığı duraklatılır. Bu eşzamansız işlem tamamlandığında, CPU'ya iş parçacığı verilerinin hazır olduğunu söylemek için bir kesinti yapılır ve zamanlayıcı iş parçasını daha sonraki işlemler için kuyruğa tekrar koyabilir (örneğin Beklemeden (DMA'da)) Verilerin hazır olması için hazır (zamanlayıcı ona ulaştığında çalıştırılacak) Çalışıyor'a).
—
Frank Thomas
Yorumunuz için teşekkürler, bu resim üniversitede bir sınav için kullandığım bir işletim sistemi kavram kitabından. Görüntü, farklı işlem durumları arasındaki yer değiştirmelerin nasıl çalıştığını açıklamak için kullanılır. Benim görüşüme göre, sadece DMA hakkında konuşmuyor, çünkü IRQ ve dolayısıyla şemadaki Kesintiler, çalışan bir sürecin hazır duruma geçmesine neden olduğu bildiriliyor.
—
Luigi Cerone,
O ... hangisini kullandığına terminoloji açıklamak vermeyen kötü bir kitap
—
DavidPostill
Bu "görüntü" bir durum şeması denir . Hangi olayların çalışan bir işlemi engelleyeceğini tanımlamak OS'ye bağlıdır. Karşılıklı hariç tutma işlemleri işletim sistemleri arasında farklılık gösterir.
—
talaş