E-gradiva > Računalništvo > Operacijski sistemi > a_operacijski > Procesi > Razvršèanje

Prijava

RazvrŠČanje procesov

V sistemu z enim procesorjem lahko na enkrat teče samo en proces. Vsi ostali morajo čakati, da se procesor sprosti. Do razvrščanja pride v naslednjih primerih:

  1. ko izvajani proces preide v stanje čakanja,
  2. ko proces preide iz stanja izvajanja v čakanje (npr. ob prekinitvi od zunaj),
  3. kadar preide proces iz stanja čakanja v aktivno stanje ali
  4. ko se nek proces konča.

V 1. in 4. primeru v bistvu ne govorimo o razvrščanju, saj v smislu razvrščanja nimamo izbire. Govorimo lahko o neprekinjevalnem (nonpreemptive) ali prekinjevalnem razvrščanju (preemptive). V primeru neprekinjevalnega razvrščanja gre za odločanje v 1. in 4. primeru (primer Windows 3.1).

Kriteriji za razvrščanje so lahko:

Za razvrščanje se uporabljajo različni algoritmi.

FIFO

Procesi se izvršujejo po vrstnem redu prihoda v vrsto. FIFO je kratica angleške oznake algoritma – First In First Out.

Najkrajši proces najprej

Za vsak proces se oceni, koliko časa potrebuje za svojo izvršitev. Najkrajšemu procesu se najprej dodeli procesor. Pri vsakem razvrščanju se torej najprej izvrši proces, za katerega se oceni, da bo zavzel najmanj procesorskega časa.

Prioriteta

Vsakemu procesu se dodeli določena prioriteta. Proces, ki ima večjo prioriteto se prej izvrši kot tisti z manjšo.

razvrščanje Round-Robin

Algoritem Raund-Robin je podoben algoritvu FIFO z razliko, da vključuje prekinjevalno obnašanje. Izvajanje procesov se vrši v časovnih presledkih - quantumih. Razvrščanje se zgodi ob vsakem quantumu. Izvajani proces se prekine in prerazporedi na rep vrste.

Večvrstno razvrščanje

Večvrstno razvrščanje pomeni razdelitev procesov glede na določeno lastnost. Najenostavneje jih razdelimo na tiste, ki tečejo v ozadju in tiste, ki tečejo v ospredju ali drugače.

Večvrstno razvrščanje

Na podlagi določene lastnosti se vsak proces za stalno uvrsti v določeno vrsto. Znotraj vsake vrste se lahko uporabljajo različni razvrščevalni algoritmi, obstajati pa mora tudi algoritem razvrščanja med vrstami, ki daje odločitev, kateremu procesu se bo dodelil procesor v primeru obstoja procesov v več vrstah.

Krožna prioriteta

V primeru uporabe tega algoritma se lahko procesi prerazvrščajo iz ene vrste v drugo. Cilj algoritma je uvrstitev procesa glede na njegovo obnašanje. Če proces potrebuje preveč procesorskega časa, bo uvrščen v vrsto z manjšo prioriteto. Nasprotno se lahko proces, ki predolgo čaka v vrsti z manjšo prioriteto prerazporedi v vrsto z večjo prioriteto in s tem ne zastara.

Čakalne vrste so enosmerno povezani seznami. Procesi pa pridejo do procesorskega časa s sistemskimi klici. Gre za programske prekinitve, ki zagotavljajo začetek in konec obdelave procesov glede na njihove prioritete v večopravilnih operacijskih sistemov.

Avtor