Algoritmul de programare FCFS: Ce este, exemplu de program

Ce este metoda primul venit, primul servit?

Primul venit, primul servit (FCFS) este un algoritm de programare a sistemului de operare care execută automat cererile și procesele puse în coadă în ordinea sosirii lor. Este cel mai simplu și mai simplu algoritm de programare a CPU. În acest tip de algoritm, procesele care solicită mai întâi CPU-ul primesc mai întâi alocarea CPU. Acest lucru este gestionat cu o coadă FIFO. Forma completă a FCFS este primul venit, primul servit.

Pe măsură ce procesul intră în coada gata, PCB-ul său (Blocul de control al procesului) este legat de coada cozii și, atunci când CPU-ul devine liber, ar trebui să fie atribuit procesului la începutul cozii.

Caracteristicile metodei FCFS

  • Acceptă algoritmul de programare non-preemptive și pre-emptive.
  • 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 real al metodei FCFS este cumpărarea unui bilet de film de la ghișeul de bilete. În acest algoritm de programare, o persoană este servită conform modului de coadă. Persoana care ajunge prima la coada cumpara mai intai biletul si apoi urmatorul. Aceasta va continua 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

Iată un exemplu de cinci procese care ajung în momente diferite. Fiecare proces are un timp de explozie diferit.

Proces 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 ora de sosire 0

Lucrări FCFS

Pas 2) La ora=1, sosește P3. P4 încă se execută. Prin urmare, P3 este ținut la coadă.

Proces Timp de explozie Timpul sosirii
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Lucrări FCFS

Pas 3) La ora= 2, sosește P1 care este ținut în coadă.

Proces Timp de explozie Timpul sosirii
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Lucrări FCFS

Pas 4) La ora=3, procesul P4 își finalizează execuția.

Lucrări FCFS

Pas 5) La ora=4, P3, care este primul în coadă, începe execuția.

Proces Timp de explozie Timpul sosirii
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Lucrări FCFS

Pas 6) La ora =5, sosește P2 și este ținut la coadă.

Proces Timp de explozie Timpul sosirii
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Lucrări FCFS

Pas 7) La ora 11, P3 își finalizează execuția.

Lucrări FCFS

Pas 8) La ora=11, P1 începe execuția. Are un timp de explozie de 6. Finalizează execuția la intervalul de timp 17

Lucrări FCFS

Pas 9) La ora=17, P5 începe execuția. Are un timp de explozie de 4. Se încheie execuția la ora=21

Lucrări FCFS

Pas 10) La ora=21, P2 începe execuția. Are un timp de explozie de 2. Finalizează execuția la intervalul de timp 23

Lucrări FCFS

Pas 11) Să calculăm timpul mediu de așteptare pentru exemplul de mai sus.

Lucrări FCFS

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

Timp mediu de așteptare

Lucrări FCFS
= 40/5= 8

Avantajele FCFS

Iată avantajele/beneficiile utilizării algoritmului de programare FCFS:

Dezavantajele FCFS

Iată dezavantajele / dezavantajele utilizării algoritmului de programare FCFS:

  • Este un algoritm de planificare a CPU non-preemptive, așa că după ce procesul a fost alocat CPU-ului, nu va elibera CPU până când nu se termină de execuție.
  • Timpul mediu de așteptare este mare.
  • Procesele scurte care se află în spatele cozii trebuie să aștepte ca procesul lung din față să se termine.
  • Nu este o tehnică ideală pentru sistemele de partajare a timpului.
  • Din cauza simplității sale, FCFS nu este foarte eficient.

Rezumat

  • Definiție: FCFS este un algoritm de programare a sistemului de operare care execută automat cererile și procesele aflate în coadă în ordinea sosirii lor.
  • Acceptă programarea non-preemptivă și preventivă
  • algoritm.
  • FCFS înseamnă primul venit, primul servit
  • Un exemplu real al metodei FCFS este cumpărarea unui bilet de film de la ghișeul de bilete.
  • Este cea mai simplă formă de algoritm de programare a CPU
  • Este un algoritm de planificare a CPU non-preemptive, așa că după ce procesul a fost alocat CPU-ului, nu va elibera CPU până când nu se termină de execuție.