KONSEP PENJADWALAN
By: Asriadi
Pertemuan 8
Pendahuluan
Kita mengenal yang namanya multiprograming, yang bertujuan untuk
memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu
yang digunakan oleh CPU, sehingga proses berjalan sepanjang waktu dan
memperkecil waktu idle. Oleh karena itu perlu adanya penjadwalan proses-
proses yang ada pada sistem. Untuk sistem yang hanya mempunyai
prosesor tunggal (uniprosesor), hanya ada satu proses yang dapat berjalan
setiap waktunya. Jika ada proses lebih dari satu maka proses yang lain harus
menunggu sampai CPU bebas dan siap untuk dijadwalkan kembali.
Penjadwlalan Antrian
Gambar: Device Queue
Ketika sebuah proses memasuki sistem, proses itu diletakkan
di dalam job queue. Pada antrian ini terdapat seluruh proses yang
berada dalam sistem. Sedangkan proses yang berada pada memori
utama, siap dan menunggu untuk mengeksekusi disimpan dalam
sebuah daftar yang bernama ready queue. Antrian ini biasanya
disimpan sebagai linked list. Header dari ready queue berisi pointer
untuk PCB pertama dan PCB terakhir pada list. Setiap PCB memiliki
pointer field yang menunjuk kepada PCB untuk proses selanjutnya
dalam ready queue.
Gambar : Diagram Antrian
Penjadwalan proses dapat direpresentasikan secara umum
dalam bentuk diagram antrian, yang ditunjukkan oleh Gambar
13.2, “Diagram Antrian”. Setiap kotak segi empat menunjukkan
sebuah antrian. Dua antrian diantaranya menunjukkan ready
queue dan seperangkat device queue. Lingkaran menunjukkan
sumber daya yang melayani antrian dan tanda panah
mengindikasikan alur dari proses-proses yang ada dalam sistem.
Umumnya proses-proses yang ada pada sistem akan
ada dalam beberapa tahap antrian yaitu job queue, ready
queue, dan device queue.
Job queue, menyimpan seluruh proses yang berada
pada sistem. Ketika sebuah proses memasuki sebuah
sistem, proses tersebut akan diletakkan di dalam job
queue.
Proses-proses yang ada menunggu di dalam ready queue sampai dia
dipilih untuk eksekusi, atau di-dispatched. Begitu proses tersebut dipilih lalu
dialokasikan ke CPU dan sedang berjalan, satu dari beberapa kemungkinan di
bawah ini dapat terjadi.
1. Proses tersebut mengeluarkan permintaan M/K, lalu ditempatakan
dalam sebuah M/K device queue.
2. Proses tersebut dapat membuat sub-proses baru dan menunggu untuk
di-terminasi.
3. Proses tersebut dikeluarkan (di-remove) secara paksa dari CPU, sebagai
hasil dari suatu interrupt dan diletakkan kembali ke dalam ready queue.
PenjadwalanGambar: Medium-term Scheduler
Terdapat dua jenis scheduler pada CPU yang umum dipakai, yaitu:
1. Long-Term Scheduler atau Job Scheduler yang bertugas
memilih proses dari tempat ini dan mengisinya ke dalam
memori.
2. Short-Term Scheduler atau CPU scheduler yang bertugas
memilih proses yang sudah siap untuk melakukan
eksekusi,dan dialokasikan di CPU untuk proses tersebut.
Secara umum, proses pada Long-Term Scheduler dapat dibagi
menjadi dua, yaitu:
1. M/K Bound yaitu proses yang lebih banyak
mengerjakan permintaan M/K dibandinkan komputasi.
2. CPU Bound yaitu proses yang lebih banyak
mengerjakan komputasi dibandingkan permintaan
M/K.
Context Switch
Mengganti CPU ke proses lain memerlukan
penyimpanan keadaan dari proses lama dan mengambil
keadaan dari proses yang baru. Hal ini dikenal dengan
sebutan context switch. Context switch sebuah proses
direpresentasikan dalam PCB dari suatu proses;
termasuk nilai dari CPU register, status proses dan
informasi manajemen memori.
Gambar : Context Switch
Top Related