FCFS algoritam raspoređivanja: što je, primjer programa

Što je metoda "prvi dođe prvi posluži"?

Prvi dođe prvi posluži (FCFS) je algoritam za raspoređivanje operativnog sustava koji automatski izvršava zahtjeve u redu čekanja i procese redoslijedom njihovog dolaska. To je najlakši i najjednostavniji CPU algoritam za raspoređivanje. U ovoj vrsti algoritma, procesi koji prvi zatraže CPU prvi dobivaju CPU alokaciju. Ovim se upravlja pomoću FIFO reda čekanja. Puni oblik FCFS-a je First Come First Serve.

Kako proces ulazi u red čekanja, njegov PCB (Process Control Block) je povezan s repom reda i, kada se CPU oslobodi, trebao bi biti dodijeljen procesu na početku reda.

Karakteristike FCFS metode

  • Podržava ne-preemptivni i preventivni algoritam raspoređivanja.
  • Poslovi se uvijek izvršavaju po načelu tko prvi dođe, prvi poslužen.
  • Jednostavan je za implementaciju i korištenje.
  • Ova metoda ima lošu izvedbu, a općenito vrijeme čekanja je prilično dugo.

Primjer FCFS rasporeda

Primjer FCFS metode iz stvarnog života je kupnja ulaznice za kino na blagajni. U ovom algoritmu raspoređivanja, osoba se poslužuje prema redu čekanja. Onaj tko prvi dođe u red prvi kupuje kartu, a zatim sljedeći. To će se nastaviti sve dok posljednja osoba u redu ne kupi kartu. Koristeći ovaj algoritam, CPU proces radi na sličan način.

Kako radi FCFS? Izračunavanje prosječnog vremena čekanja

Ovdje je primjer pet procesa koji stižu u različito vrijeme. Svaki proces ima drugačije vrijeme praska.

Proces Vrijeme praska Vrijeme dolaska
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Korištenjem FCFS algoritma za raspoređivanje, ovim se procesima rukuje na sljedeći način.

Korak 1) Proces počinje s P4 koji ima vrijeme dolaska 0

FCFS radi

Korak 2) U vrijeme=1, stiže P3. P4 se još uvijek izvršava. Stoga se P3 drži u redu čekanja.

Proces Vrijeme praska Vrijeme dolaska
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

FCFS radi

Korak 3) U trenutku = 2, stiže P1 koji ostaje u redu čekanja.

Proces Vrijeme praska Vrijeme dolaska
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

FCFS radi

Korak 4) U trenutku = 3, proces P4 završava svoje izvršenje.

FCFS radi

Korak 5) U trenutku = 4, P3, koji je prvi u redu čekanja, počinje izvršenje.

Proces Vrijeme praska Vrijeme dolaska
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

FCFS radi

Korak 6) U trenutku =5, P2 stiže i zadržava se u redu čekanja.

Proces Vrijeme praska Vrijeme dolaska
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

FCFS radi

Korak 7) U trenutku 11, P3 završava svoje izvršenje.

FCFS radi

Korak 8) U trenutku = 11, P1 počinje izvršavanje. Ima vrijeme praska od 6. Završava izvršenje u vremenskom intervalu 17

FCFS radi

Korak 9) U trenutku = 17, P5 počinje izvršavanje. Ima vrijeme praska od 4. Završava izvršenje u vrijeme=21

FCFS radi

Korak 10) U trenutku = 21, P2 počinje izvršavanje. Ima vrijeme praska od 2. Završava izvršenje u vremenskom intervalu 23

FCFS radi

Korak 11) Izračunajmo prosječno vrijeme čekanja za gornji primjer.

FCFS radi

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

Prosječno vrijeme čekanja

FCFS radi
= 40/5 = 8

Prednosti FCFS-a

Ovdje su prednosti/prednosti korištenja FCFS algoritma za zakazivanje:

Nedostaci FCFS-a

Ovdje su mane/nedostaci korištenja FCFS algoritma za zakazivanje:

  • To je algoritam za raspoređivanje CPU-a bez preemptive, tako da nakon što je proces dodijeljen CPU-u, nikada neće otpustiti CPU dok ne završi s izvođenjem.
  • Prosječno vrijeme čekanja je visoko.
  • Kratki procesi koji su na začelju reda čekanja moraju čekati da dugi proces na početku završi.
  • Nije idealna tehnika za sustave dijeljenja vremena.
  • Zbog svoje jednostavnosti, FCFS nije vrlo učinkovit.

rezime

  • Definicija: FCFS je algoritam za raspoređivanje operativnog sustava koji automatski izvršava zahtjeve u redu čekanja i procese prema redoslijedu njihovog dolaska
  • Podržava ne-preemptivno i preventivno raspoređivanje
  • algoritam.
  • FCFS je kratica za First Come First Serve
  • Primjer FCFS metode iz stvarnog života je kupnja ulaznice za kino na blagajni.
  • To je najjednostavniji oblik CPU algoritma za raspoređivanje
  • To je algoritam za raspoređivanje CPU-a bez preemptive, tako da nakon što je proces dodijeljen CPU-u, nikada neće otpustiti CPU dok ne završi s izvođenjem.