CPU Scheduler
Pada
saat CPU menganggur, maka sistem operasi harus menyeleksi proses-proses yang
ada di memori utama (ready queque) untuk dieksekusi dan mengalokasikan CPU
untuk salah satu dari proses tersebut. Seleksi semacam ini disebut dengan short
term scheduler (CPU scheduler). Keputusan untuk menjadwalkan CPU mengikuti
empat keadaan di bawah ini:
1.
Apabila
proses berpindah dari keadaan running ke waiting.
2.
Apabila
proses berpindah dari keadaan running ke ready.
3.
Apabila
proses berpindah dari keadaan waiting ke ready.
4.
Apabila
proses berhenti.
Apabila
model penjadwalan yang dipilih menggunakan keadaan 1 dan 4, maka penjadwalan
semacam ini disebut non-preemptive.
Sebaliknya, apabila yang digunakan adalah keadaan 2 dan 3, maka disebut dengan preemptive. Pada non-preemptive
, jika suatu proses sedang menggunakan CPU, maka proses tersebut akan tetap
membawa CPU sampai proses tersebut melepaskannya (berhenti atau dalam keadaan
waiting). Preemptive scheduling
memiliki kelemahan, yaitu biaya yang dbutuhkan sangat tinggi. Antara lain harus
selalu dilakukan perbaikan data. Hal ini terjadi jika suatu proses ditinggalkan
dan akan segera dikerjakan proses yang lain.
Dispatcher
Dispatcher adalah suatu modul yang akan memberikan
kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term schedulling. Fungsi-fungsi
yang terkandung di dalamnya meliputi:
1.
Switch
context.
2.
Switching
ke user-mode
3.
Melompat
ke lokasi tertentu pada user program untuk memulai program. Waktu yang
diperlukan oleh dispatcher untuk menghentikan suatu proses dan memulai untuk
menjalankan proses yang lainnya disebut dispatch
latency.
0 comments:
Post a Comment