Mahalagang Pagkakaiba – Preemptive vs Nonpreemptive Scheduling sa OS
Ang proseso ay isang programa na isinasagawa. Ang isang computer ay dapat magsagawa ng maraming mga gawain sa parehong oras. Samakatuwid, ang CPU ay dapat makakuha ng mga proseso at isagawa ang mga ito. Minsan kinakailangan na magsagawa ng ilang mga proseso kaysa sa iba pang mga proseso. Sa puntong iyon, ang proseso ng pagpapatakbo ay nagambala, at ang CPU ay inilalaan sa bagong proseso. Matapos makumpleto ang gawain, ang CPU ay ilalaan pabalik sa nakaraang proseso. Ang pag-iiskedyul ayon sa mekanismong ito ay kilala bilang preemptive scheduling. Kung ang proseso ng pagpapatakbo, ay hindi maaantala at sapilitan itong isagawa ang proseso ng pagpapatakbo, kung gayon ito ay kilala bilang nonpreemptive scheduling. Tinatalakay ng artikulong ito ang pagkakaiba sa pagitan ng preemptive at nonpreemptive na pag-iiskedyul sa isang operating system. Ang preemptive scheduling ay ang mekanismo ng pag-iiskedyul ng proseso kung saan ang isang proseso na maaaring maputol ng isa pang proseso sa gitna ng pagpapatupad nito. Ang nonpreemptive scheduling ay ang proseso ng pag-iiskedyul ng mekanismo kung saan ang isang proseso ay magsisimula lamang sa pagpapatupad pagkatapos ng nakaraang proseso. Iyan ang pangunahing pagkakaiba sa pagitan ng Preemptive at Nonpreemptive Scheduling sa OS.
Ano ang Preemptive Scheduling sa OS?
Ang Round Robin Scheduling ay isang halimbawa ng preemptive scheduling. Ang bawat proseso ay nakakakuha ng kaunting oras ng CPU. Karaniwan itong 10 hanggang 100 millisecond. Ang maliit na yunit ng data na ito ay kilala rin bilang time quantum. Matapos ang oras na ito ay lumipas, ang proseso ay preempted at idinagdag sa dulo ng handa na pila. Ipagpalagay na mayroong 4 na proseso bilang P1, P2, P3 at P4. Ang mga oras ng pagsabog ng CPU sa millisecond ay ang mga sumusunod. Ang quantum ng oras ay 20.
Figure 01: Halimbawa ng Round Robin Scheduling
Ang proseso ng P1 ay isinasagawa hanggang 20. May natitira pang 33ms. Pagkatapos ay nag-execute ang P2. Dahil ang time quantum ay 20 at ang kinakailangang oras na P2 ay 17ms, ang P2 ay ipapatupad para sa 17ms. Kaya, ang proseso ng P2 ay nakumpleto. Pagkatapos ay binibigyan ng pagkakataon ang P3. Ipapatupad ito sa loob ng 20ms. Ang natitira ay 48ms. Pagkatapos ay ipapatupad ang P4 para sa 20ms. Mayroon itong 4ms upang makumpleto ang kabuuang proseso. Muli, ang P1 ay ipapatupad sa loob ng 20ms. Mayroon pa itong 13ms para tapusin ang proseso. Ang pagbabago ay ibinibigay sa P3. Ipapatupad ito sa loob ng 20ms, at mayroon pa itong 28ms upang ganap na matapos. Ang P4 ay nagpapatupad. Mayroon lamang itong 4ms. Samakatuwid, nakumpleto ng P4 ang pagpapatupad. Natapos na ang P2 at P4. Ang natitirang mga proseso ay P1 at P3. Ang pagkakataon ay ibinibigay sa P3. Mayroon itong 13ms upang makumpleto, kaya ito ay nakumpleto. Ngayon ang natitirang proseso ay P3. Mayroon itong 28ms upang makumpleto. Kaya ang P3 ay tatakbo sa loob ng 20ms. Ang natitira ay 8ms. Ang lahat ng iba pang mga proseso ay nakumpleto na ang pagpapatupad. Samakatuwid, muli ang natitirang 8ms ng P3 ay isasagawa. Gayundin, ang bawat proseso ay nagkakaroon ng pagkakataong maisagawa.
Ano ang Nonpreemptive Scheduling sa OS?
Ang First Come First Served (FCFS) scheduling ay maaaring kunin bilang isang halimbawa ng nonpreemptive scheduling. Ang proseso na unang humihiling ay inilalaan muna sa CPU. Ang pag-iskedyul na ito ay madaling pinamamahalaan ng First In First Out (FIFO) queue. Kung may mga prosesong dumating sa pagkakasunud-sunod bilang P1, P2 at P3, kung gayon ang pagkakataon ay ibibigay muna sa P1. Matapos itong makumpleto, P2 ang ipapatupad. Kapag nakumpleto ang P2, ipapatupad ang P3. Ipagpalagay na mayroong 3 proseso bilang P1, P2 at P3 na may mga oras ng pagsabog ng CPU sa millisecond gaya ng sumusunod.
Figure 02: Halimbawa ng FCFS Scheduling
Ayon sa itaas, P1 ang ipapatupad. Kapag ito ay nakumpleto, ang proseso P2 ay pinaandar para sa 3ms. Ngayon ang natitirang proseso ay P3. Pagkatapos ay ipapatupad ito. Ang oras ng paghihintay para sa P1 ay zero. Ang proseso ng P2 ay kailangang maghintay ng 24ms, at ang proseso ng P3 ay kailangang maghintay ng 27ms. Kung ang mga proseso ay dumating sa pagkakasunud-sunod P2, P3 at P1 pagkatapos ay P2 ang unang makumpleto. Ang susunod na P3 ay makumpleto, at sa wakas, ang P1 ay makumpleto.
Ano ang Pagkakatulad sa pagitan ng Preemptive at Nonpreemptive Scheduling sa OS?
Parehong Preemptive at Nonpreemptive Scheduling sa OS ay mga mekanismo para mag-iskedyul ng mga proseso sa isang computer
Ano ang Pagkakaiba sa pagitan ng Preemptive at Nonpreemptive Scheduling sa OS?
Preemptive vs Nonpreemtive Scheduling sa OS |
|
Ang preemptive scheduling ay ang mekanismo ng pag-iiskedyul ng proseso kung saan ang isang proseso ay maaaring maantala ng isa pang proseso sa gitna ng pagpapatupad nito. | Ang nonpreemptive na pag-iiskedyul ay ang mekanismo ng pag-iiskedyul ng proseso kung saan ang isang proseso ay magsisimula lamang sa pagpapatupad pagkatapos ng nakaraang proseso. |
Pagkagambala sa Proseso | |
Sa preemptive scheduling, maaaring maantala ang mga proseso. | Sa nonpreemptive na pag-iiskedyul, maaaring maantala ang mga proseso. |
Paggamit ng CPU | |
Sa preemptive scheduling, ang CPU utilization ay mas mataas kaysa nonpreemptive scheduling. | Sa nonpreemptive scheduling, ang CPU utilization ay minimum kumpara sa preemptive scheduling. |
Flexibility | |
Ang preemptive scheduling ay flexible. | Hindi flexible ang nonpreemptive na pag-iiskedyul. |
Buod – Preemptive vs Nonpreemptive Scheduling sa OS
May maraming prosesong tumatakbo sa isang computer. Kapag ang bawat proseso ay naisakatuparan, ang CPU ay inilalaan sa partikular na prosesong iyon. Minsan, kinakailangan na ihinto ang pagpapatupad ng kasalukuyang proseso at bigyan ng prayoridad ang isa pang proseso. Ang mga mekanismo ng pag-iiskedyul ng mga proseso ay maaaring preemptive o nonpreemptive. Ang preemptive scheduling ay ang mekanismo ng pag-iiskedyul ng proseso kung saan ang proseso ay maaaring maputol ng isa pang proseso sa gitna ng pagpapatupad nito. Ang nonpreemptive scheduling ay ang mekanismo ng pag-iiskedyul ng proseso kahit na ang isang proseso ay magsisimula lamang sa pagpapatupad pagkatapos ng nakaraang proseso. Ito ang pagkakaiba sa pagitan ng Preemptive at Nonpreemptive Scheduling sa OS.
I-download ang PDF ng Preemptive vs Nonpreemptive Scheduling sa OS
Maaari mong i-download ang PDF na bersyon ng artikulong ito at gamitin ito para sa offline na layunin ayon sa tala ng pagsipi. Paki-download ang bersyon ng PDF dito: Pagkakaiba sa pagitan ng Preemptive at Nonpreemptive Scheduling sa OS