Algoritma Penjadwalan Non Preemptive Beserta Contoh - Multitasking nonpreemptive adalah gaya multitasking komputer di mana sistem operasi tidak pernah memulai context switch dari proses yang sedang berjalan ke proses lain. Sistem seperti ini dapat menggunakan penjadwalan statis, paling sering sistem periodik, atau menunjukkan beberapa bentuk koperasi multitasking, dalam hal tugas-tugas komputasi dapat self-interupsi dan secara sukarela memberikan kontrol untuk tugas-tugas lain. Ketika non preemptive digunakan, sebuah proses yang menerima sumber daya tersebut tidak dapat terganggu sampai selesai.
Koperasi multitasking adalah jenis multitasking di mana proses yang saat mengendalikan CPU harus menawarkan kontrol untuk proses lainnya. Hal ini disebut "koperasi" karena semua program harus bekerja sama untuk itu untuk bekerja. Sebaliknya, preemptive multitasking mengganggu aplikasi dan kontrol untuk proses lain di luar kontrol sebuah aplikasi.
Dalam komputasi, context switch adalah proses penyimpanan dan memulihkan keadaan (konteks) dari suatu proses atau Thread sehingga eksekusi yang dapat dilanjutkan dari titik yang sama di lain waktu. Hal ini memungkinkan beberapa proses untuk berbagi CPU tunggal dan merupakan fitur penting dari sebuah sistem operasi multitasking. Apa yang merupakan konteks ditentukan oleh prosesor dan sistem operasi.
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 hardware tertentu, karena tidak memerlukan hardware khusus.
Algoritma-algoritma penjadwalan yang menerapkan strategi nonpreemptive diantarnya:
Penjadwalan FIFO
Penjadwalan FIFO merupakan:
Ketentuan
Penjadwalan FIFO adalah penjadwalan dengan ketentuan-ketentuan paling sederhana, yaitu:
Penjadwalan ini dikatakan adil dalam arti resmi (dalam semantics/arti antrian, yaitu proses yang datang duluan, dilayani duluan juga), tetapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama membuat proses-proses pendek menunggu. Proses-proses tidak penting dapat membuat proses-proses penting menjadi menunggu.
FIFO jarang digunakan secara Mandiri tapi dikombinasikan dengan skema lain, misalnya:
Berdasarkan kriteria penilaian penjadwalan
Penggunaan
Penjadwalan yang terpendek yang lebih dahulu (SJF)
Penjadwalan SJF ini merupakan
Penjadwalan ini mengsumsikan waktu jalan proses (sampai selesai) atau waktu lamanya proses diketahui sebelumnya. Mekanisme penjadwalan SJF adalah lebih dulu menjadwalkan proses dengan waktu jalan terpendek sampai selesai. Setelah proses itu selesai, maka proses dengan waktu jalan terpendek berikutnya dijadwalkan. Demikian seterusnya.
Keunggulan
Koperasi multitasking adalah jenis multitasking di mana proses yang saat mengendalikan CPU harus menawarkan kontrol untuk proses lainnya. Hal ini disebut "koperasi" karena semua program harus bekerja sama untuk itu untuk bekerja. Sebaliknya, preemptive multitasking mengganggu aplikasi dan kontrol untuk proses lain di luar kontrol sebuah aplikasi.
Dalam komputasi, context switch adalah proses penyimpanan dan memulihkan keadaan (konteks) dari suatu proses atau Thread sehingga eksekusi yang dapat dilanjutkan dari titik yang sama di lain waktu. Hal ini memungkinkan beberapa proses untuk berbagi CPU tunggal dan merupakan fitur penting dari sebuah sistem operasi multitasking. Apa yang merupakan konteks ditentukan oleh prosesor dan sistem operasi.
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 hardware tertentu, karena tidak memerlukan hardware khusus.
Algoritma-algoritma penjadwalan yang menerapkan strategi nonpreemptive diantarnya:
- FIFO (First in, First Out) atau FCFS (First Come, First Serve)
- SJF (Short Job First)
- HRN (Highest Ration Next)
Penjadwalan FIFO
Penjadwalan FIFO merupakan:
- Penjadwalan nonpreemptive
- Penjadwalan tidak berprioritas
Ketentuan
Penjadwalan FIFO adalah penjadwalan dengan ketentuan-ketentuan paling sederhana, yaitu:
- Proses-proses diberi jatah waktu pemroses diurutkan berdasarkan waktu kedatangan proses-proses itu ke system.
- Begitu proses mendapatkan jatah waktu pemrosesan, proses dijalankan sampai selesai.
Penjadwalan ini dikatakan adil dalam arti resmi (dalam semantics/arti antrian, yaitu proses yang datang duluan, dilayani duluan juga), tetapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama membuat proses-proses pendek menunggu. Proses-proses tidak penting dapat membuat proses-proses penting menjadi menunggu.
FIFO jarang digunakan secara Mandiri tapi dikombinasikan dengan skema lain, misalnya:
- Keputusan berdasakan prioritas proses, sedangkan untuk proses-proses yang berprioritas sama diputuskan berdasarkan FIFO.
Berdasarkan kriteria penilaian penjadwalan
- Fairness
Penjadwalan FIFO adil dalam arti resmi (dalam semantics/arti antrian, yaitu proses yang datang duluan, dilayani duluan juga) - Efisiensi
Penjadwalan FIFO sangat efisiensi dalam penggunaan pemroses. - Waktu Tanggap (Response Time)
Penjadwalan sangat tidak memuaskan karena proses dapat menunggu lama. Tidak cocok untuk system interaktif. - Turn Around Time
Penjadwalan FIFO tidak bagus. - Throughput
Penjadwalan FIFO tidak bagus.
Penggunaan
- Cocok untuk sistem batch yang sangat jarang melakukan interaksi dengan pemakai secara langsung. Contoh aplikasi analisis numeric, pembuatan tabel.
- Penjadwalan ini sama sekali tidak berguna untuk sistem interaktif karena tidak memberi waktu tanggap yang bagus.
- Tidak dapat digunakan untuk sistem waktu nyata.
Penjadwalan yang terpendek yang lebih dahulu (SJF)
Penjadwalan SJF ini merupakan
- Penjadwalan nonpreemptive (run- to-completion).
- Penjadwalan dapat dikatakan sebagai berprioritas. Di SJF, prioritas diasosiasikan dengan masing-masing proses dan pemroses dialokasikan ke proses dengan prioritas tertinggi. Proses-proses dengan prioritas yang sama akan dijadwalkan secara FCFS (FIFO).
Keunggulan
Penjadwalan SJF mempunyai efisiensi tinggi dan turn around time rendah.
Walaupun mempunyai turn around yang bagus, SJF mempunyai masalah, yaitu:
Untuik mengetahui ukuran lama proses agar dapat ditetapkan yang terpendek biasanya dilakukan dengan cara pendekatan. Pendekatan yang biasa dilakukan adalah dengan membuat estimasi berdasarkan perilaku historis sistem.
Penggunaan
Walaupun mempunyai turn around yang bagus, SJF mempunyai masalah, yaitu:
- Tidak mengetahui ukuran proses saat proses masuk
- Proses yang tidak datang bersamaan sehingga penetapannya harus dinamis
Untuik mengetahui ukuran lama proses agar dapat ditetapkan yang terpendek biasanya dilakukan dengan cara pendekatan. Pendekatan yang biasa dilakukan adalah dengan membuat estimasi berdasarkan perilaku historis sistem.
Penggunaan
Amat jarang digunakan, merupakan kajian teoritis untuk pembandingan dalam pembandingan turn around time.
Sekian artikel tentang Algoritma Penjadwalan Non Preemptive Beserta Contoh.
Algoritma Penjadwalan Non Preemptive Beserta Contoh
4/
5
Oleh
Unknown