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
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 |
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 |
Pas 4) La ora=3, procesul P4 își finalizează execuția.
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 |
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 |
Pas 7) La ora 11, P3 își finalizează execuția.
Pas 8) La ora=11, P1 începe execuția. Are un timp de explozie de 6. Finalizează execuția la intervalul de timp 17
Pas 9) La ora=17, P5 începe execuția. Are un timp de explozie de 4. Se încheie execuția la ora=21
Pas 10) La ora=21, P2 începe execuția. Are un timp de explozie de 2. Finalizează execuția la intervalul de timp 23
Pas 11) 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
PI = 11-2 = 9
P5= 17-4 = 13
P2= 21-5= 16
Timp mediu de așteptare
Avantajele FCFS
Iată avantajele/beneficiile utilizării algoritmului de programare FCFS:
- Cea mai simplă formă de a Algoritmul de programare CPU
- Ușor de programat
- Primul venit, primul servit
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.