FCFS-planlægningsalgoritme: Hvad er, eksempelprogram
Hvad er først til mølle-metoden?
Først til mølle (FCFS) er en styresystems planlægningsalgoritme, der automatisk udfører forespørgsler og processer i kø i rækkefølge efter deres ankomst. Det er den nemmeste og enkleste CPU-planlægningsalgoritme. I denne type algoritme får processer, der anmoder CPU'en først, CPU-allokeringen først. Dette styres med en FIFO-kø. Den fulde form for FCFS er først til mølle.
Når processen kommer ind i klarkøen, er dens PCB (Process Control Block) forbundet med køens hale, og når CPU'en bliver fri, bør den tildeles processen i begyndelsen af køen.
Karakteristika for FCFS-metoden
- Det understøtter ikke-forebyggende og forebyggende planlægningsalgoritme.
- Opgaver udføres altid efter først-til-mølle-princippet.
- Det er nemt at implementere og bruge.
- Denne metode er dårlig i ydeevne, og den generelle ventetid er ret høj.
Eksempel på FCFS-planlægning
Et virkeligt eksempel på FCFS-metoden er at købe en biografbillet på billetskranken. I denne planlægningsalgoritme betjenes en person i henhold til kømåden. Den, der kommer først i køen, køber først billetten og derefter den næste. Dette fortsætter indtil den sidste person i køen køber billetten. Ved at bruge denne algoritme fungerer CPU-processen på en lignende måde.
Hvordan fungerer FCFS? Beregning af gennemsnitlig ventetid
Her er et eksempel på fem processer, der kommer på forskellige tidspunkter. Hver proces har en forskellig burst-tid.
Proces | Burst tid | Ankomsttid |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Ved at bruge FCFS-planlægningsalgoritmen håndteres disse processer som følger.
Trin 1) Processen begynder med P4, som har ankomsttid 0
Trin 2) På tidspunktet=1 ankommer P3. P4 kører stadig. Derfor holdes P3 i en kø.
Proces | Burst tid | Ankomsttid |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Trin 3) Ved tid = 2 ankommer P1 som holdes i køen.
Proces | Burst tid | Ankomsttid |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Trin 4) På tidspunkt = 3 fuldfører P4-processen sin udførelse.
Trin 5) Ved time=4 starter P3, som er først i køen, eksekveringen.
Proces | Burst tid | Ankomsttid |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Trin 6) Ved tiden =5 ankommer P2, og den holdes i kø.
Proces | Burst tid | Ankomsttid |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Trin 7) På tidspunkt 11 afslutter P3 sin udførelse.
Trin 8) Ved tidspunkt = 11 starter P1 udførelse. Den har en burst-tid på 6. Den afslutter udførelsen med tidsinterval 17
Trin 9) Ved tid=17 starter P5 udførelse. Den har en burst-tid på 4. Den fuldfører eksekveringen på time=21
Trin 10) Ved tidspunkt = 21 starter P2 udførelse. Den har en burst-tid på 2. Den afslutter udførelsen med tidsinterval 23
Trin 11) Lad os beregne den gennemsnitlige ventetid for ovenstående eksempel.
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
Gennemsnitlig ventetid
Fordele ved FCFS
Her er fordele/fordele ved at bruge FCFS planlægningsalgoritme:
- Den enkleste form for en CPU-planlægningsalgoritme
- Let at programmere
- Først til mølle får først malet
Ulemper ved FCFS
Her er ulemper/ulemper ved at bruge FCFS-planlægningsalgoritme:
- Det er en ikke-forebyggende CPU-planlægningsalgoritme, så efter at processen er blevet allokeret til CPU'en, vil den aldrig frigive CPU'en, før den er færdig med at udføre.
- Den gennemsnitlige ventetid er høj.
- Korte processer, der står bagerst i køen, må vente på, at den lange proces forrest er færdig.
- Ikke en ideel teknik til tidsdelingssystemer.
- På grund af sin enkelhed er FCFS ikke særlig effektiv.
Resumé
- Definition: FCFS er et operativsystem planlægningsalgoritme, der automatisk udfører forespørgsler og processer i kø efter deres ankomst
- Det understøtter ikke-forebyggende og forebyggende planlægning
- algoritme.
- FCFS står for først til mølle
- Et virkeligt eksempel på FCFS-metoden er at købe en biografbillet på billetskranken.
- Det er den enkleste form for en CPU-planlægningsalgoritme
- Det er en ikke-forebyggende CPU-planlægningsalgoritme, så efter at processen er blevet allokeret til CPU'en, vil den aldrig frigive CPU'en, før den er færdig med at udføre.