Qual è il metodo primo arrivato, primo servito?
First Come First Serve (FCFS) è un algoritmo di pianificazione del sistema operativo che esegue automaticamente le richieste e i processi in coda in ordine di arrivo. È l'algoritmo di pianificazione della CPU più semplice e semplice. In questo tipo di algoritmo, i processi che richiedono prima la CPU ottengono prima l'allocazione della CPU. Questo è gestito con una coda FIFO. La forma completa di FCFS è First Come First Serve.
Quando il processo entra nella coda pronta, il suo PCB (Process Control Block) è collegato alla coda della coda e, quando la CPU si libera, dovrebbe essere assegnata al processo all'inizio della coda.
In questo tutorial del sistema operativo imparerai:
- Qual è il metodo primo arrivato, primo servito?
- Caratteristiche del metodo FCFS
- Esempio di pianificazione FCFS
- Come funziona FCFS? Calcolo del tempo di attesa medio
- Vantaggi di FCFS
- Svantaggi di FCFS
Caratteristiche del metodo FCFS
- Supporta algoritmi di pianificazione non preventivi e preventivi.
- I lavori vengono sempre eseguiti in base all'ordine di arrivo.
- È facile da implementare e utilizzare.
- Questo metodo ha prestazioni scadenti e il tempo di attesa generale è piuttosto elevato.
Esempio di pianificazione FCFS
Un esempio reale del metodo FCFS è l'acquisto di un biglietto del cinema alla biglietteria. In questo algoritmo di pianificazione, una persona viene servita in base alla modalità di coda. Chi arriva per primo in coda acquista prima il biglietto e poi il successivo. Questo continuerà fino a quando l'ultima persona in coda acquisterà il biglietto. Utilizzando questo algoritmo, il processo della CPU funziona in modo simile.
Come funziona FCFS? Calcolo del tempo di attesa medio
Ecco un esempio di cinque processi che arrivano in tempi diversi. Ogni processo ha un tempo di scoppio diverso.
Processi | Tempo di scoppio | Orario di arrivo |
P1 | 6 | 2 |
P2 | 3 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Utilizzando l'algoritmo di pianificazione FCFS, questi processi vengono gestiti come segue.
Passaggio 0) Il processo inizia con P4 che ha ora di arrivo 0
Passaggio 1) All'ora = 1, arriva P3. P4 è ancora in esecuzione. Quindi, P3 viene tenuto in coda.
Processi | Tempo di scoppio | Orario di arrivo |
P1 | 6 | 2 |
P2 | 3 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Passaggio 2) All'ora = 2 arriva P1 che viene tenuto in coda.
Processi | Tempo di scoppio | Orario di arrivo |
P1 | 6 | 2 |
P2 | 3 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Passaggio 3) All'ora = 3, il processo P4 completa la sua esecuzione.
Passaggio 4) All'ora = 4, P3, che è il primo in coda, inizia l'esecuzione.
Processi | Tempo di scoppio | Orario di arrivo |
P1 | 6 | 2 |
P2 | 3 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Passaggio 5) All'ora = 5, arriva P2 e viene tenuto in coda.
Processi | Tempo di scoppio | Orario di arrivo |
P1 | 6 | 2 |
P2 | 3 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Passaggio 6) All'istante 11, P3 completa la sua esecuzione.
Passaggio 7) All'ora = 11, P1 inizia l'esecuzione. Ha un tempo di burst di 6. Completa l'esecuzione all'intervallo di tempo 17
Passaggio 8) All'ora = 17, P5 inizia l'esecuzione. Ha un tempo di burst di 4. Completa l'esecuzione al tempo = 21
Passaggio 9) All'ora = 21, P2 inizia l'esecuzione. Ha un tempo di burst di 2. Completa l'esecuzione all'intervallo di tempo 23
Passaggio 10) Calcoliamo il tempo di attesa medio per l'esempio sopra.
Waiting time = Start time - Arrival time
P4 = 0-0 = 0
P3 = 3-1 = 2
PI = 11-2 = 9
P5 = 17-4 = 13
P2 = 21-5 = 16
Tempo di attesa medio
= 40/5 = 8
Vantaggi di FCFS
Di seguito sono riportati i vantaggi / vantaggi dell'utilizzo dell'algoritmo di pianificazione FCFS:
- La forma più semplice di un algoritmo di pianificazione della CPU
- Facile da programmare
- Primo arrivato, primo servito
Svantaggi di FCFS
Di seguito sono riportati i contro / svantaggi dell'utilizzo dell'algoritmo di pianificazione FCFS:
- È un algoritmo di pianificazione della CPU non preventiva, quindi dopo che il processo è stato allocato alla CPU, non rilascerà mai la CPU fino al termine dell'esecuzione.
- Il tempo di attesa medio è alto.
- I processi brevi che si trovano in fondo alla coda devono attendere il completamento del lungo processo in primo piano.
- Non è una tecnica ideale per i sistemi di condivisione del tempo.
- A causa della sua semplicità, FCFS non è molto efficiente.
Sommario:
- Definizione: FCFS è un algoritmo di pianificazione del sistema operativo che esegue automaticamente le richieste e i processi in coda in base all'ordine di arrivo
- Supporta la pianificazione non preventiva e preventiva
- algoritmo.
- FCFS sta per First Come First Serve
- Un esempio reale del metodo FCFS è l'acquisto di un biglietto del cinema alla biglietteria.
- È la forma più semplice di un algoritmo di pianificazione della CPU
- È un algoritmo di pianificazione della CPU non preventiva, quindi dopo che il processo è stato allocato alla CPU, non rilascerà mai la CPU fino al termine dell'esecuzione.