Glavna strana

Izvor: Викикњиге

Raspoređivanje procesa[uredi]

UVOD[uredi]

Raspoređivanje procesa nam je bitan metod u oblasti multiprogramiranja. Multiprogramiranjem se memorija deli na particije u koje se smeštaju različiti procesi. U suštini multiprogramiranjem više procesa na najefektivniji način delimo različite procese različitim procesorima. Zato na jednoprocesorskim sistemima se u jednom trenutku može izvršavati samo jedan proces. Za raspoređivanje procesa na najefektivniji način je zadužen operativni sistem, pa se tu susrećemo sa pojmovima "Redovi čekanja na procesor" i "Planeri poslova i dispečeri".

Redovi čekanja na procesor[uredi]

Postoji više redova čekanja kroz koje prolaze procesi:

  1. red čekanja za poslove (job queue), koji obuhvata sve postojeće procese na sistemu;
  2. red čekanja spremnih poslova (ready queue), koji obuhvata sve procese spremne za rad i koji se nalaze u radoj memoriji.
  3. specijalni red čekanja koji uvodi operativni sistem za ulazno/izlazne uređaje.

Kada procesor krene da izvršava određeni proces tada kažemo da se taj proces nalazi u stanju izvršavanja. Kada se proces nalazi u stanju izvršavanja mogu se desiti različiti scenariji:

  1. proces se može izvršiti;
  2. proces može preći određeni vremenski kvantum (ograničenje) pa zato ostati bez procesora;
  3. napraviti novi proces i čekati u blokiranom stanju dok se novi proces ne izvrši;
  4. može ostati bez procesora ukoliko se desi prekid
  5. Postavi U/I zahtev, nakon čega se prebacuje u red čekanja na ulazno/izlazni uređaj, tj. postaje blokiran. Proces se vraća u red čekanja na procesor sve dok se ne završi, posle čega oslobađa sve zauzete resurse;

Planeri poslova i dispečeri[uredi]

na osnovu resursa koje dominantno koriste, procesi se dele na

  1. procese koji dominantno koriste procesor;
  2. procese koji dominantno koriste ulazno/izlazne uređaje;

Planer poslova ima zaduženje da sve procese popakuje na vremenski najefektivniji način. Zato procesor ne sme sebi da dozvoli sledeće dve stavke:

  1. većina odabranih poslova intenzivno koristi procesor, jer bi tada ulazno/izlazni bili

slabo iskorišćeni;

  1. većina odabranih poslova intenzivno koristi ulazno/izlazne uređaje, jer bi tada

procesor bio slabo iskorišćen;

Uloga dispečera je da dodeljuje procesor procesu kada on pređe iz stanja izvršavanja u stanje čekanja ili gotovo.

Dispečer odlučuje sledeće tri stvari:

  1. koji proces će dobiti procesor;
  2. kada će ga dobiti;
  3. na koliko dugo će ga dobiti;

Učestalost pozivanja planera poslova i dispečera se znatno razlikuju, dispečer se poziva mnogo češće od planera.