În centrul multor algoritmi de planificare preemptivă se află conceptul de cuantizare. Potrivit acestuia, fiecare fir este prevăzut alternativ cu un interval nelimitat de timp al procesorului - un cuantum.
Debitul activ se modifică dacă:
1. Firul sa încheiat și a părăsit sistemul
2. A apărut o eroare.
3. Firul a intrat într-o stare de așteptare
4. Cuantele alocate fluxului dat sunt epuizate
Firul care și-a epuizat cuantumul este pus în stare pregătită și un fir nou este activat din coada gata de execuție. Curenților pot fi alocate cantitati egale sau diferite. Mărimea unui cuant poate fi constantă sau variabilă. Luând în considerare acești factori crește numărul de variante posibile de algoritmi de planificare.
Sistemele de operare multi-tasking pierd o anumită cantitate de timp CPU pentru a efectua sarcini auxiliare în timpul comutării contextelor de activitate. Costurile acestor acțiuni auxiliare nu depind de amploarea cuantumului timpului, deci cu cât este mai mare fracția de timp, cu atât costurile totale de trecere a fluxului sunt mai mici. Astfel de algoritmi nu folosesc informații preliminare despre caracteristicile sarcinilor care trebuie rezolvate. Aceste informații se pot acumula în cursul deciziei.
16) Care este "prioritatea firului" și cum se întâmplă?
Serviciul prioritar presupune că fluxul are o caracteristică cunoscută inițial - o prioritate, pe baza căreia se determină ordinea execuției sale.
Prioritatea este un număr care caracterizează gradul de importanță al fluxului atunci când se utilizează resursele informatice. Prioritatea poate fi exprimată în întregime sau în valori fracționare, pozitive și negative. În unele sisteme de operare, se presupune că prioritatea unui flux este mai mare, cu atât este mai mare valoarea aritmetică, în altele este invers.
Prioritatea procesului este atribuită OS atunci când este generată. Valoarea priorității este inclusă în descriptorul procesului și este utilizată atunci când se atribuie prioritate descendenților săi.
17) Care sunt prioritățile dinamice ale firelor diferite de cele statice?
Multe sisteme de operare oferă posibilitatea de a schimba prioritățile în timpul vieții firelor. Aceasta se poate întâmpla la inițiativa firului însuși, atunci când se ocupă de un apel corespunzător în sistemul de operare sau la inițiativa utilizatorului. În plus, OS în sine poate schimba prioritățile firelor. Există priorități dinamice și statice. Eficiența întregului sistem informatic depinde în mod semnificativ de prioritățile fluxurilor. Prin urmare, în sistemele de operare moderne, pentru a evita dezechilibrarea sistemului de la alocarea greșită a priorităților, utilizatorii încearcă să limiteze posibilitățile.
18) Descrieți schema de asignare prioritară în Windows nt.
În mod tradițional, sistemul de operare atribuie priorități firelor implicite. De exemplu, Windows NT definește 32 de niveluri de prioritate (de la 0 la 31) și 2 clase de flux. Fire cu priorități variabile (1-15).
0 este rezervat în scopuri de sistem. Când se produce un proces, acesta, în funcție de clasă, primește prioritatea de bază a k în partea de sus sau de jos a întregului interval. În viitor, k poate fi redus sau crescut de sistem de operare. Toate firele acestui proces primesc inițial o prioritate de bază, adică modificând prioritatea de bază a procesului, puteți afecta prioritatea de bază a firelor sale. În Windows NT, în timp, prioritatea fluxului poate să devieze de la valoarea sa de bază, iar aceste modificări pot să nu fie corelate cu modificările priorității procesului de bază. Sistemul de operare crește prioritatea diferențiată, în funcție de tipul de eveniment care nu a permis fluxului să utilizeze cuantumul său.