FCFS-ajoitusalgoritmi: Mikä on, esimerkkiohjelma

Mikä on ensin tullutta palvelee -menetelmä?

Ensin tullutta palvella (FCFS) on käyttöjärjestelmän ajoitusalgoritmi, joka suorittaa automaattisesti jonossa olevat pyynnöt ja prosessit niiden saapumisjärjestyksessä. Se on helpoin ja yksinkertaisin suorittimen ajoitusalgoritmi. Tämän tyyppisessä algoritmissa prosessit, jotka ensin pyytävät CPU:ta, saavat ensin suorittimen allokoinnin. Tätä hallitaan FIFO-jonon avulla. FCFS:n täysi muoto on First Come First Serve.

Prosessin tullessa valmiusjonoon, sen PCB (Process Control Block) linkitetään jonon päähän ja kun CPU vapautuu, se tulee osoittaa prosessille jonon alussa.

FCFS-menetelmän ominaisuudet

  • Se tukee ennaltaehkäisevää ja ennaltaehkäisevää aikataulutusalgoritmia.
  • Työt tehdään aina saapumisjärjestyksessä.
  • Se on helppo toteuttaa ja käyttää.
  • Tämän menetelmän suorituskyky on heikko, ja yleinen odotusaika on melko pitkä.

Esimerkki FCFS-aikataulutuksesta

Tosielämän esimerkki FCFS-menetelmästä on elokuvalipun ostaminen lipputiskiltä. Tässä aikataulutusalgoritmissa henkilöä palvellaan jonotavan mukaisesti. Ensimmäisenä jonoon saapuva ostaa ensin lipun ja sitten seuraavan. Tämä jatkuu, kunnes viimeinen jonossa oleva ostaa lipun. Tätä algoritmia käyttämällä CPU-prosessi toimii samalla tavalla.

Kuinka FCFS toimii? Keskimääräisen odotusajan laskeminen

Tässä on esimerkki viidestä prosessista, jotka saapuvat eri aikoina. Jokaisella prosessilla on erilainen purskeaika.

Käsitellä asiaa Räjähdysaika Saapumisaika
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

FCFS-ajoitusalgoritmia käyttämällä näitä prosesseja käsitellään seuraavasti.

Vaihe 1) Prosessi alkaa P4:llä, jonka saapumisaika on 0

FCFS toimii

Vaihe 2) Aika = 1, P3 saapuu. P4 on edelleen käynnissä. Siksi P3 pidetään jonossa.

Käsitellä asiaa Räjähdysaika Saapumisaika
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

FCFS toimii

Vaihe 3) Ajankohtana = 2 saapuu P1, joka pidetään jonossa.

Käsitellä asiaa Räjähdysaika Saapumisaika
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

FCFS toimii

Vaihe 4) Ajankohtana = 3, P4-prosessi suorittaa suorituksensa loppuun.

FCFS toimii

Vaihe 5) Ajankohtana = 4, P3, joka on ensimmäinen jonossa, aloittaa suorituksen.

Käsitellä asiaa Räjähdysaika Saapumisaika
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

FCFS toimii

Vaihe 6) Ajankohtana =5 P2 saapuu ja sitä pidetään jonossa.

Käsitellä asiaa Räjähdysaika Saapumisaika
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

FCFS toimii

Vaihe 7) Aikana 11 P3 suorittaa suorituksensa loppuun.

FCFS toimii

Vaihe 8) Aika = 11, P1 aloittaa suorituksen. Sen purskeaika on 6. Se suorittaa suorituksen aikavälillä 17

FCFS toimii

Vaihe 9) Aika = 17, P5 aloittaa suorituksen. Sen purskeaika on 4. Se suorittaa suorituksen ajan = 21

FCFS toimii

Vaihe 10) Aika = 21, P2 aloittaa suorituksen. Sen purskeaika on 2. Se suorittaa suorituksen aikavälillä 23

FCFS toimii

Vaihe 11) Lasketaan keskimääräinen odotusaika yllä olevalle esimerkille.

FCFS toimii

Waiting time = Start time - Arrival time

P4 = 0-0 = 0

P3 = 3-1 = 2

PI = 11-2 = 9

P5 = 17-4 = 13

P2 = 21-5 = 16

Keskimääräinen odotusaika

FCFS toimii
= 40 / 5 = 8

FCFS:n edut

Tässä on FCFS-aikataulutusalgoritmin käytön edut/edut:

FCFS:n haitat

Tässä on FCFS-aikataulutusalgoritmin käytön haittoja/haittoja:

  • Se on ei-ennaltaehkäisevä suorittimen ajoitusalgoritmi, joten sen jälkeen kun prosessi on allokoitu CPU:lle, se ei koskaan vapauta suoritinta ennen kuin se on suorittanut loppuun.
  • Keskimääräinen odotusaika on korkea.
  • Lyhyiden prosessien, jotka ovat jonon takana, on odotettava pitkän prosessin päättymistä.
  • Ei ihanteellinen tekniikka aikajakojärjestelmille.
  • Yksinkertaisuuden vuoksi FCFS ei ole kovin tehokas.

Yhteenveto

  • Määritelmä: FCFS on käyttöjärjestelmän ajoitusalgoritmi, joka suorittaa automaattisesti jonossa olevat pyynnöt ja prosessit niiden saapumisjärjestyksessä
  • Se tukee ennaltaehkäisevää ja ennaltaehkäisevää ajoitusta
  • algoritmi.
  • FCFS on lyhenne sanoista First Come First Serve
  • Tosielämän esimerkki FCFS-menetelmästä on elokuvalipun ostaminen lipputiskiltä.
  • Se on suorittimen ajoitusalgoritmin yksinkertaisin muoto
  • Se on ei-ennaltaehkäisevä suorittimen ajoitusalgoritmi, joten sen jälkeen kun prosessi on allokoitu CPU:lle, se ei koskaan vapauta suoritinta ennen kuin se on suorittanut loppuun.