FCFS-Planungsalgorithmus: Was ist ein Beispielprogramm?
⚡ Intelligente Zusammenfassung
Beim First Come First Serve-Scheduling werden Prozesse in der genauen Reihenfolge ausgeführt, in der sie in der Warteschlange eintreffen. Dabei wird ein einfacher, nicht-präemptiver FIFO-Ansatz verwendet, der ihn zum am einfachsten zu implementierenden CPU-Scheduling-Algorithmus für ein Betriebssystem macht.
Was ist die „Wer zuerst kommt, mahlt zuerst“-Methode?
Wer zuerst kommt, mahlt zuerst (FCFS) FCFS ist ein Betriebssystem-Scheduling-Algorithmus, der Anfragen und Prozesse in der Reihenfolge ihres Eintreffens automatisch abarbeitet. Er ist der einfachste CPU-Scheduling-Algorithmus. Bei diesem Algorithmus erhält der Prozess, der die CPU zuerst anfordert, diese auch zuerst. Dies wird mithilfe einer FIFO-Warteschlange (First Come First Serve) verwaltet.
Sobald ein Prozess in die Warteschlange eintritt, wird sein Prozesskontrollblock (PCB) mit dem letzten Prozess der Warteschlange verknüpft. Wenn die CPU frei wird, wird sie dem Prozess am Anfang der Warteschlange zugewiesen.
Merkmale der FCFS-Methode
Die wichtigsten Merkmale des „Wer zuerst kommt, mahlt zuerst“-Verfahrens sind nachfolgend aufgeführt:
- Es ist ein nicht-präemptiv Der Scheduling-Algorithmus sorgt dafür, dass ein Prozess die CPU so lange beansprucht, bis er seine Burst-Zeit abgeschlossen hat.
- Aufträge werden immer nach dem Prinzip „Wer zuerst kommt, mahlt zuerst“ ausgeführt.
- Es ist einfach zu implementieren und zu verwenden.
- Diese Methode ist leistungsschwach und die allgemeine Wartezeit ist recht hoch.
Beispiel für FCFS-Planung
Ein praktisches Beispiel für das FCFS-Verfahren ist der Kauf einer Kinokarte an der Kasse. Bei diesem Algorithmus wird die Person der Reihe nach bedient. Die erste Person in der Schlange kauft zuerst die Karte, dann die nächste. Dies setzt sich fort, bis die letzte Person in der Schlange eine Karte erworben hat. Der CPU-Prozess arbeitet nach diesem Prinzip.
Wie funktioniert FCFS? Berechnung der durchschnittlichen Wartezeit
Um zu verstehen, wie der Algorithmus Prozesse plant, folgt hier ein Beispiel mit fünf Prozessen, die zu unterschiedlichen Zeiten eintreffen. Jeder Prozess hat eine unterschiedliche Ausführungszeit.
| Prozess | Burst-Zeit | Ankunftszeit |
| P1 | 6 | 2 |
| P2 | 2 | 5 |
| P3 | 8 | 1 |
| P4 | 3 | 0 |
| P5 | 4 | 4 |
Mithilfe des FCFS-Planungsalgorithmus werden diese Prozesse wie folgt gehandhabt.
Schritt 1) Der Prozess beginnt mit P4, dessen Ankunftszeitpunkt 0 ist.
Schritt 2) Zum Zeitpunkt = 1 kommt P3 an. P4 wird noch ausgeführt. Daher wird P3 in einer Warteschlange gehalten.
Schritt 3) Zum Zeitpunkt t=2 trifft P1 ein und wird in die Warteschlange eingereiht.
Schritt 4) Zum Zeitpunkt t=3 beendet der Prozess P4 seine Ausführung.
Schritt 5) Zum Zeitpunkt = 4 beginnt P3, der erste in der Warteschlange, mit der Ausführung.
Schritt 6) Zum Zeitpunkt t = 5 trifft P2 ein und wird in eine Warteschlange gestellt.
Schritt 7) Zum Zeitpunkt t=11 beendet P3 seine Ausführung.
Schritt 8) Zum Zeitpunkt t=11 beginnt P1 mit der Ausführung. Die Ausführungszeit beträgt 6, daher ist die Ausführung im Zeitintervall 17 abgeschlossen.
Schritt 9) Zum Zeitpunkt t=17 beginnt P5 mit der Ausführung. Die Ausführungszeit beträgt 4, daher ist die Ausführung zum Zeitpunkt t=21 abgeschlossen.
Schritt 10) Zum Zeitpunkt t=21 beginnt P2 mit der Ausführung. Die Ausführungszeit beträgt 2, daher ist die Ausführung im Zeitintervall 23 abgeschlossen.
Schritt 11) Nun berechnen wir die durchschnittliche Wartezeit für das obige Beispiel.
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
Durchschnittliche Wartezeit = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8
Vorteile von FCFS
Hier sind die Vorteile und Nutzen der Verwendung des FCFS-Scheduling-Algorithmus:
- Es ist die einfachste Form von CPU-Planungsalgorithmus.
- Es ist einfach zu programmieren.
- Es gilt das einfache Prinzip „Wer zuerst kommt, mahlt zuerst“.
Nachteile von FCFS
Hier sind die Nachteile und Nachteile der Verwendung des FCFS-Scheduling-Algorithmus:
- Es handelt sich um einen nicht-präemptiven CPU-Scheduling-Algorithmus. Sobald ein Prozess der CPU zugewiesen wurde, wird diese erst wieder freigegeben, wenn die Ausführung abgeschlossen ist.
- Die durchschnittliche Wartezeit ist hoch.
- Kurze Prozesse am Ende der Warteschlange müssen warten, bis der lange Prozess am Anfang abgeschlossen ist.
- Für Time-Sharing-Systeme ist dies keine ideale Technik.
- Aufgrund seiner Einfachheit ist FCFS nicht sehr effizient.













