c.Planific proc

[ ]
Ceasul poate ntrerupe un proces de mai multe ori pe durata cuantei sale de timp; la fiecare ntrerupere de ceas, rutina de tratare a ceasului incrementeaz un cmp din tabela proceselor ce nregistreaz valoarea de folosire curent a UCP de ctre proces. De asemenea, o dat pe secund, rutina de tratare a ceasului ajusteaz valoarea de folosire a UCP de ctre fiecare proces n concordan cu o funcie de reducere (decay):
^decay(UCP)=UCP/2.
^Cnd ea recalculeaz folosirea recent a UCP, rutina de tratare a ceasului recalculeaz ?i prioritatea fiecrui proces aflat n starea "ntrerupt dar gata de execuie" n concordan cu formula:
^prioritatea=("valoarea de folosire a CPU" / 2)+(prioritatea utilizator a nivelului de baz)
unde "prioritatea utilizator a nivelului de baz" este prioritatea de prag dintre modul nucleu ?i cel utilizator descris anterior.
--Efectul recalculrii prioritilor o dat pe secund este acela c procesele cu prioriti de nivel utilizator sunt mutate ntre listele de prioriti.Controlul prioritilor proceselor
Procesele pot exercita un control al prioritii lor de planificare prin folosirea apelului sistem nice:
^nice(valoare);
unde valoare este adugat n calculul prioritii procesului:
^prioritatea = ("valoarea de folosire a CPU" / 2 ) + ( prioritatea utilizator a nivelului de baz) + (valoare nice)
--Apelul sistem nice incrementeaz sau decrementeaz cmpul nice din tabela proceselor cu valoarea parametrului, de?i doar administratorul de sistem poate asigura valori nice astfel nct s mreasc prioritatea proceselor. Similar, doar administratorul de sistem poate asigura valori nice sub un prag anume. Utilizatorii care invoc apelul sistem nice pentru a scdea prioritatea proceselor lor cnd execut sarcini de calcul intensiv sunt amabili (nice) fa de ali utilizatori din sistem (de unde ?i numele apelului sistem). Procesele mo?tenesc valoarea nice a printelui pe durata apelului sistem fork. Apelul sistem nice funcioneaz doar pentru procesul n care ruleaz; un proces nu poate schimba valoarea nice a altui proces.

:

Network | | | | | | | | | | | | | | | - | | | | | | | | | | | | | | | | | | | | | () | | | | | | | | | | | | | | | | () | Assembler | Basic, VB | Pascal | , ++ |