Penjadwalan merupakan
pekerjaan untuk mengalokasi waktu CPU ke proses yang
berbeda-beda dalam
sebuah sistem operasi. Selain aspek menjalankan dan
interrupt proses, ada
aspek lain yang penting pada Linux, yaitu running dari
beberapa tugas kernel.
Tugas kernel meliputi tugas yang diminta oleh running
proses dan tugas yang
dieksekusi secara internal karena kepentingan device driver.
Linux memiliki dua
algoritma penjadwalan proses yang terpisah. Yang pertama
adalah time-sharing
algoritma untuk penjadwalan yang adil dan preemptive
diantara beberapa
proses, sedangkan yang lain di desain untuk tugas-tugas realtime,
dimana absolut
prioritas adalah hal yang paling penting.
Algortima penjadwalan
Linux adalah preemptive, priority based dengan dua range
prioritas yang
terpisah; range real-time dari 0-99 dan yang lainnya dengan range
dari 100-140. Dua range
ini memetakan skema prioritas global dimana semakin
kecil angka
prioritasnya memiliki arti prioritas lebih tinggi.
Linux memberikan
quantum waktu yang lebih panjang pada proses dengan prioritas
tinggi dan sebaliknya.
Sebuah proses dapat running pada CPU jika proses tersebut
memiliki waktu sisa
pada slot waktunya. Saat slot waktunya habis, proses tersebut
dianggap kadaluarsa dan
tidak akan dieksekusi sampai seluruh proses slot
waktunya habis juga.
Saat ini terjadi, list proses aktif akan menjadi kosong, maka
list proses kadaluarsa
akan menjadi aktif dan eksekusi akan dimulai kembali.
Penjadwalan real-time
Linux mengimplementasikan dua penjadwalan real-time,
yaitu first-come,
first-served(FCFS) dan round-robin. Pada kedua kasus, setiap
proses memiliki
prioritas. Penjadwal akan memilih proses dengan prioritas paling
besar pada penjadwalan
real-time. Di antara dua proses dengan prioritas yang
sama, penjadwal akan
menjalankan proses yang telah menunggu paling lama.
Penjadwalan real-time
Linux adalah soft real-time. Pada algoritma soft real-time fitur
yang paling penting
dari adalah merespon dengan segera sebuah proses waktu
nyata secepat proses
yang membutuhkan CPU. Algoritma penjadwalan
berdasarkan prioritas
memberikan prioritas kepada masing-masing proses
berdasarkan tingkat
kepentingannya; proses yang lebih penting di berikan
prioritas lebih tinggi
daripada proses lain yang dianggap kurang penting. Apabila
penjadwalan yang
digunakan juga mendukung preemption dan tersedia sebuah
proses berprioritas
tinggi, maka sebuah proses yang berjalan sekarang ini di CPU
akan didahulukan.
Sumber : Silberschatz,
Abraham. 2005. Operating System Concepts
7th Edition. John
Wiley & Sons, Inc.
pranala lain -> Konsep Penjadwalan Prioritas Menggunakan Terminal Linux
ReplyDelete:)
Delete