Differenza chiave: pianificazione preventiva e non preventiva nel sistema operativo
Un processo è un programma in esecuzione. Un computer dovrebbe eseguire molte attività contemporaneamente. Pertanto, la CPU dovrebbe ottenere i processi ed eseguirli. A volte è necessario eseguire alcuni processi rispetto ad altri processi. A quel punto, il processo in esecuzione viene interrotto e la CPU viene allocata al nuovo processo. Al termine dell'attività, la CPU viene riallocata al processo precedente. La programmazione secondo questo meccanismo è nota come programmazione preventiva. Se il processo in corso non può essere interrotto ed è obbligatorio eseguire il processo in corso, si parla di programmazione non preventiva. In questo articolo viene illustrata la differenza tra la pianificazione preventiva e non preventiva in un sistema operativo. La pianificazione preventiva è il meccanismo di pianificazione del processo attraverso il quale un processo che può essere interrotto da un altro processo nel mezzo della sua esecuzione. La pianificazione non preventiva è il meccanismo di pianificazione del processo attraverso il quale un processo inizia l'esecuzione solo dopo che il processo precedente è terminato. Questa è la differenza fondamentale tra la pianificazione preventiva e non preventiva nel sistema operativo.
Cos'è la pianificazione preventiva nel sistema operativo?
Round Robin Scheduling è un esempio di programmazione preventiva. Ogni processo ottiene una piccola quantità di tempo della CPU. Di solito è da 10 a 100 millisecondi. Questa piccola unità di dati è anche nota come quanto di tempo. Trascorso questo tempo, il processo viene anticipato e aggiunto alla fine della coda di pronto. Supponiamo che ci siano 4 processi come P1, P2, P3 e P4. I tempi di burst della CPU in millisecondi sono i seguenti. Il quanto di tempo è 20.
Figura 01: Esempio di pianificazione del Round Robin
Il processo P1 viene eseguito fino alle 20. Sono rimasti altri 33 ms. Quindi viene eseguito il P2. Poiché il quanto di tempo è 20 e il tempo richiesto P2 è 17 ms, P2 verrà eseguito per 17 ms. Quindi, il processo P2 è completato. Quindi la possibilità è data a P3. Verrà eseguito per 20 ms. Il resto è di 48 ms. Quindi il P4 verrà eseguito per 20 ms. Ha 4 ms per completare il processo totale. Anche in questo caso, il P1 verrà eseguito per 20 ms. Ha altri 13 ms per completare il processo. La modifica è data a P3. Verrà eseguito per 20 ms e ha altri 28 ms per terminare completamente. Il P4 viene eseguito. Ha solo 4 ms. Pertanto, P4 completa l'esecuzione. P2 e P4 sono già finiti. I restanti processi sono P1 e P3. La possibilità è data a P3. Aveva 13 ms da completare, quindi completa. Ora l'unico processo rimanente è P3. Ha 28 ms da completare. Quindi P3 funzionerà per 20 ms. Il resto è di 8 ms. Tutti gli altri processi hanno già completato l'esecuzione. Pertanto, di nuovo verranno eseguiti gli altri 8 ms di P3. Allo stesso modo, ogni processo ha la possibilità di essere eseguito.
Che cos'è la pianificazione non preventiva nel sistema operativo?
La programmazione First Come First Served (FCFS) può essere presa come esempio di programmazione non preventiva. Il processo che richiede per primo viene assegnato per primo alla CPU. Questa programmazione è facilmente gestibile dalla coda FIFO (First In First Out). Se ci sono processi ordinati come P1, P2 e P3, la possibilità viene prima data a P1. Al termine, P2 verrà eseguito. Al termine di P2, P3 verrà eseguito. Supponiamo che ci siano 3 processi come P1, P2 e P3 con tempi di burst della CPU in millisecondi come segue.
Figura 02: Esempio di pianificazione FCFS
Secondo quanto sopra, P1 verrà eseguito. Una volta completato, il processo P2 viene eseguito per 3ms. Ora il processo rimanente è P3. Quindi verrà eseguito. Il tempo di attesa per P1 è zero. Il processo P2 ha dovuto attendere 24 ms e il processo P3 ha dovuto attendere 27 ms. Se i processi sono arrivati nell'ordine P2, P3 e P1, P2 verrà completato per primo. Il prossimo P3 verrà completato e, infine, il P1 verrà completato.
Qual è la somiglianza tra la pianificazione preventiva e non preventiva nel sistema operativo?
Sia la pianificazione preventiva che quella non preventiva nel sistema operativo sono meccanismi per pianificare i processi in un computer
Qual è la differenza tra pianificazione preventiva e non preventiva nel sistema operativo?
Pianificazione preventiva e non preventiva nel sistema operativo |
|
La pianificazione preventiva è il meccanismo di pianificazione del processo attraverso il quale un processo può essere interrotto da un altro processo nel bel mezzo della sua esecuzione. | La pianificazione non preventiva è il meccanismo di pianificazione del processo attraverso il quale un processo inizia l'esecuzione solo dopo che il processo precedente è terminato. |
Interruzione del processo | |
Nella programmazione preventiva, i processi possono essere interrotti. | Nella programmazione non preventiva, i processi possono essere interrotti. |
Utilizzo della CPU | |
Nella pianificazione preventiva, l'utilizzo della CPU è maggiore rispetto alla pianificazione non preventiva. | Nella pianificazione non preventiva, l'utilizzo della CPU è minimo rispetto alla pianificazione preventiva. |
Flessibilità | |
La programmazione preventiva è flessibile. | La programmazione non preventiva non è flessibile. |
Riepilogo – Pianificazione preventiva e non preventiva nel sistema operativo
Ci sono più processi in esecuzione su un computer. Quando ogni processo viene eseguito, la CPU viene assegnata a quel processo specifico. A volte, è necessario interrompere l'esecuzione del processo in corso e dare priorità a un altro processo. I meccanismi di pianificazione dei processi possono essere preventivi o non preventivi. La pianificazione preventiva è il meccanismo di pianificazione del processo attraverso il quale il processo può essere interrotto da un altro processo nel mezzo della sua esecuzione. La pianificazione non preventiva è il meccanismo di pianificazione del processo attraverso il quale un processo inizia l'esecuzione solo dopo che il processo precedente è terminato. Questa è la differenza tra la pianificazione preventiva e non preventiva nel sistema operativo.
Scarica il PDF della pianificazione preventiva e non preventiva nel sistema operativo
Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Differenza tra pianificazione preventiva e non preventiva in OS