Scheduling algoritmes zijn essentieel in besturingssystemen om procesuitvoering efficiënt te beheren. Ze bepalen de volgorde waarin processen worden toegewezen CPU tijd, impact op systeemprestaties en responsiviteit. Dit artikel vergelijkt drie gangbare algoritmen: First-Come, First-Served (FCFS), Shortest Job First (SJF), en Round Robin, met berekeningen om hun verschillen te illustreren.

First-Come, First-Served (FCFS)

FCFS-schema's werken in de volgorde waarin ze aankomen. Het is eenvoudig maar kan leiden tot lange wachttijden voor kortere processen, bekend als het "gesprekseffect."

Voorbeeld: Processen met bursttijden 5, 3 en 8 komen achtereenvolgens aan. De Gantt-grafiek toont uitvoeringsvolgorde en berekeningen voor wachten en omlooptijden.

Berekeningen:

  • Proces 1: wachttijd = 0, doorlooptijd = 5
  • Proces 2: wachttijd = 5, doorlooptijd = 8
  • Proces 3: Wachttijd = 8, Draaitijd = 16

Kortste taak Eerste (SJF)

SJF selecteert het proces met de kleinste bursttijd volgende. Het minimaliseert de gemiddelde wachttijd maar vereist kennis van de procesduur van tevoren.

Met dezelfde processen, SJF roostert ze als 3, 5, dan 8 eenheden, wat leidt tot verschillende wachttijden.

Berekeningen:

  • Proces 2: wachttijd = 0, doorlooptijd = 3
  • Proces 1: wachttijd = 3, doorlooptijd = 8
  • Proces 3: Wachttijd = 8, Draaitijd = 16

Ronde Robin Scheduling

Round Robin kent elk proces een vaste tijdslice of kwantum toe. Processen worden tot voltooiing gefietst, waardoor eerlijkheid en responsiviteit worden bevorderd.

Als er een kwantum van 2 eenheden wordt aangenomen, worden de processen in cycli gepland, en berekeningen zijn gebaseerd op totale uitvoeringstijd en wachttijden.

Voorbeeldberekeningen voor procesafrondingstijden en wachttijden zijn als volgt:

  • Proces 1: wachttijd = 4, doorlooptijd = 9
  • Proces 2: wachttijd = 2, doorlooptijd = 5
  • Proces 3: Wachttijd = 8, Draaitijd = 16