Planeringsalgoritmer är viktiga i operativsystem för att hantera processutförande effektivt. De bestämmer den ordning i vilken processer fördelas CPU-tid, påverkar systemprestanda och respons. Denna artikel jämför tre vanliga algoritmer: First-Come, First-Served (FCFS), Shortest Job First (SJF) och Round Robin, med beräkningar för att illustrera deras skillnader.

Första-Come, First-Served (FCFS)

FCFS scheman processer i den ordning de anländer. Det är enkelt men kan leda till långa väntetider för kortare processer, känd som "konvojeffekten".

Exempel: Processer med bursttider 5, 3 och 8 anländer sekventiellt. Gantt-diagrammet visar utförandeorder och beräkningar för vänte- och vändningstider.

Beräkningar:

  • Process 1: Väntar tid = 0, Turnaround Time = 5
  • Process 2: Väntar tid = 5, Turnaround Time = 8
  • Process 3: Väntar tid = 8, Turnaround Time = 16

Kortaste jobb först (SJF)

SJF väljer processen med den minsta sprängtiden nästa. Det minimerar genomsnittlig väntetid men kräver kunskap om processens varaktighet i förväg.

Med samma processer schemalägger SJF dem som 3, 5, sedan 8 enheter, vilket leder till olika väntetider.

Beräkningar:

  • Process 2: Väntar tid = 0, Turnaround Time = 3
  • Process 1: Väntar tid = 3, Turnaround Time = 8
  • Process 3: Väntar tid = 8, Turnaround Time = 16

Round Robin Scheduling

Round Robin tilldelar varje process en fast tidsskiva eller kvant. Processer cyklas tills slutförandet, främjar rättvisa och respons.

Om man antar en kvant av 2 enheter, är processerna schemalagda i cykler, och beräkningarna baseras på total avrättningstid och väntetider.

Exempelberäkningar för processens slutförandetider och väntetider är följande:

  • Process 1: Väntar tid = 4, Turnaround Time = 9
  • Process 2: Väntar tid = 2, Turnaround Time = 5
  • Process 3: Väntar tid = 8, Turnaround Time = 16