Diferència clau: programació preventiva i no preventiva al sistema operatiu
Un procés és un programa en execució. Un ordinador hauria de realitzar moltes tasques al mateix temps. Per tant, la CPU hauria d'obtenir processos i executar-los. De vegades és necessari executar alguns processos que els altres. En aquest moment, el procés en execució s'interromp i la CPU s'assigna al nou procés. Un cop finalitzada la tasca, la CPU es torna a assignar al procés anterior. La programació segons aquest mecanisme es coneix com a programació preventiva. Si el procés en execució no es pot interrompre i és obligatori executar-lo, es coneix com a programació no preventiva. Aquest article analitza la diferència entre la programació preventiva i no preventiva en un sistema operatiu. La programació preventiva és el mecanisme de programació de processos a través del qual un procés pot ser interromput per un altre procés enmig de la seva execució. La planificació no preventiva és el mecanisme de planificació del procés mitjançant el qual un procés comença a executar-se només després que el procés anterior hagi finalitzat. Aquesta és la diferència clau entre la programació preventiva i la no preventiva al sistema operatiu.
Què és la programació preventiva al sistema operatiu?
Round Robin Scheduling és un exemple de programació preventiva. Cada procés obté una petita quantitat de temps de CPU. Sol ser de 10 a 100 mil·lisegons. Aquesta petita unitat de dades també es coneix com a quàntic de temps. Transcorregut aquest temps, el procés s'avança i s'afegeix al final de la cua preparada. Suposem que hi ha 4 processos com P1, P2, P3 i P4. Els temps d'explosió de la CPU en mil·lisegons són els següents. El quàntic de temps és 20.
Figura 01: Exemple de programació de Round Robin
El procés P1 s'executa fins a les 20. Queden 33 ms més. Aleshores s'executa el P2. Com que el quàntic de temps és 20 i el temps necessari P2 és de 17 ms, P2 s'executarà durant 17 ms. Així, s'ha completat el procés P2. Després es dóna l'oportunitat a P3. S'executarà durant 20 ms. La resta són 48 ms. A continuació, el P4 s'executarà durant 20 ms. Té 4 ms per completar el procés total. De nou, el P1 s'executarà durant 20 ms. Tenen 13 ms per completar el procés. El canvi es dóna a P3. S'executarà durant 20 ms i té 28 ms per acabar completament. El P4 s'executa. Només té 4 ms. Per tant, P4 completa l'execució. P2 i P4 ja han acabat. La resta de processos són P1 i P3. L'oportunitat es dóna a P3. Tenia 13 ms per completar, així que es completa. Ara l'únic procés restant és P3. Té 28 ms per completar. Així que P3 funcionarà durant 20 ms. La resta són 8 ms. Tots els altres processos ja s'han acabat d'executar. Per tant, de nou s'executarà la resta de 8 ms de P3. De la mateixa manera, cada procés té l'oportunitat d'executar-se.
Què és la programació no preventiva al sistema operatiu?
La programació First Come First Served (FCFS) es pot prendre com un exemple de programació no preventiva. El procés que sol·licita primer s'assigna a la CPU primer. Aquesta programació es gestiona fàcilment mitjançant la cua First In First Out (FIFO). Si hi ha processos en ordre com P1, P2 i P3, primer es dóna l'oportunitat a P1. Un cop finalitzat, P2 s'executarà. Quan finalitzi P2, el P3 s'executarà. Suposem que hi ha 3 processos com P1, P2 i P3 amb temps d'explosió de la CPU en mil·lisegons de la següent manera.
Figura 02: Exemple de programació FCFS
Segons l'anterior, P1 s'executarà. Un cop finalitzat, el procés P2 s'executa durant 3 ms. Ara el procés restant és P3. Després s'executarà. El temps d'espera per a P1 és zero. El procés P2 va haver d'esperar 24 ms, i el procés P3 27 ms. Si els processos arriben en l'ordre P2, P3 i P1, P2 es completarà primer. El proper P3 es completarà i, finalment, el P1 es completarà.
Quina és la similitud entre la programació preventiva i la no preventiva al sistema operatiu?
Tant la programació preventiva com la no preventiva al sistema operatiu són mecanismes per programar processos en un ordinador
Quina diferència hi ha entre la programació preventiva i la no preventiva al sistema operatiu?
Programació preventiva vs no preventiva al sistema operatiu |
|
La programació preventiva és el mecanisme de programació de processos mitjançant el qual un altre procés pot interrompre un procés enmig de la seva execució. | La programació no preventiva és el mecanisme de programació de processos mitjançant el qual un procés comença a executar-se només després que finalitzi el procés anterior. |
Interrupció del procés | |
En la programació preventiva, els processos es poden interrompre. | En la programació no preventiva, els processos es poden interrompre. |
Ús de la CPU | |
En la programació preventiva, la utilització de la CPU és superior a la programació no preventiva. | En la programació no preventiva, la utilització de la CPU és mínima en comparació amb la programació preventiva. |
Flexibilitat | |
La programació preventiva és flexible. | La programació no preventiva no és flexible. |
Resum: programació preventiva i no preventiva al sistema operatiu
Hi ha diversos processos que s'executen en un ordinador. Quan s'executa cada procés, la CPU s'assigna a aquest procés específic. De vegades, cal aturar l'execució del procés actual i donar prioritat a un altre procés. Els mecanismes de planificació de processos poden ser preventius o no preventius. La programació preventiva és el mecanisme de programació de processos mitjançant el qual un altre procés pot interrompre's enmig de la seva execució. La planificació no preventiva és el mecanisme de planificació del procés, tot i que un procés comença a executar-se només després que finalitzi el procés anterior. Aquesta és la diferència entre la programació preventiva i la no preventiva al sistema operatiu.
Descarregueu el PDF de la programació preventiva i no preventiva al sistema operatiu
Podeu descarregar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Baixeu la versió PDF aquí: Diferència entre la programació preventiva i no preventiva al sistema operatiu