Apakah Penjadualan Keutamaan?
Penjadualan Prioriti adalah kaedah proses penjadualan yang berdasarkan keutamaan. Dalam algoritma ini, penjadual memilih tugas yang akan dikerjakan mengikut keutamaan.
Proses dengan keutamaan yang lebih tinggi harus dilakukan terlebih dahulu, sedangkan pekerjaan dengan keutamaan yang sama dilakukan berdasarkan round-robin atau FCFS. Keutamaan bergantung pada keperluan memori, keperluan masa, dll.
Dalam tutorial sistem Operasi ini, anda akan belajar:
- Apakah penjadualan Keutamaan?
- Jenis Penjadualan Keutamaan
- Ciri-ciri Penjadualan Keutamaan
- Contoh Penjadualan Keutamaan
- Kelebihan penjadualan keutamaan
- Kekurangan penjadualan keutamaan
Jenis Penjadualan Keutamaan
Penjadualan keutamaan dibahagikan kepada dua jenis utama:
Penjadualan Awal
Dalam Penjadualan Preemptive, tugas-tugas kebanyakannya diberikan mengikut keutamaannya. Kadang-kadang penting untuk menjalankan tugas dengan keutamaan yang lebih tinggi sebelum tugas dengan keutamaan yang lebih rendah, walaupun tugas dengan prioriti yang lebih rendah masih berjalan. Tugas keutamaan yang lebih rendah ditahan selama beberapa waktu dan disambung semula apabila tugas dengan keutamaan yang lebih tinggi menyelesaikan pelaksanaannya.
Penjadualan Bukan Pencegahan
Dalam kaedah penjadualan jenis ini, CPU telah dialokasikan untuk proses tertentu. Proses yang membuat CPU sibuk, akan melepaskan CPU sama ada dengan menukar konteks atau menghentikan. Ini adalah satu-satunya kaedah yang boleh digunakan untuk pelbagai platform perkakasan. Ini kerana ia tidak memerlukan perkakasan khas (misalnya, pemasa) seperti penjadualan awal.
Ciri-ciri Penjadualan Keutamaan
- Algoritma CPU yang menjadualkan proses berdasarkan keutamaan.
- Ia digunakan dalam sistem operasi untuk melakukan proses kumpulan.
- Sekiranya dua pekerjaan yang mempunyai keutamaan yang sama adalah SIAP, ia berfungsi berdasarkan PERTAMA, PERKHIDMATAN PERTAMA.
- Dalam penjadualan keutamaan, angka ditetapkan untuk setiap proses yang menunjukkan tahap keutamaannya.
- Turunkan bilangannya, semakin tinggi adalah keutamaan.
- Dalam algoritma penjadualan jenis ini, jika proses yang lebih baru tiba, yang mempunyai keutamaan yang lebih tinggi daripada proses yang sedang berjalan, maka proses yang sedang berjalan harus dilakukan.
Contoh Penjadualan Keutamaan
Pertimbangkan untuk mengikuti lima proses P1 hingga P5. Setiap proses mempunyai keutamaan, waktu pecah, dan waktu kedatangan yang unik.
Proses | Keutamaan | Masa pecah | Masa ketibaan |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 3 | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Langkah 0) Pada masa = 0, Proses P1 dan P2 tiba. P1 mempunyai keutamaan yang lebih tinggi daripada P2. Pelaksanaannya dimulakan dengan proses P1, yang mempunyai waktu pecah 4.
Langkah 1) Pada masa = 1, tidak ada proses baru yang tiba. Pelaksanaan diteruskan dengan P1.
Langkah 2) Pada masa 2, tidak ada proses baru yang tiba, jadi anda boleh meneruskan P1. P2 berada dalam barisan menunggu.
Langkah 3) Pada masa ke-3, tidak ada proses baru yang tiba sehingga anda dapat meneruskan P1. Proses P2 masih dalam barisan menunggu.
Langkah 4) Pada waktu 4, P1 telah selesai pelaksanaannya. P2 memulakan pelaksanaan.
Langkah 5) Pada masa = 5, tidak ada proses baru yang tiba, jadi kami teruskan dengan P2.
Langkah 6) Pada masa = 6, P3 tiba. P3 mempunyai keutamaan yang lebih tinggi (1) berbanding P2 yang mempunyai keutamaan (2). P2 dipratentukan, dan P3 memulakan pelaksanaannya.
Proses | Keutamaan | Masa pecah | Masa ketibaan |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 daripada 3 belum selesai | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Langkah 7) Pada waktu 7, proses tidak baru tiba, jadi kami teruskan dengan P3. P2 berada dalam barisan menunggu.
Langkah 8) Pada masa = 8, tidak ada proses baru yang tiba, jadi kami dapat meneruskan P3.
Langkah 9) Pada masa = 9, tidak ada proses baru yang datang sehingga kita dapat meneruskan P3.
Langkah 10) Pada selang waktu 10, tidak ada proses baru yang datang, jadi kami teruskan dengan P3
Langkah 11) Pada waktu = 11, P4 tiba dengan keutamaan 4. P3 mempunyai keutamaan yang lebih tinggi, jadi ia meneruskan pelaksanaannya.
Proses | Keutamaan | Masa pecah | Masa ketibaan |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 daripada 3 belum selesai | 0 |
P3 | 1 | 2 daripada 7 belum selesai | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Langkah 12) Pada masa = 12, P5 tiba. P3 mempunyai keutamaan yang lebih tinggi, sehingga meneruskan pelaksanaannya.
Langkah 13) Pada masa = 13, P3 menyelesaikan pelaksanaan. Kami mempunyai P2, P4, P5 dalam barisan siap. P2 dan P5 mempunyai keutamaan yang sama. Waktu ketibaan P2 adalah sebelum P5. Jadi P2 memulakan pelaksanaan.
Proses | Keutamaan | Masa pecah | Masa ketibaan |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 daripada 3 belum selesai | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Langkah 14) Pada masa = 14, proses P2 telah selesai pelaksanaannya. P4 dan P5 berada dalam keadaan menunggu. P5 mempunyai keutamaan tertinggi dan memulakan pelaksanaan.
Langkah 15) Pada masa = 15, P5 meneruskan pelaksanaan.
Langkah 16) Pada masa = 16, P5 selesai dengan pelaksanaannya. P4 adalah satu-satunya proses yang tinggal. Ia memulakan pelaksanaan.
Langkah 17) Pada masa = 20, P5 telah menyelesaikan pelaksanaan dan tidak ada proses yang tersisa.
Langkah 18) Mari hitung purata masa menunggu untuk contoh di atas.
Waktu Menunggu = waktu mula - waktu ketibaan + masa tunggu untuk letupan seterusnya
P1 = o - o = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6
Kelebihan penjadualan keutamaan
Berikut, kelebihan / kelebihan menggunakan kaedah penjadualan keutamaan:
- Kaedah penjadualan yang senang digunakan
- Proses dijalankan berdasarkan keutamaan sehingga keutamaan tinggi tidak perlu menunggu lama yang menjimatkan masa
- Kaedah ini menyediakan mekanisme yang baik di mana relatif penting bagi setiap proses dapat ditentukan dengan tepat.
- Sesuai untuk aplikasi dengan keperluan masa dan sumber yang berubah-ubah.
Kekurangan penjadualan keutamaan
Berikut, terdapat kekurangan / kekurangan penjadualan keutamaan
- Sekiranya sistem akhirnya hancur, semua proses dengan keutamaan rendah akan hilang.
- Sekiranya proses keutamaan tinggi memerlukan banyak masa CPU, maka proses keutamaan yang lebih rendah mungkin kelaparan dan akan ditunda untuk waktu yang tidak ditentukan.
- Algoritma penjadualan ini mungkin membiarkan beberapa proses keutamaan rendah menunggu selama-lamanya.
- Proses akan disekat ketika siap dijalankan tetapi harus menunggu CPU kerana beberapa proses lain sedang berjalan saat ini.
- Sekiranya proses keutamaan lebih tinggi terus masuk dalam barisan siap, maka proses yang dalam keadaan menunggu mungkin perlu menunggu untuk jangka waktu yang lama.
Ringkasan:
- Penjadualan keutamaan adalah kaedah proses penjadualan yang berdasarkan keutamaan. Dalam algoritma ini, penjadual memilih tugas yang akan dikerjakan mengikut keutamaan.
- Dalam Penjadualan Prioriti Keutamaan, tugas-tugas kebanyakannya diberikan mengikut keutamaannya.
- Dalam kaedah Penjadualan Prioriti Bukan Preemptive, CPU telah dialokasikan untuk proses tertentu.
- Proses dijalankan berdasarkan keutamaan sehingga keutamaan tinggi tidak perlu menunggu lama yang menjimatkan masa
- Sekiranya proses keutamaan tinggi memerlukan banyak masa CPU, maka proses keutamaan yang lebih rendah mungkin kelaparan dan akan ditunda untuk waktu yang tidak ditentukan.