Definisikan perbedaan antara penjadwalan secara preemptive dan non-preemptive? dan berikan contoh- contohnya penjadwalan tersebut?

Definisikan perbedaan antara penjadwalan secara preemptive dan non-preemptive? dan berikan contoh- contohnya penjadwalan tersebut?

Jawaban

Berikut perbedaan antara penjadwalan preemptive dan non preemptive lengkap dengan contohnya:

  1. Penjadwalan Preemptive, adalah jenis penjadwalan pada sistem operasi dengan kemampuan menghentikan sementara proses yang sedang berlangsung agar terdapat ruang untuk jalannya proses yang lebih diprioritaskan. Contoh penjadwalan preemptive ini bisa dijumpai pada Linux, Windows XP, MacOS X dan lain-lain.
  2. Penjadwalan Non-Preemptive adalah kebalikan dari penjadwalan preemptive di mana proses yang sedang berlangsung tak bisa dihentikan sementara atau diinterupsi sehingga CPU akan tetap mendahulukan proses yang sudah berjalan lalu beralih ke proses selanjutnya jika sudah selesai. Contoh penjadwalan Non-Preemptive ini adalah yang dijumpai pada Microsoft Windows 3.1 juga pada sistem operasi Macintosh.

Pembahasan

Berikut karakter masing-masing penjadwalan di atas.

PREEMPTIVE

  • Algoritma penjadwalan jenis ini dilaksanakan oleh perhitungan yang berdasarkan pada skala prioritas.
  • Proses dengan prioritas yang dipandang lebih tinggi akan menjadi proses satu-satunya yang menggunakan CPU sampai selesai.
  • Apabila ada prioritas baru yang dipandang lebih tinggi lagi maka proses sebelumnya akan dihilangkan.
  • Context switch akan aktif (dipanggil) meski proses oleh timer interrupt diberhentikan.

NON-PREEMPTIVE

  • Algoritmanya hanya memperbolehkan berjalannya satu proses saja.
  • Proses tak bisa dihilangkan atau ditunda sementara hingga selesai.
  • Context switch aktif (dipanggil) saat proses diblok atau diberhentikan.