Macam algoritma penjadwalan CPU

Penjadwalan CPU dapat bersifat preemptive atau nonpreemptive. Pada penjadwalan preemptive, CPU yang dialokasikan ke suatu proses dapat ditarik kembali oleh sistem operasi dan dialihkan ke proses lainnya dengan kata lain sistem operasi memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Sedangkan pada penjadwalan nonpreemptive bersifat sebaliknya, sekali CPU dialokasikan ke sebuah proses, maka proses akan menggunakan CPU tersebut sampai proses melepaskannya karena proses telah terminate atau proses beralih ke waiting state.

Penjadwalan CPU berhubungan dengan penetuan proses di ready queue yang akan dialokasikan CPU. Ada beberapa macam algoritma penjadwalan CPU, antara lain:

    1. First-Come, First-Served (FCFS) Scheduling
    Pada penjadwalan ini, proses yang datang pertama kali akan dieksekusi terlebih dahulu. Implementasi algoritma penjadwalan ini serti FIFO (First-In First-Out) queue. Pada algortima penjadwalan ini dapat menghasilkan convoy effect yaitu waktu dari proses kecil yang dapat berjalan cepat tapi karena datangnya belakangan maka proses tersebut akan menunggu lama

    2. Shorthest-Job-First (SJF) Scheduling
  Algoritma penjadwalan ini akan mengeksekusi proses yang CPU burst selanjutnya paling pendek. Algoritma ini memberikan waiting time paling minimum diantara algoritma lainnya. Namun, penjadwalan ini cukup sulit untuk direalisasikan karena sistem operasi tidak dapat mengetahui dengan pasti CPU burst selanjutnya untuk suatu proses, sistem operasi hanya mampu memprediksinya dengan menggunakan exponential averaging.

    3. Priority Scheduling
   Pada penjadwalan ini, setiap proses akan diberikan prioritas, dan CPU akan dialokasikan ke proses yang memiliki prioritas tertinggi. Nomor terkecil menjadi proses yang memiliki prioritas paling tinggi. Pada penjadwalan ini dapat terjadi starvation yaitu proses tidak akan pernah dijalankan karena memiliki nilai prioritas yang rendah. Untuk mengatasi masalah ini maka dibuat dibuat solusi yang disebut aging yaitu semakin lama proses menunggu maka makin tinggi nilai prioritasnya.

    4. Round-Robin (RR) Scheduling
    Penjadwalan ini mengalokasikan CPU ke proses pertama di ready queue sebesar Q time unit (quantum). Setelah q time unit, jika proses belum selesai, proses akan disela dan akan mengantri kembali di ready queue.

    5. Multilevel Queue Scheduling
    Penjadwalan ini membagi ready queue ke dalam sejumlah queue, dan masing-masing queue tersebut dapat mengimplementasikan algoritma penjadwalan yang berbeda.

    6. Multilevel Feedback Queue Scheduling
    Penjadwalan ini hampir sama dengan Multilevel Queue Scheduling, hanya saja proses dapat berpindah dari satu queue ke queue yang lainnya.

Masing-masing algoritma penjadwalan CPU tersebut mempunyai kelebihan dan kelemahan masing-masing. Berbagai sistem operasi menerapkan salah satu atau kombinasi dari berbagai algoritma penjadwalan tersebut.

3 Responses so far.

  1. bisa diperjelas lagi ga yang round robin?

  2. IMMERSED says:

    Wow,bagus artikelnya..
    Akhirnya bisa dapat pemikiran baru nih tentang penjadwalan proses..
    Oya,dilain waktu kunjungi blog aku yaa?? Jangan lupa follow blog aku..hihi
    www.elcika.blogspot.com

  3. Unknown says:

    alhamdulillah dapat juga materi ini makasih mas beroh :D

    http://www.ngecat.blogspot.com

Leave a Reply