O cerință mai strictă pentru sistem decât o finalizare garantată a procesului este finalizarea garantată a acestuia până la ora specificată sau în intervalul de timp specificat. O strategie care ține cont de constrângerile de timp strânse este un caz particular al unei strategii în care preferința este acordată utilizatorilor privilegiați. Ce procese au limite de timp stricte? Într-un sistem cu procese lot și interactiv, puteți impune constrângeri de timp stricte pe acestea din urmă pentru a oferi timpul de răspuns necesar. În unele sisteme de control al aplicațiilor, procesul asociat cu dispozitive externe sistemului de calcul poate necesita instalarea acestuia pe procesor la o anumită frecvență sau la anumite momente în timp. Pentru programul de compilare a salariilor, o restricție temporară este cerința ca aceasta să fie executată cu una sau două zile înainte de plata banilor. Există discipline de planificare care iau în considerare constrângerile de timp strânse, dar nu există discipline care ar putea oferi mai mult timp CPU decât pot fi în principiu alocate.
Planificarea, ținând cont de constrângerile de durată, este ușor de implementat prin organizarea unei coadă de procese gata de execuție în scopul creșterii constrângerilor de timp. Principalul dezavantaj al acestei comenzi simple este că procesul poate fi întreținut mai repede de alte procese decât este necesar. De exemplu, un proces de 5 minute care trebuie finalizat în 20 de minute necesită doar un sfert din timpul procesorului disponibil în următoarele 20 de minute. Dacă prioritatea acestui proces este mai mare decât cea a altora și constrângerile sale de timp sunt cele mai mici, atunci acestea pot fi livrate procesorului și executate până la sfârșit. Acest lucru va întârzia procesele rămase, chiar și cele foarte scurte, timp de 5 minute.
Pentru a oferi timpul de răspuns necesar, puteți utiliza o abordare diferită: în loc de a efectua procesul de la un moment dat până la sfârșitul anului, așa cum a făcut în cazul precedent, procesorul să-l aloce mai multe ori pentru ceva timp. Puteți garanta serviciul în trei moduri diferite:
1. Alocați timpul minim CPU unei anumite clase de procese dacă cel puțin unul dintre procese este gata de execuție.
2. A aloca cota minimă a timpului procesorului la un anumit proces, dacă este gata de execuție.
3. Alocați un procesor mult timp unui proces, astfel încât acesta să poată efectua acțiunile necesare până la termenul limită.
În primul caz, cerințele corespund diferitelor clase de procese, exprimate în termeni de perioade diferite. De exemplu, 10% pot fi extrase din fiecare 10 msec de proces în timp real, 45% din fiecare 2s - procese interactive si 25% la fiecare 10 min - procese discontinue. Desigur, cantitatea de timp garantat de serviciu nu trebuie să depășească 100%.
În al doilea caz, puteți garanta timpul de serviciu, pe baza priorităților plătite sau din necesitatea de a rula un program demo atunci când sistemul este încărcat puternic. Cea de-a treia metodă este aplicabilă proceselor lot, cum ar fi, de exemplu, programe care emite mesaje despre starea pacienților spitalizați.
A doua metodă poate fi considerată ca un caz special al primului, a cărui clasă are un reprezentant. A treia metodă poate fi redusă la al doilea proces de alocare a unui procent de timp egal cu timpul comandat în ceea ce privește diferența dintre momentul apariției procesului în sistem și momentul la care ar trebui să fie finalizat procesul, luând în considerare procesul rămâne într-o stare blocată.