Minggu, 15 Maret 2020

Strategi penjadwalan proses Preemptive dan Non Preemptive

STRATEGI PENJADWALAN PROSES

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan juga bertugas untuk memutuskan proses yang harus berjalan dan kapan atau berapa lama proses itu berjalan.
Terdapat dua strategi penjadwalan, yaitu :
1.       Penjadwalan Non-preemptive
2.       Penjadwalan Preemptive

Penjadwalan Preemptive
Penjadwalan Preemptive adalah kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini memungkinkan sistem untuk menjamin bahwa setiap proses mendapat  slice waktu operasi, dan membuat sistem lebih cepat merespon event luar.
Penjadwalan Preemptive melibatkan mekanisme interupsi yang menyela proses yang sedang berjalan dan memaksa sistem menentukan proses mana yang dieksekusi.
Contoh sistem operasi yang menerapkan penjadwalan Preemptive:
Windows 95, Windows XP, Linux, Unix, AmigaOS, MacOS X, dan Windows NT.
Lama waktu proses diizinkan untuk dieksekusi dalam penjadwalan Preemptivedisebut time slice/quantum. Penjadwalan berjalan setiap satu satuan time sliceuntuk memilih proses mana yang berjalan selanjutnya.
Penjadwalan NonPreemptive
Penjadwalan Non Preemptive ialah penjadwalan dimana sistem operasi tidak melakukan context switch dari proses yang sedang berjalan ke proses lain (proses yang berjalan tidak bisa di- interupt).
CPU menjaga proses sampai proses pindah ke waiting state ataupun dihentikan (proses tidak diganggu). Metode ini digunakan Microsoft Windows 3.1 dan Macintosh. Ini adalah metode yang digunakan untuk platforms hardwaretertentu, karena tidak memerlukan hardware khusus (misalnya timer yang digunakan untuk menginterupt pada metode penjadwalan Preemptive).
Perbedaan Preemptive dan NonPreemptive
Preemptive:
  1. Algoritma preemptive dijalankan oleh penghitungan yang diprioritaskan.
  2. Proses dengan prioritas tertinggi menjadi satu – satunya yang memakai CPU.
  3. Jika ada proses baru yang prioritasnya lebih tinggi, proses yang terdapat pada CPU dihilangkan.
  4. context_switch() dipanggil walaupun proses diberhentikan oleh timer interrupt.
Non-Preemptive:
  1. Algoritma non – preemptive hanya mengizinkan satu proses.
  2. Proses tidak dihilangkan dari CPU sampai waktu berjalannya selesai.
  3. context_switch() dipanggil ketika proses diberhentikan atau diblok.

Tidak ada komentar:

Posting Komentar