Yazan: Şadi Evren ŞEKER
İşlemci zamanlama (CPU Scheduling) yaklaşımlarından birisidir. Bu yaklaşımda, işlem (process) sayısına bakılmaksızın bütün işlemlere eşit miktarda zaman ayrılır. Genel olarak bir işletim sistemi zamanlama algoritmasının öncelikli amacı, sistemin verimli olarak kullanılması ve sistemdeki ek yükleri (overhead) azaltarak sistemde kıtlık (starvation) ve kilitlenmeleri (deadlock) önlemektir.
Ayrıca özel bir işletim sistemi grubu olan gerçek zamanlı işletim sistemleri (RTOS, real time operating systems) için zamanlama işlemlerinin belirgin olması gerekir. Yani bir işlemin çalışacağı ve biteceği zamanlar tam olarak bilinmelidir. O(1) zamanlama algoritmasında, bir işlemin sistemde çalışacağı süre kesin olarak belirlenmiştir. Linux 2.6.23 sürümü öncesinde kullanılan bu O(1) zamanlama sisteminde, işlemler kesin bir süre çalışıp ardından bitmemeleri halinde bekleme sırasına (ready queue) taşınmakta ve tekrar çalıştırılmak için beklemektedir. Linux zamanlaması 2.6.23 sonrasında CFS (completely fair schedular, Tam Adil Zamanlama) ile değiştirilmiştir.
O(1) ismi, karmaşıklık teorisindeki big-oh gösteriminden gelmektedir ve sistemin en kötü durum analizinin 1 olduğunu belirtir. Bu değer karmaşıklık analizi (complexity class) için elde edilebilcedek en iyi değerdir.
linux zamanlamasi I/O islemlerine mi yoksa Cpu-bound islemlerine mi öncelik taniyor ve hangi sebeble digerine ustunluk sagliyor. Bu kategorileri birbirinden nasil ayirt edebiliriz ve bir isleme hangisinin uygun olacagini nasil karar veririz.