Penjadwalan Preemtive dan Nonpreemtive

 

Penjadwalan Preemtive

Penjadwalan preemtive mempunyai arti kemampuan sistem operasi unutk memberhentikan sementara proses yang sedang berjalan untuk memeberi ruang kepada proses yang prioritasnya lebih tinggi. penjadwalan preemtive memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat sebuah slice waktu operasi. Dan juga membuat sistem lebih cepat merespon terhadap event dari luar (contohnya seperti ada data yang masuk) yang membutuhkan reaksi cepat dari satu atau beberapa proses. Membuat penjadwalan preemtive mempunyai keuntungan yaitu sistem lebih responsif  daripada sistem yang memakai penjadwalan nonpreemtive.

Penjadwalan Round Robin adalah contoh penjadwalan preentive. Setiap proses mendapatkan sejumlah kecil waktu CPU. Biasanya 10 hingga 100 milidetik. Unit data kecil ini juga dikenal sebagai kuantum waktu. Setelah waktu ini berlalu, proses didahului dan ditambahkan ke akhir antrian siap. Asumsikan bahwa ada 4 proses sebagai P1, P2, P3 dan P4. Waktu burst CPU dalam milidetik adalah sebagai berikut. Waktu kuantum adalah 20.



Proses P1 dijalankan hingga 20. Masih ada 33ms lagi. Kemudian P2 dijalankan. Karena kuantum waktu adalah 20 dan waktu yang dibutuhkan P2 adalah 17ms, P2 akan mengeksekusi untuk 17ms. Jadi, proses P2 selesai. Kemudian kesempatan diberikan kepada P3. Ini akan dieksekusi selama 20ms, sisanya 48ms. Kemudian P4 akan dieksekusi selama 20ms. Ini memiliki 4ms untuk menyelesaikan proses total. Sekali lagi, P1 akan dieksekusi selama 20ms. Ia memiliki 13ms lagi untuk menyelesaikan proses. Perubahan diberikan ke P3. Ini akan dieksekusi selama 20ms, dan ia memiliki 28ms untuk diselesaikan sepenuhnya. P4 dijalankan, ini hanya memilki 4ms. Oleh karena itu, P4 menyelesaikan eksekusi. P2 dan P4 selesai. Proses yang tersisa adalah P1 dan P3. Kesempatan diberikan kepada P1. Selesai 13ms, jadi selesai. Sekarang satu-satunya proses yang tersisa adalah P3. ini memiliki 28ms untuk diselesaikan. Jadi P3 akna bejalan selama 20ms, sisanya 8ms. Semua proses lainya telah selesai dieksekusi. Oleh karena itu, sekali lagi sisa 8ms dari P3 akan dieksekusi. Demikian juga setiap proses mendapat kesempatan untuk dieksekusi.
 

Penjadwdalan Nonpreemtive

Penjadwalan nonpreemtive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di-interupt. Penjadwalan nonpreentive terjadi ketika proses hanya :

  1. Berjalan dari running state sampai waiting state
  2. Dihentikan
Ini berarti CPU menjaga proses sampai proses itu pindah ke waiting state ataupun dihentikan (proses tidak diganggu). Metode ini digunakan oleh Microsoft Windows 3.1 dan Macintosh.

Penjadwalan First Come First Served (FCFS) dapat diambil sebagai contoh penjadwalan nonpreemtive. Proses yang meminta pertama dialokasikan ke CPU terlebih dahulu. Penjadwalan ini mudah dikelola oleh antrian First In First Out (FIFO). Jika ada proses datang dalam urutan sebagai P1, P2 dan P3, maka kesempatan pertama diberikan pada P1. Setelah selesai, P2 akan dieksekusi. Ketika P2 selesai, P3 akan dieksekusi. Asumsikan bahwa ada 3 proses sebagai P1, P2 dan P3 dengan waktu burst CPU dalam milidetik sebagai berikut.


Dari gambar diatas, P1 akan dieksekusi. Setelah selesai, proses P2 dieksekusi selama 3ms. Sekarang proses yang tersisa adalah P3 dan alan mengeksekusinya. Waktu tunggu P1 adalah nol. Proses P2 harus menunggu 24ms, dan proses P3 harus menunggu 27ms. Jika proses tiba dalam urutan P2, P3 dan P1 maka P2 akan selesai terlebih dahulu. P3 berikutnya akan selesai, dan akhirnya P1 akan selesai.

Persamaan Penjadwalan Preemtive dan Nonpreemtive
  • Penjadwalan preemtive dan nonpreemtive di OS adalah mekanisme untuk menjadwalkan proses di komputer.
Perbedaan Penjadwalan Preentive dan Nonpreemtive




Ringkasan 

Ada beberapa proses yang berjalan di komputer, Ketika setiap proses dijalankan, CPU dialokasikan untuk proses tertentu. Kadang-kadang, perlu untuk menghentikan pelaksanaan proses saat ini dan untuk memberikan prioritas pada proses lain. Mekanisame penjadwalan proses dapat bersifat preemtive atau nonpreemtive. Penjadwalan preemtive adalah mekanisme penjadwalan proses dimana proses dapat terganggu oleh proses lain ditengah pelaksanaanya. Penjadwalan nonpreemtive adalah mekanisme penjadwalan proses meskipun yang satu proses memulai eksekusi hanya setelah proses sebelumnya berakhir. Ini adalah perbedaan antara penjadwalan preemtive dan penjadwalan nonpreemtive di OS.

Untuk lebih jelasnya simak video dibwah ini 

            Refernsi :
    • id.sawakinome.com - Perbedaan Antara Penjadwana Preemtive dan Nonpreetive di OS
    • cheesterzone.blogsopt.com - Penjadwalan Preentive dan penjadwalan Nonpreemtive
    • id.gadget-info.com - Perbedaan Antara Penjadwalan Preentive dan Non-Preemtive

Komentar

Postingan Populer