Proses adalah program dalam pelaksanaan. Komputer perlu melakukan banyak tugas pada masa yang sama. Oleh itu, CPU perlu mendapatkan proses dan melaksanakannya. Kadang-kadang perlu untuk melaksanakan beberapa proses daripada proses lain. Pada ketika itu, proses berjalan terganggu, dan CPU diperuntukkan kepada proses baru. Selepas tugas selesai, CPU diperuntukkan semula ke proses sebelumnya. Penjadualan mengikut mekanisme ini dikenali sebagai penjadualan terdahulu. Sekiranya proses berjalan, tidak boleh terganggu dan wajib untuk menjalankan proses berjalan, maka ia dikenali sebagai penjadualan nonpreemptive. Artikel ini membincangkan perbezaan antara penjadualan preemptive dan nonpreemptive dalam sistem operasi. Penjadualan preemptive adalah proses penjadualan mekanisme melalui proses yang dapat terganggu oleh proses lain di tengah pelaksanaannya. Penjadualan nonpreemptive adalah proses penjadualan mekanisme melalui mana satu proses mulai pelaksanaan hanya setelah proses sebelumnya berakhir. Itulah perbezaan utama antara Penjadualan Pencegahan dan Pengecualian dalam OS.
1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah Penjadualan Pencegahan pada OS
3. Apakah Penjadualan Nonpreemptive dalam OS
4. Kesamaan Antara Pengecualian dan Pengecualian Nonpreemptive dalam OS
5. Perbandingan Side by Side - Pengecualian vs Penjadualan Nonpreemptive dalam OS dalam Borang Tabular
6. Ringkasan
Penjadualan Pusingan Robin adalah contoh penjadualan terdahulu. Setiap proses mendapat sedikit masa CPU. Biasanya 10 hingga 100 milisaat. Unit data kecil ini juga dikenali sebagai kuantum masa. Selepas masa ini telah berlalu, proses itu akan terdedah dan ditambah ke penghujung giliran siap. Anggapkan bahawa terdapat 4 proses seperti P1, P2, P3 dan P4. Masa pecah CPU dalam milisaat adalah seperti berikut. Kuantum masa ialah 20.
Rajah 01: Contoh Penjadualan Robin Pusingan
Proses P1 dilaksanakan sehingga 20. Terdapat 33ms lagi. Kemudian P2 melaksanakan. Oleh kerana kuantum masa adalah 20 dan masa yang diperlukan P2 adalah 17ms, P2 akan melaksanakan untuk 17ms. Jadi, proses P2 selesai. Kemudian peluang diberikan kepada P3. Ia akan dilaksanakan selama 20ms. Selebihnya ialah 48ms. Kemudian P4 akan dilaksanakan selama 20ms. Ia mempunyai 4ms untuk menyelesaikan keseluruhan proses. Sekali lagi, P1 akan dilaksanakan selama 20ms. Ia mempunyai 13ms lagi untuk menyelesaikan proses itu. Perubahan diberikan kepada P3. Ia akan dilaksanakan selama 20ms, dan ia mempunyai 28ms lagi untuk selesai sepenuhnya. P4 dilaksanakan. Ia hanya mempunyai 4ms. Oleh itu, P4 melengkapkan pelaksanaannya. P2 dan P4 sudah selesai. Proses yang selebihnya adalah P1 dan P3. Peluang diberikan kepada P3. Ia mempunyai 13ms untuk diselesaikan, jadi ia selesai. Sekarang proses yang tinggal hanyalah P3. Ia mempunyai 28ms untuk disiapkan. Jadi P3 akan berjalan selama 20ms. Selebihnya adalah 8ms. Semua proses lain telah selesai dilaksanakan. Oleh itu, sekali lagi selebihnya 8ms P3 akan dilaksanakan. Begitu juga, setiap proses mendapat peluang untuk dilaksanakan.
Penjadualan Pertama Datang Pertama (FCFS) boleh diambil sebagai contoh penjadualan yang tidak berpaut. Proses yang diminta terlebih dahulu diperuntukkan kepada CPU terlebih dahulu. Penjadualan ini mudah diuruskan oleh giliran First In First Out (FIFO). Sekiranya terdapat proses datang sebagai P1, P2 dan P3, maka peluang pertama diberikan kepada P1. Selepas selesai, P2 akan dilaksanakan. Apabila P2 selesai, P3 akan dilaksanakan. Anggapkan bahawa terdapat 3 proses seperti P1, P2 dan P3 dengan masa pecah CPU dalam milisaat seperti berikut.
Rajah 02: Contoh Penjadualan FCFS
Menurut yang tersebut di atas, P1 akan dilaksanakan. Setelah selesai, proses P2 dilaksanakan selama 3ms. Sekarang proses baki ialah P3. Kemudian ia akan dilaksanakan. Masa menunggu P1 adalah sifar. Proses P2 terpaksa menunggu 24ms, dan proses P3 harus menunggu 27ms. Jika proses tiba dalam urutan P2, P3 dan P1 maka P2 akan lengkap terlebih dahulu. Seterusnya P3 akan selesai, dan akhirnya, P1 akan selesai.
Preemptive vs Penjadualan Nonpreemtive dalam OS | |
Penjadualan preemptive adalah mekanisme penjadualan proses di mana proses dapat terganggu oleh proses lain di tengah pelaksanaannya. | Penjadualan nonpreemptive adalah proses penjadualan mekanisme melalui mana satu proses mulai pelaksanaan hanya setelah proses sebelumnya berakhir. |
Gangguan Proses | |
Dalam penjadualan terdahulu, proses boleh terganggu. | Dalam penjadualan yang tidak berpanjangan, proses boleh terganggu. |
Penggunaan CPU | |
Dalam penjadualan terdahulu, penggunaan CPU lebih tinggi daripada penjadualan yang tidak berpaut semula. | Dalam penjadualan yang tidak berpanjangan, penggunaan CPU adalah minimum berbanding dengan penjadualan terdahulu. |
Fleksibiliti | |
Penjadualan pencegahan adalah fleksibel. | Penjadualan nonpreemptive tidak fleksibel. |
Terdapat banyak proses yang berjalan pada komputer. Apabila setiap proses dijalankan, CPU diperuntukkan kepada proses tertentu itu. Kadang-kadang, adalah perlu untuk menghentikan pelaksanaan proses semasa dan untuk memberi keutamaan kepada proses lain. Mekanisme penjadualan proses boleh menjadi lebih awal atau tidak berpaut. Penjadualan preemptive adalah proses penjadualan mekanisme melalui proses mana yang dapat diganggu oleh proses lain di tengah pelaksanaannya. Penjadualan nonpreemptif adalah mekanisme penjadualan proses walaupun satu proses mulai dijalankan hanya setelah proses sebelumnya tamat. Inilah perbezaan di antara Penjadualan Pencegahan dan Pengecualian dalam OS.
Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar seperti peringatan kutipan. Sila muat turun versi PDF di sini: Perbezaan Antara Pengecualian dan Pengecualian Nonpreemptive dalam OS
1.Apa penjadualan pra-Emptive dan bukan Preemptive ?. Terdapat di sini
2.Point, Tutorial. "Algoritma penjadualan Sistem Operasi.", Tutorial Point. 8 Jan. 2018. Boleh didapati di sini
3. "Apakah syarat-syarat pra-Emptif dan bukan Pengecualian dalam konteks OS?" Q & A GeeksforGeeks. Terdapat di sini