FCFS-planningsalgoritme: wat is, voorbeeldprogramma
⚡ Slimme samenvatting
Bij FIFO-planning (First Come First Serve) worden processen uitgevoerd in de exacte volgorde waarin ze in de wachtrij terechtkomen. Dit gebeurt met behulp van een eenvoudige, niet-preëmptieve aanpak, waardoor het het gemakkelijkste CPU-planningsalgoritme is dat een besturingssysteem kan implementeren.

Wat is de First Come First Serve-methode?
Wie het eerst komt, het eerst maalt (FCFS) FCFS is een planningsalgoritme voor besturingssystemen dat automatisch in de wachtrij geplaatste verzoeken en processen uitvoert in de volgorde van binnenkomst. Het is het eenvoudigste en meest efficiënte CPU-planningsalgoritme. Bij dit type algoritme krijgt het proces dat als eerste een CPU aanvraagt, deze ook als eerste toegewezen. Dit wordt beheerd met een FIFO-wachtrij. FCFS staat voor First Come First Serve (eerste komt, eerste serveert).
Zodra een proces in de wachtrij komt, wordt de bijbehorende PCB (Process Control Block) gekoppeld aan het einde van de wachtrij. Wanneer de CPU dus vrijkomt, wordt deze toegewezen aan het proces aan het begin van de wachtrij.
Kenmerken van de FCFS-methode
De belangrijkste kenmerken van de 'wie het eerst komt, het eerst maalt'-methode staan hieronder vermeld:
- Het is een niet-preëmptief Een planningsalgoritme zorgt ervoor dat een proces de CPU behoudt totdat de toegewezen tijd is verstreken.
- Taken worden altijd uitgevoerd op basis van wie het eerst komt, het eerst maalt.
- Het is gemakkelijk te implementeren en te gebruiken.
- Deze methode presteert slecht en de algemene wachttijd is vrij hoog.
Voorbeeld van FCFS-planning
Een praktijkvoorbeeld van de FCFS-methode is het kopen van een bioscoopkaartje aan de kassa. Bij dit planningsalgoritme wordt een persoon geholpen op basis van de volgorde in de wachtrij. De persoon die als eerste aankomt, koopt als eerste het kaartje, en vervolgens de volgende. Dit gaat door totdat de laatste persoon in de rij een kaartje heeft gekocht. Met behulp van dit algoritme werkt het CPU-proces op een vergelijkbare manier.
Hoe FCFS werkt? Berekening van de gemiddelde wachttijd
Om te begrijpen hoe het algoritme processen plant, volgt hier een voorbeeld van vijf processen die op verschillende tijdstippen aankomen. Elk proces heeft een andere bursttijd.
| Proces | Burst-tijd | Aankomsttijd |
| P1 | 6 | 2 |
| P2 | 2 | 5 |
| P3 | 8 | 1 |
| P4 | 3 | 0 |
| P5 | 4 | 4 |
Met behulp van het FCFS-planningsalgoritme worden deze processen als volgt afgehandeld.
Stap 1) Het proces begint met P4, die een aankomsttijd van 0 heeft.
Stap 2) Op tijdstip=1 arriveert P3. P4 wordt nog steeds uitgevoerd. Daarom wordt P3 in een wachtrij gehouden.
Stap 3) Op tijdstip t=2 arriveert P1 en wordt in de wachtrij geplaatst.
Stap 4) Op tijdstip t=3 is de uitvoering van het P4-proces voltooid.
Stap 5) Op tijdstip=4 begint P3, die als eerste in de wachtrij staat, met de uitvoering.
Stap 6) Op tijdstip 5 arriveert P2 en wordt in een wachtrij geplaatst.
Stap 7) Op tijdstip 11 voltooit P3 zijn uitvoering.
Stap 8) Op tijdstip 11 start P1 met de uitvoering. Het heeft een bursttijd van 6, dus de uitvoering is voltooid op tijdstip 17.
Stap 9) Op tijdstip 17 start P5 met de uitvoering. Het heeft een bursttijd van 4, dus de uitvoering is voltooid op tijdstip 21.
Stap 10) Op tijdstip 21 start P2 met de uitvoering. Het heeft een bursttijd van 2, dus de uitvoering is voltooid op tijdstip 23.
Stap 11) Laten we nu de gemiddelde wachttijd voor het bovenstaande voorbeeld berekenen.
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
Gemiddelde wachttijd = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8
Voordelen van FCFS
Hieronder volgen de voordelen van het gebruik van het FCFS-planningsalgoritme:
- Het is de eenvoudigste vorm van een CPU-planningsalgoritme.
- Het is eenvoudig te programmeren.
- Het werkt volgens een eenvoudig principe: wie het eerst komt, het eerst maalt.
Nadelen van FCFS
Hieronder volgen de nadelen van het gebruik van het FCFS-planningsalgoritme:
- Het is een niet-preëmptief CPU-planningsalgoritme, wat betekent dat zodra een proces aan de CPU is toegewezen, de CPU pas wordt vrijgegeven nadat het de uitvoering heeft voltooid.
- De gemiddelde wachttijd is hoog.
- Korte processen achteraan in de wachtrij moeten wachten tot het lange proces vooraan is afgerond.
- Het is geen ideale techniek voor timeshare-systemen.
- Vanwege zijn eenvoud is FCFS niet erg efficiënt.












