Algoritmul de programare FCFS: Ce este, exemplu de program
⚡ Rezumat inteligent
Planificarea „primul venit, primul servit” execută procesele în ordinea exactă în care ajung în coada de așteptare, utilizând o abordare FIFO simplă, non-preemptivă, care o face cel mai ușor algoritm de planificare a CPU pentru un sistem de operare.
Ce este metoda primul venit, primul servit?
Primul venit, primul servit (FCFS) este un algoritm de planificare a sistemului de operare care execută automat cererile și procesele din coadă în ordinea sosirii lor. Este cel mai ușor și mai simplu algoritm de planificare a CPU-ului. În acest tip de algoritm, procesul care solicită primul CPU primește primul alocarea CPU. Acest lucru este gestionat cu o coadă FIFO. Forma completă a FCFS este First Come First Serve (Primul venit, primul servit).
Pe măsură ce un proces intră în coada de așteptare, PCB-ul (Process Control Block - Blocul de Control al Procesului) său este conectat cu coada cozii. Așadar, când CPU-ul devine liber, acesta este atribuit procesului de la începutul cozii.
Caracteristicile metodei FCFS
Principalele caracteristici ale metodei „Primul venit, primul servit” sunt enumerate mai jos:
- Este o non-preemptiv algoritm de planificare, astfel încât un proces păstrează CPU-ul până când își termină timpul de explozie.
- Locurile de muncă sunt întotdeauna executate pe principiul primul venit, primul servit.
- Este ușor de implementat și utilizat.
- Această metodă are performanță slabă, iar timpul general de așteptare este destul de mare.
Exemplu de programare FCFS
Un exemplu concret al metodei FCFS este cumpărarea unui bilet de film de la casa de bilete. În acest algoritm de programare, o persoană este servită în funcție de ordinea din coadă. Persoana care ajunge prima în coadă cumpără biletul prima, apoi următoarea. Aceasta continuă până când ultima persoană din coadă cumpără biletul. Folosind acest algoritm, procesul CPU funcționează într-un mod similar.
Cum funcționează FCFS? Calcularea timpului mediu de așteptare
Pentru a înțelege cum programează algoritmul procesele, iată un exemplu de cinci procese care sosesc la momente diferite. Fiecare proces are un timp de rafală diferit.
| Etape | Timp de explozie | Timpul sosirii |
| P1 | 6 | 2 |
| P2 | 2 | 5 |
| P3 | 8 | 1 |
| P4 | 3 | 0 |
| P5 | 4 | 4 |
Folosind algoritmul de programare FCFS, aceste procese sunt gestionate după cum urmează.
Pas 1) Procesul începe cu P4, care are timpul de sosire 0.
Pas 2) La ora=1, sosește P3. P4 încă se execută. Prin urmare, P3 este ținut la coadă.
Pas 3) La momentul 2, P1 sosește și este ținut în coadă.
Pas 4) La momentul 3, procesul P4 își finalizează execuția.
Pas 5) La ora=4, P3, care este primul în coadă, începe execuția.
Pas 6) La momentul 5, P2 sosește și este ținut într-o coadă.
Pas 7) La momentul = 11, P3 își finalizează execuția.
Pas 8) La momentul = 11, P1 începe execuția. Are un timp de rafală de 6, deci finalizează execuția la intervalul de timp 17.
Pas 9) La momentul 17, P5 începe execuția. Are un timp de rafală de 4, deci finalizează execuția la momentul 21.
Pas 10) La momentul = 21, P2 începe execuția. Are un timp de rafală de 2, deci finalizează execuția la intervalul de timp 23.
Pas 11) Acum, să calculăm timpul mediu de așteptare pentru exemplul de mai sus.
Waiting time = Start time - Arrival time
P4 = 0 – 0 = 0
P3 = 3 – 1 = 2
P1 = 11 – 2 = 9
P5 = 17 – 4 = 13
P2 = 21 – 5 = 16
Timp mediu de așteptare = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8
Avantajele FCFS
Iată avantajele și beneficiile utilizării algoritmului de planificare FCFS:
- Este cea mai simplă formă a unui Algoritmul de programare CPU.
- Este ușor de programat.
- Urmează o ordine simplă, primul venit, primul servit.
Dezavantajele FCFS
Iată dezavantajele și dezavantajele utilizării algoritmului de planificare FCFS:
- Este un algoritm de planificare CPU non-preemptiv, deci odată ce un proces a fost alocat CPU-ului, acesta nu va elibera niciodată CPU-ul până când nu termină execuția.
- Timpul mediu de așteptare este ridicat.
- Procesele scurte de la sfârșitul cozii trebuie să aștepte finalizarea procesului lung de la față.
- Nu este o tehnică ideală pentru sistemele de partajare a timpului.
- Din cauza simplității sale, FCFS nu este foarte eficient.













