Sunday 1 April 2012

ALGORITMA PENJADWALAN PADA LINUX

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.

2 comments: