Penjadwalan CPU

Penjadwalan (scheduling) merupakan dasar dari sistem operasi multiprogramming dimana tujuannya agar CPU dapat menjalankan beberapa proses bersama-sama  untuk memaksimalkan utilisasi atau penggunaan CPU. Terdapat beberapa kriteria yang dapat digunakan untuk mengukur optimasi kinerja algoritma penjadwalan CPU, antara lain:

    CPU Utilization
   Sebuah penjadwalan yang baik seharusnya membuat CPU bekerja maksimal mungkin. Secara konsep, utilisasi CPU berkisar antara 0 sampai 100%. Pada sistem real time, utilisasi berkisar dari 40% (untuk lightly loaded system) hingga 90% (untuk heavily used system).
    Troughput
    Troughput adalah jumlah proses yang dapat diselesaikan tiap unit waktu (time unit).

    Turnarround time
    Turnarround time adalah waktu yang dibutuhkan untuk mengeksekusi proses, mulai dari proses dibuat hingga selesai.

    Waiting time
   Waiting time adalah jumlah waktu yang digunakan proses untuk menunggu selama berada di ready queue hingga mendapat giliran untuk dieksekusi atau diserahkan ke prosesor. Algoritma penjadwalan CPU tidak mempengaruhi jumlah waktu selama proses mengeksekusi atau melakukan I/O, tetapi hanya mempengaruhi jumlah waktu yang digunakan proses untuk menunggu di ready queue.
    Response time
   Response time adalah waktu yang dibutuhkan oleh proses untuk menerima respon,  mulai dari proses masuk hingga didapatkan respon pertama kali atau dari waktu respon sebelumnya sampai mendapat respon berikutnya. 
 
Algoritma penjadwalan CPU yang baik akan memaksimalkan utilisasi CPU dan throughput, serta meminimalkan turnarround time, waiting time, dan response time. Terdapat 3 tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:

    1. Penjadwal jangka pendek (short term scheduller)

Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

    2. Penjadwal jangka menengah (medium term scheduller)

Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.
   
    3. Penjadwal jangka panjang (long term scheduller)
Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.


Leave a Reply