Friday, June 15, 2012

CPU Scheduler & Dispatcher


 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

 
Autumn Falling Leaves