Yazan : Şadi Evren ŞEKER Bir zamanlama algoritması (CPU Scheduling) şekli olan en kısa iş ilk (Shortest job first, SJF veya Shortest Job Next, SJN) algoritmasında o anda elde bulunan işler biritilmek için gereken süreye göre sıralanırlar. En kısa olan işe öncelik verilerek sırayla işler alınır. Çalışma mantığı olarak kesintisiz (non-preemptive) bir algoritma olan bu […]
Category: işletim sistemleri
İlk Gelen Çalışır (First Come First Serve, FCFS, FIFO)
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin çeşitli alanlarında kullanılan bir yaklaşımdır. Bu yaklaşıma göre bir kaynak veya bir isıraya ilk gelenin ilk önce işini bitirerek çıkması hedeflenir. Örneğin CPU Scheduling (İşlemci zamanlama) problemi sırasında işlemciye gelen işlemlerin hangi sıra ile çalışacağı bu algoritmaya göre belirlenirse ilk gelen iş bitmeden ikinci iş başlayamaz. Bir sıra […]
Round Robin
Yazan : Şadi Evren ŞEKER Bir zamanlama (scheduling) algoritmasıdır. Özellikle işletim sistemi tasarımında işlemcinin (CPU) zamanlamasında kullanılan meşhur algoritmalardan birisidir. Bu algoritmaya göre sırası gelen işlem, işlemcide işi bitmese bile belirli bir zaman biriminden sonra (time quadrant) işlemciyi terk etmek zorundadır. Bu sayed işletim sisteminde kıtlık (Starvation) olma ihtimali kalmaz. Çünkü hiç bir zaman bir […]
Kesmeyen Zamanlama (non-preemptive Scheduling)
Yazan : Şadi Evren ŞEKER İşletim sistemi tasarımında önemli bir konu olan işlemci zamanlama algoritmalarına (CPU scheduling algorithms) göre de sırası gelen işlem bu bekleme sırasından alınarak görevlendirici (dispatcher) ismi verilen bir işlem tarafından CPU’ya gönderilir. CPU’da yine işlemci zamanlama algoritmasının izin verdiği kadar (ya bitene ya da belirli bir zaman geçene kadar) çalışan program […]
Kesintili Zamanlama (Preemptive Scheduling)
Yazan : Şadi Evren ŞEKER İşletim sistemi tasarımında önemli bir konu olan işlemci zamanlama algoritmalarına (CPU scheduling algorithms) göre de sırası gelen işlem bu bekleme sırasından alınarak görevlendirici (dispatcher) ismi verilen bir işlem tarafından CPU’ya gönderilir. CPU’da yine işlemci zamanlama algoritmasının izin verdiği kadar (ya bitene ya da belirli bir zaman geçene kadar) çalışan program […]
İşlemci Zamanlama (CPU Scheduling)
Yazan : Şadi Evren ŞEKER İşletim sistemi tasarımında en önemli hususlardan birisi de bir işlemcinin verimli kullanılmasıdır. Şayet işletim sistemi çok işlemliliği (multiprocessing) destekliyorsa ve donanımsal olarak tek işlemci (CPU) bulunuyorsa yapılacak tek şey birden fazla işlemi hafızada bekletip sırayla çalıştırmaktır. CPU çok hızlı olduğu için kullanıcı sanki bütün işlemler aynı anda çalışıyormuş gibi hissedebilir […]
Görevlendirici (Dispatcher)
Yazan : Şadi Evren ŞEKER İşletim sistemi tasarımında kullanılan görevlendirici, işlemci zamanlama algoritmasına (CPU scheduling algorithm) göre beklemekte olan işlemlerden sıradakini alıp işlemciye yollayan programın ismidir. Buna göre bilgisayarda anlık olarak tek işlem çalışabilir ve bu işlem o anda çalışmakta olan diğer işlemler arasından seçilmiş bir işlemdir. Örneğin bilgisayarda 10 tane program açık olabilir ama […]
Bekleme Sırası (Ready Queue)
Yazan : Şadi Evren ŞEKER İşletim sistemlerinde aynı anda birden fazla işin çalışıyormuş gibi yapılması için kullanılan bir sıradır. Buna göre bilgisayarın işlemcisinde anlık olarak sadece bir tane işlem çalışabilir. Ama işletim sistemi sanki birden fazla işlem çalışıyormuş gibi gelen yeni çalıştırma taleplerine olumlu cevap verir. Bunun sonucu olarak onlarca program açılabilir ama problem CPU’da […]
Çevirici (Assembler)
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde iki farklı kavram için assembler kelimesi kullanılmaktadır. Birincisi Assembly dili adı verilen ve makine diline (machine language) çok yakın düşük seviyeli (low level language) için kullanılan ve nesne kodunu (object code) makine koduna (machine code) çeviren dildir. İkincisi ise birleştirmek, monte etmek anlamında örneğin nesne yönelimli dillerde nesnelerin […]
Dinamik Bağlantı Kütüphaneleri (Dynamic Link Library (.dll))
Yazan : Şadi Evren ŞEKER Microsoft tarafından windows işletim sistemi üzerinde kullanıma açılan ve çalışma sırasında bağlanmaya izin verilen kütüphane yaklaşımıdır. Basitçe Linux ortamlarındaki .o (object file (nesne dosyası)) benzetilebilir. Bu dosyaların amacı birden fazla program tarafından kullanılan kütüphaneleri içermeleri ve her programın gerekli oldukça ilgili kütüphaneden dosyayı okumasıdır. Windows öncesi microsoft işletim sisteminde (windows […]