SHPORA.net :: PDA

Login:
đćăèńòđàöèÿ

Main
FAQ

ăóìàíèòàđíûć íàóêè
ćńòćńòâćííûć íàóêè
ìàòćìàòèśćńêèć íàóêè
òćőíèśćńêèć íàóêè
Search:
Title: | Body:

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 câmp din tabela proceselor ce înregistrează valoarea de folosire curentă a UCP de către proces. De asemenea, o dată pe secundă, rutina de tratare a ceasului ajustează valoarea de folosire a UCP de către fiecare proces în concordanță cu o funcție de reducere (decay):
^decay(UCP)=UCP/2.
^Când ea recalculează folosirea recentă a UCP, rutina de tratare a ceasului recalculează ?i prioritatea fiecărui proces aflat în starea "întrerupt dar gata de execuție" î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 recalculării priorităților o dată pe secundă este acela că procesele cu priorități de nivel utilizator sunt mutate între listele de priorități.Controlul priorităților proceselor
Procesele pot exercita un control al priorității lor de planificare prin folosirea apelului sistem nice:
^nice(valoare);
unde valoare este adăugat în calculul priorității procesului:
^prioritatea = ("valoarea de folosire a CPU" / 2 ) + ( prioritatea utilizator a nivelului de bază) + (valoare nice)
--Apelul sistem nice incrementează sau decrementează câmpul nice din tabela proceselor cu valoarea parametrului, de?i doar administratorul de sistem poate asigura valori nice astfel încât să mărească prioritatea proceselor. Similar, doar administratorul de sistem poate asigura valori nice sub un prag anume. Utilizatorii care invocă apelul sistem nice pentru a scădea prioritatea proceselor lor când execută sarcini de calcul intensiv sunt amabili (nice) față de alți utilizatori din sistem (de unde ?i numele apelului sistem). Procesele mo?tenesc valoarea nice a părintelui pe durata apelului sistem fork. Apelul sistem nice funcționează doar pentru procesul în care rulează; un proces nu poate schimba valoarea nice a altui proces.