FCFS-planleggingsalgoritme: Hva er, eksempelprogram
โก Smart oppsummering
Fรธrst til mรธlla-planlegging kjรธrer prosesser i den nรธyaktige rekkefรธlgen de nรฅr klarkรธen, ved hjelp av en enkel ikke-preemptiv FIFO-tilnรฆrming som gjรธr den til den enkleste CPU-planleggingsalgoritmen for et operativsystem รฅ implementere.

Hva er fรธrstemann til mรธlla-metoden?
Fรธrstemann til mรธlla (FCFS) er en planleggingsalgoritme for operativsystemer som automatisk utfรธrer forespรธrsler og prosesser i kรธ i den rekkefรธlgen de ankommer. Det er den enkleste og enkleste CPU-planleggingsalgoritmen. I denne typen algoritme fรฅr prosessen som fรธrst ber om CPU-en CPU-tildelingen fรธrst. Dette hรฅndteres med en FIFO-kรธ. Den fulle formen for FCFS er fรธrst til mรธlla.
Nรฅr en prosess gรฅr inn i klarkรธen, kobles dens PCB (prosesskontrollblokk) til den ene siden av kรธen. Sรฅ nรฅr CPU-en blir ledig, tilordnes den prosessen i begynnelsen av kรธen.
Kjennetegn ved FCFS-metoden
De viktigste egenskapene til ยซfรธrstemann til mรธllaยป-metoden er listet opp nedenfor:
- Det er en ikke-preemptiv planleggingsalgoritme, slik at en prosess beholder CPU-en til den fullfรธrer burst-tiden.
- Jobbene utfรธres alltid etter fรธrstemann-til-mรธlla-prinsippet.
- Det er enkelt รฅ implementere og bruke.
- Denne metoden har dรฅrlig ytelse, og den generelle ventetiden er ganske hรธy.
Eksempel pรฅ FCFS-planlegging
Et eksempel pรฅ FCFS-metoden fra virkeligheten er รฅ kjรธpe en kinobillett i billettluken. I denne planleggingsalgoritmen blir en person betjent i henhold til kรธrekkefรธlgen. Personen som kommer fรธrst i kรธen kjรธper billetten fรธrst, og deretter den neste. Dette fortsetter til den siste personen i kรธen kjรธper billetten. Ved รฅ bruke denne algoritmen fungerer CPU-prosessen pรฅ en lignende mรฅte.
Hvordan fungerer FCFS? Beregner gjennomsnittlig ventetid
For รฅ forstรฅ hvordan algoritmen planlegger prosesser, er her et eksempel pรฅ fem prosesser som ankommer til forskjellige tidspunkter. Hver prosess har en ulik burst-tid.
| Prosess | Sprengtid | Ankomsttid |
| P1 | 6 | 2 |
| P2 | 2 | 5 |
| P3 | 8 | 1 |
| P4 | 3 | 0 |
| P5 | 4 | 4 |
Ved รฅ bruke FCFS-planleggingsalgoritmen hรฅndteres disse prosessene som fรธlger.
Trinn 1) Prosessen begynner med P4, som har ankomsttid 0.
Trinn 2) Ved tid=1 kommer P3. P4 kjรธrer fortsatt. Derfor holdes P3 i en kรธ.
Trinn 3) Ved tid = 2 ankommer P1 og blir holdt i kรธen.
Trinn 4) Ved tid=3 fullfรธrer P4-prosessen utfรธrelsen.
Trinn 5) Ved tid=4 starter P3, som er fรธrst i kรธen, kjรธringen.
Trinn 6) Ved tid = 5 ankommer P2 og blir holdt i kรธ.
Trinn 7) Ved tid=11 fullfรธrer P3 utfรธrelsen.
Trinn 8) Ved tid = 11 starter P1 utfรธrelsen. Den har en burst-tid pรฅ 6, sรฅ den fullfรธrer utfรธrelsen ved tidsintervall 17.
Trinn 9) Ved tid = 17 starter P5 utfรธrelsen. Den har en burst-tid pรฅ 4, sรฅ den fullfรธrer utfรธrelsen ved tid = 21.
Trinn 10) Ved tid = 21 starter P2 utfรธrelsen. Den har en burst-tid pรฅ 2, sรฅ den fullfรธrer utfรธrelsen ved tidsintervall 23.
Trinn 11) La oss nรฅ beregne den gjennomsnittlige ventetiden for eksemplet ovenfor.
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
Gjennomsnittlig ventetid = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8
Fordeler med FCFS
Her er fordelene og fordelene ved รฅ bruke FCFS-planleggingsalgoritmen:
- Det er den enkleste formen for en CPU-planleggingsalgoritme.
- Det er enkelt รฅ programmere.
- Den fรธlger en enkel ยซfรธrstemann til mรธllaยป-rekkefรธlge.
Ulemper med FCFS
Her er ulempene og ulempene ved รฅ bruke FCFS-planleggingsalgoritmen:
- Det er en ikke-preemptiv CPU-planleggingsalgoritme, sรฅ nรฅr en prosess har blitt tildelt CPU-en, vil den aldri frigjรธre CPU-en fรธr den er ferdig med รฅ kjรธre.
- Den gjennomsnittlige ventetiden er hรธy.
- Korte prosesser bakerst i kรธen mรฅ vente til den lange prosessen foran er ferdig.
- Det er ikke en ideell teknikk for tidsdelingssystemer.
- Pรฅ grunn av sin enkelhet er ikke FCFS veldig effektiv.












