Menu Close

Perbedaan Penjadwalan Preemptive dan Non Preemptive Pada Sistem Operasi

Sistem operasi komputer menggunakan dua jenis algoritma penjadwalan untuk menentukan proses mana yang harus dijalankan selanjutnya: preemptive dan non-preemptive. Dalam sistem preemptive, sistem operasi dapat mengganggu proses yang sedang berjalan dan memberikan kontrol ke proses lain, meskipun proses tersebut belum siap untuk dijalankan. Pada sistem non-preemptive, sistem operasi hanya akan memberikan kendali pada proses yang siap dijalankan. Artikel ini akan membahas perbedaan antara kedua jenis algoritma penjadwalan ini.

Apa itu Penjadwalan Preemptive Dalam Sistem Operasi?

  • Preemptive Pada Sistem Operasi adalah proses dimana kernel sistem operasi menginterupsi proses yang sedang berjalan untuk menjalankan proses lainnya. Proses yang diinterupsi kemudian ditempatkan kembali dalam ready queue.
  • Penjadwalan preemptive digunakan di sebagian besar sistem operasi seperti Windows, Linux, dan macOS. Penjadwalan non-preemptive digunakan di beberapa sistem operasi real-time di mana proses dengan prioritas lebih tinggi harus diselesaikan sebelum proses lain diizinkan untuk dimulai.
  • Penjadwalan preemptive digunakan karena memungkinkan sistem operasi untuk dengan cepat menanggapi acara tanpa menunggu proses yang sedang berjalan selesai. Penjadwalan preemptive juga mencegah satu proses memonopoli CPU dan membuat proses lain kelaparan.

Apa itu Penjadwalan Non-Preemptive Dalam Sistem Operasi?

Non-Preemptive Dalam Sistem Operasi adalah di mana proses yang sedang dieksekusi tidak dapat diinterupsi oleh proses lain, bahkan jika proses yang menginterupsi memiliki prioritas lebih tinggi daripada yang sedang dieksekusi.

  • Penjadwalan non-preemptive umumnya digunakan dalam sistem waktu nyata di mana tenggat waktu harus dipenuhi. Keuntungan dari penjadwalan non-preemptive adalah lebih mudah diimplementasikan dan dipahami daripada penjadwalan preemptive.
  • Kerugiannya adalah, jika sebuah proses dengan prioritas tinggi tiba saat proses panjang lainnya sedang berjalan, proses yang panjang tersebut mungkin harus menunggu lama sebelum dapat selesai.
  • Jenis lain dari Non-Preemptive Dalam Sistem Operasi adalah multitasking kooperatif, di mana proses harus secara eksplisit menghasilkan kontrol secara berkala, atau ketika menunggu beberapa peristiwa terjadi.

Jenis Sistem Operasi Non-Preemptive ini dapat menghasilkan kinerja yang buruk jika suatu proses tidak cukup sering menghasilkan kontrol. Itu juga bisa kurang dapat diandalkan karena satu proses dapat menjatuhkan seluruh sistem jika gagal menghasilkan kendali.

Perbedaan antara Penjadwalan Preemptive dan Non-Preemptive Pada Sistem Operasi

  • Algoritma penjadwalan preemptive dan non-preemptive digunakan dalam sistem operasi modern untuk menjadwalkan proses. Algoritma penjadwalan preemptive memungkinkan penjadwal untuk menghentikan proses yang berjalan dan melanjutkannya nanti, sementara algoritma non-preemptive tidak mengizinkan preemption.
  • Penjadwalan preemptive lebih efisien karena memungkinkan penjadwal untuk memanfaatkan sumber daya sistem dengan lebih baik. Namun, penjadwalan non-preemptive lebih adil karena setiap proses mendapat pembagian waktu CPU yang adil.
  • Saat memutuskan jenis penjadwal yang akan digunakan, arsitek harus mempertimbangkan kebutuhan sistem khusus mereka. Secara umum, sistem yang memerlukan throughput tinggi atau respons real-time akan mendapat manfaat dari penjadwalan preemptive, sedangkan sistem yang menempatkan prioritas lebih tinggi pada keadilan mungkin lebih cocok untuk penjadwalan non-preemptive. Pada akhirnya, pilihan penjadwal bergantung pada kebutuhan spesifik sistem.

Kesimpulan

Sistem operasi menggunakan algoritma penjadwalan preemptive dan non-preemptive untuk mengelola proses. Proses dalam sistem preemptive diberi prioritas, dan sistem operasi dapat menginterupsi proses dengan prioritas lebih tinggi untuk menjalankan kodenya. Sebaliknya, sistem non-preemptive memungkinkan proses dengan prioritas lebih rendah untuk terus berjalan bahkan ketika proses dengan prioritas lebih tinggi siap untuk dijalankan.

Pemilihan algoritme penjadwalan memengaruhi daya tanggap sistem operasi dan throughput sistem secara keseluruhan. Kami telah melihat bahwa penjadwalan preemptive menawarkan waktu respons yang lebih baik tetapi dengan biaya throughput yang berkurang, sedangkan penjadwalan non-preemptive mencapai peningkatan throughput dengan mengorbankan waktu respons yang lebih buruk.