Junior — Middle
İşletim sisteminde görev zamanlayıcısının çalışma mekanizmasını açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
İşletim sistemindeki zamanlayıcı (scheduler), çalışan süreçler ve akışlar arasında işlemci zamanını dağıtmakla ilgilenir. Ana amacı, CPU kaynaklarının verimli ve adil kullanımını sağlamaktır.
Temel çalışma prensipleri:
- Çalışmaya hazır süreçlerin kuyrukları — zamanlayıcı, çalışmaya hazır süreçlerin listesini tutar.
- Çalıştırılacak süreç seçimi — planlama algoritmasına (örneğin, Round Robin, öncelikler, çok seviyeli kuyruklar) göre, bir sonraki süreç seçilir.
- Zaman dilimi (quantum) — her süreç belirli bir zaman dilimi (quantum) ile atanır ve bu sürenin sonunda kontrol başka bir sürece geçebilir.
- Kesintiler ve olayların işlenmesi — zamanlayıcı, süreç tamamlanması, giriş/çıkışta kilitlenme gibi olaylara yanıt verir ve kuyrukların durumunu günceller.
Round Robin algoritması örneği:
// Round Robin zamanlayıcı pseudokodu
for {
for _, süreç := range hazırKuyruk {
süreçÇalıştır(süreç, zamanDilimi)
if süreç.bittiMi() {
kuyruktanKaldır(süreç)
} else {
sonaEkle(süreç)
}
}
}
Bu şekilde, zamanlayıcı çoklu görev ve sistemin yanıt verebilirliğini sağlar.