Glavna strana
Raspoređivanje procesa
urediUVOD
urediRaspoređ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
urediPostoji više redova čekanja kroz koje prolaze procesi:
- red čekanja za poslove (job queue), koji obuhvata sve postojeće procese na sistemu;
- red čekanja spremnih poslova (ready queue), koji obuhvata sve procese spremne za rad i koji se nalaze u radoj memoriji.
- 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:
- proces se može izvršiti;
- proces može preći određeni vremenski kvantum (ograničenje) pa zato ostati bez procesora;
- napraviti novi proces i čekati u blokiranom stanju dok se novi proces ne izvrši;
- može ostati bez procesora ukoliko se desi prekid
- 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
uredina osnovu resursa koje dominantno koriste, procesi se dele na
- procese koji dominantno koriste procesor;
- 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:
- većina odabranih poslova intenzivno koristi procesor, jer bi tada ulazno/izlazni bili
slabo iskorišćeni;
- 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:
- koji proces će dobiti procesor;
- kada će ga dobiti;
- 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.