17 Haziran 2011 Cuma

İşletim Sistemlerinde Kaynak Paylaşımı

İşletim sistemlerinde iki tür kaynak vardır.
1.Preemptable Resource
2.Nonpreemptable Resource

Preemptable Resource'da, herhangi bir anda bazı process'lerden kaynağı zorla alabilirsiniz. Örneğin yazıcıların hafızalarını düşünün.A process'i yazıcıyı alıkoyabilir, ardından B de alıkoyabilir ve gönderilen kuyruğa girer. Karmaşık işlemler yaptırılabilir.
Nonpreemptable'da ise işlem başlayınca bir process'ten alıp diğerine veremezsiniz. CD Writer ya da scanner'ı düşünebilirsiniz. A process'i belli bir anda scanner'ı kullanmak isteyebilir. İşin bir kısmını yaptıktan sonra, gelen bilgiyi CD'ye kaydetmek isteyebilir. Ancak scanner B process'ine tahsis edilmiştir. A process'i sleep moduna geçer ve bekler. Tabi B process'i de scanner'ı beklerse, geçmiş olsun, nur topu gibi bir deadlock'ımız olur. :)

Son olarak bir kaynağı kullanmak için kullanılan adımları belirtelim. Üç aşamada gerçekleşir:
1.Process istekte bulunur
2.Process kaynağı kullanır
3.Process kaynağı bırakır. :)
Önemli birşey bekleyenleri hayal kırıklığına uğratan 3 madde oldu sanırım. :D
Process istekte bulunduğunda, işletim sistemi vermezse ne olabilir peki? İşletim sistemi process'i bloke edebilir. Veyahut hata kodu ile kaynağı kullanamayacağını söyleyebilir.


Birazdan görüşürüz.

Hiç yorum yok: