Metoda Planowania FCFS (ang. first come, first serve) jest to algorytm, który ma za zadanie obsługiwać żądania odczytu danych z dysku. Zasada jego działania jest bardzo podobna do kolejki FIFO. Mianowicie kolejne żądanie są obsługiwane w takiej samej kolejności w jakiej przyszły. Do zalet takiego rozwiązania należy zaliczyć fakt, że każde żądanie ma szansę zostać obsłużone i ma na to jednakową szansę jak pozostałe. Z drugiej strony algorytm ten w żaden sposób nie optymalizuje pobierania danych.
Załóżmy, że dysk składa się z 100 segmentów. Do kolejki przychodzą następujące żądania odczytania: {25, 35, 30, 60, 80, 40, 30}. Dysk obsłużony je w takiej kolejności w jakiej nadeszły tak jak to pokazuje poniższy schemat:
Jak można zauważyć dysk porusza głowicą raz w lewo, a raz w prawo, a cały proces możnaby zoptymalizować obsługując np. te bliższe niż dalsze elementy. W tym przypadku dysk musi wykonać 140 skoków pomiędzy kolejnymi segmantami, aby odpowiedzieć na wszystkie żądania. Czas oczekiwania na odpowiedź wynosi tyle ile elementów było wcześniej w kolejce. Przyjmując, że co pewien okres czasu t dysk przesuwa głowicę o 1 segment można policzyć, że średni czas odczytania segmentu wynosi 21t (suma 140 / 7 = 20 czyli czas przesuwania oraz 1 czyli czas odczytu).
Funkcja kolejnoscFCFS() dla danej listy zwraca kolejność obsługiwanych zdarzeń. W tym przypadku jej działanie polega na skopiowaniu przekazanej listy.
Funkcja skokowFCFS() oblicza ile skoków musi łącznie wykonać głowica dysku, aby odpowiedzieć na wszystkie zapytania. Dodatkowy parametr poz pozwala określić aktualne położenie głowicy. Domyślnie wartość ta jest ustawiona na 0.
Algorytmy można przetestować przy pomocy poniższego fragmentu kodu: