FCFS-i ajastamisalgoritm: mis on, näidisprogramm
⚡ Nutikas kokkuvõte
Esimesena tulnud, esimesena teenindatud põhimõttel ajastamine käivitab protsessid täpselt selles järjekorras, kus nad valmisolekujärjekorda jõuavad, kasutades lihtsat mitte-ennetavat FIFO-lähenemisviisi, mis teeb sellest operatsioonisüsteemi jaoks lihtsaimini rakendatava protsessori ajastamisalgoritmi.

Mis on "kes ees, mees" serveerimismeetod?
Serveerimine „kes ees, mees” (FCFS) on operatsioonisüsteemi ajastamisalgoritm, mis käivitab järjekorras olevaid päringuid ja protsesse automaatselt nende saabumise järjekorras. See on lihtsaim ja lihtsam protsessori ajastamisalgoritm. Seda tüüpi algoritmis saab protsessori jaotuse esimesena protsessorilt päringu teinud protsessor. Seda hallatakse FIFO järjekorra abil. FCFS-i täielik vorm on "kes ees, see mees".
Kui protsess siseneb valmisolekujärjekorda, ühendatakse selle trükkplaat (PCB) järjekorra sabaosaga. Seega, kui protsessor vabaneb, määratakse see järjekorra alguses olevale protsessile.
FCFS-meetodi omadused
Esimesena tulnud, esimesena teenindatud meetodi peamised omadused on loetletud allpool:
- On mitte-eelistav ajastamisalgoritm, seega protsess hoiab protsessorit seni, kuni see oma purskeaja lõpetab.
- Tööd täidetakse alati "kes ees, see mees" põhimõttel.
- Seda on lihtne rakendada ja kasutada.
- Selle meetodi jõudlus on nõrk ja üldine ooteaeg on üsna pikk.
FCFS-i ajastamise näide
FCFS-meetodi reaalne näide on kinopileti ostmine piletikassast. Selles ajastamisalgoritmis teenindatakse inimest vastavalt järjekorrale. Esimesena järjekorda saabunud inimene ostab pileti esimesena ja seejärel järgmine. See jätkub seni, kuni järjekorras viimane inimene pileti ostab. Selle algoritmi abil töötab protsessori protsessor sarnasel viisil.
Kuidas FCFS töötab? Keskmise ooteaja arvutamine
Algoritmi protsesside ajastamise mõistmiseks toome näite viiest protsessist, mis saabuvad erinevatel aegadel. Igal protsessil on erinev saabumisaeg.
| Protsess | Purskeaeg | Saabumise aeg |
| P1 | 6 | 2 |
| P2 | 2 | 5 |
| P3 | 8 | 1 |
| P4 | 3 | 0 |
| P5 | 4 | 4 |
FCFS-i ajastamisalgoritmi kasutades käsitletakse neid protsesse järgmiselt.
Step 1) Protsess algab punktiga P4, mille saabumisaeg on 0.
Step 2) Kell = 1, saabub P3. P4 töötab endiselt. Seetõttu hoitakse P3 järjekorras.
Step 3) Ajahetkel 2 saabub P1 ja seda hoitakse järjekorras.
Step 4) Ajahetkel 3 lõpetab protsess P4 oma täitmise.
Step 5) Kellaaeg=4 alustab täitmist P3, mis on järjekorras esimene.
Step 6) Ajahetkel 5 saabub P2 ja seda hoitakse järjekorras.
Step 7) Ajahetkel 11 lõpetab P3 oma täitmise.
Step 8) Ajahetkel 11 alustab P1 täitmist. Selle purskeaeg on 6, seega lõpeb täitmine ajaintervallis 17.
Step 9) Ajahetkel 17 alustab P5 täitmist. Selle purskeaeg on 4, seega lõpeb täitmine ajahetkel 21.
Step 10) Ajahetkel 21 alustab P2 täitmist. Selle purskeaeg on 2, seega lõpeb täitmine ajaintervallis 23.
Step 11) Nüüd arvutame välja ülaltoodud näite keskmise ooteaja.
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
Keskmine ooteaeg = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8
FCFS-i eelised
Siin on FCFS-i ajastamisalgoritmi kasutamise plussid ja eelised:
- See on kõige lihtsam vorm a CPU ajastamise algoritm.
- Seda on lihtne programmeerida.
- See järgib lihtsat esimesena tulnud, esimesena teenindatud järjekorda.
FCFS-i puudused
Siin on FCFS-i ajastamisalgoritmi kasutamise miinused ja puudused:
- See on mitte-ennetav protsessori ajastamisalgoritm, seega kui protsess on protsessorile eraldatud, ei vabasta see protsessorit enne, kui see on täitmise lõpetanud.
- Keskmine ooteaeg on pikk.
- Järjekorra tagaosas olevad lühikesed protsessid peavad ootama, kuni eesolev pikk protsess lõpeb.
- See ei ole ajajagamissüsteemide jaoks ideaalne tehnika.
- Lihtsuse tõttu ei ole FCFS eriti tõhus.












