Un processo è un programma in esecuzione. Un computer dovrebbe eseguire molte attività contemporaneamente. Pertanto, la CPU dovrebbe ottenere processi ed eseguirli. A volte è necessario eseguire alcuni processi rispetto agli 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 allocata al processo precedente. La pianificazione secondo questo meccanismo è nota come pianificazione preventiva. Se il processo in esecuzione, non può essere interrotto ed è obbligatorio eseguire il processo in esecuzione, è noto come pianificazione non preventiva. Questo articolo discute 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 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 la conclusione del processo precedente. Questo è il differenza fondamentale fra Pianificazione preventiva e non preventiva nel sistema operativo.
1. Panoramica e differenza chiave
2. Cos'è la pianificazione preventiva nel sistema operativo
3. Qual è la pianificazione non preventiva nel sistema operativo
4. Somiglianze tra pianificazione preventiva e non preventiva nel sistema operativo
5. Confronto affiancato: pianificazione preventiva e non preventiva nel sistema operativo in formato tabulare
6. Sommario
Round Robin Scheduling è un esempio di pianificazione preventiva. Ogni processo ottiene una piccola quantità di tempo CPU. Di solito è tra 10 e 100 millisecondi. Questa piccola unità di dati è anche conosciuta come quantum del tempo. Trascorso questo tempo, il processo viene anticipato e aggiunto alla fine della coda pronta. Supponiamo che ci siano 4 processi come P1, P2, P3 e P4. I tempi di burst della CPU in millisecondi sono i seguenti. Il tempo quantico è 20.
Figura 01: Esempio di pianificazione Round Robin
Il processo P1 viene eseguito fino a 20. C'è ancora un altro 33ms. Quindi esegue il P2. Poiché il tempo quantico è 20 e il tempo richiesto P2 è 17ms, P2 verrà eseguito per 17ms. Quindi, il processo P2 è completato. Quindi la possibilità viene data a P3. Eseguirà per 20ms. Il resto è 48ms. Quindi il P4 verrà eseguito per 20 ms. Ha 4ms per completare il processo totale. Di nuovo, il P1 verrà eseguito per 20 ms. Ha altri 13ms per completare il processo. Il cambiamento è dato a P3. Verrà eseguito per 20 ms, e ha altri 28ms per finire completamente. Il P4 esegue. Ha solo 4ms. Pertanto, P4 completa l'esecuzione. P2 e P4 sono già finiti. I processi rimanenti sono P1 e P3. La possibilità è data a P3. Aveva 13ms da completare, quindi completa. Ora l'unico processo rimanente è P3. Ha 28ms da completare. Quindi P3 funzionerà per 20ms. Il resto è 8ms. Tutti gli altri processi hanno già completato l'esecuzione. Pertanto, verrà eseguito nuovamente il resto di 8ms di P3. Allo stesso modo, ogni processo ha la possibilità di essere eseguito.
La schedulazione FCFS (First Come First Served) può essere presa come esempio di pianificazione non preventiva. Il processo che richiede prima viene assegnato prima alla CPU. Questa pianificazione è facilmente gestita dalla coda First In First Out (FIFO). Se ci sono processi ordinati come P1, P2 e P3, allora la probabilità viene data per prima a P1. Al termine, verrà eseguito P2. Al termine della P2, verrà eseguito il P3. 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 schedulazione FCFS
Secondo quanto sopra, P1 verrà eseguito. Una volta completato, il processo P2 viene eseguito per 3 ms. Ora il processo rimanente è P3. Quindi verrà eseguito. Il tempo di attesa per P1 è zero. Il processo P2 ha dovuto attendere 24ms e il processo P3 ha dovuto attendere 27ms. Se i processi sono arrivati in ordine P2, P3 e P1, P2 verrà completato per primo. Il prossimo P3 verrà completato e, infine, P1 verrà completato.
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 mezzo della sua esecuzione. | La pianificazione non preventiva è il meccanismo di pianificazione del processo attraverso il quale un processo inizia l'esecuzione solo dopo la conclusione del processo precedente. |
Interruzione del processo | |
Nella pianificazione preventiva, i processi possono essere interrotti. | Nella pianificazione non preventiva, i processi possono essere interrotti. |
Utilizzo della CPU | |
Nella pianificazione preventiva, l'utilizzo della CPU è superiore rispetto alla pianificazione non preventiva. | Nella pianificazione non preventiva, l'utilizzo della CPU è il minimo rispetto alla pianificazione preventiva. |
Flessibilità | |
La pianificazione preventiva è flessibile. | La pianificazione non preventiva non è flessibile. |
Esistono più processi in esecuzione su un computer. Quando ogni processo viene eseguito, la CPU viene allocata a quel processo specifico. A volte, è necessario interrompere l'esecuzione del processo corrente e dare la 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 la conclusione del processo precedente. Questa è la differenza tra la pianificazione preventiva e non preventiva nel sistema operativo.
È possibile scaricare la versione PDF di questo articolo e utilizzarlo per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Differenza tra pianificazione preventiva e non preventiva nel sistema operativo
1. Cos'è la programmazione pre-Emptive e non Preemptive?. Disponibile qui
2. Point, Tutorials. "Algoritmi di pianificazione del sistema operativo.", Punto tutorial. 8 gennaio 2018. Disponibile qui
3. "Quali sono i termini pre-Emptive e non Preemptive nel contesto del SO?" GeeksforGeeks Q & A. Disponibile qui