Descarcarea cu extensia - studopediya

Descarcarea în îndeplinirea funcției de furcă sistem

În descrierea furcii funcției de sistem, sa presupus că procesul părinte are la dispoziție memoria, care este suficientă pentru a crea un context descendent. Dacă această condiție nu este îndeplinită, nucleul procesului de descarcă de memorie fără a elibera spațiul de memorie ocupat de acesta (părinte) copie. Atunci când procedura de descărcare este finalizată, procesul de copii se află pe dispozitivul de evacuare; procesul părinte ia descendenții săi, în stare „gata pentru a rula“ și a revenit la modul de sarcină. Deoarece procesul de copil este într-un „gata pentru a rula“ program de schimb în cele din urmă îl încărcați în memorie, în cazul în care nucleul rula; descendent realiza, astfel, rolul lor în furca funcția de sistem și pentru a reveni la modul de activitate.

3. Sarcina (pompare) Proces

Zero proces (proces de localizare) este singurul proces încărcând alte procese in memorie cu dispozitive de descărcare. procesul de paginare începe să lucreze la punerea în aplicare a funcției sale numai după inițializarea sistemului. Se încarcă procesele din memorie, iar dacă el nu are suficient spațiu în memoria haldele unele dintre procesele care sunt acolo. În cazul în care procesul de swap-ul nu este de lucru (de exemplu, nu există procese care sunt în așteptare în memorie), sau el nu este în măsură să își facă treaba (nici unul dintre procese nu pot fi descărcate), procesul de swap este suspendat; de bază își reînnoiește periodic punerea sa în aplicare. Planurile de a lansa procesul de paginare nucleu în același mod ca și pentru alte procese, cu accent pe prioritate mai mare, procesul de swap se realizează numai în modul nucleu. proces swap nu se aplică funcțiile sistemului de operare și utilizează în activitatea sa numai funcția de nucleu intern; El este arhetipul tuturor proceselor de bază.

După cum sa menționat deja pe scurt, rutina de întrerupere de servicii cu privire la măsurile timer timpul petrecut în fiecare proces de memorie, sau într-o stare de descărcare. Când procesul de paginare reia procesul de descărcare în memorie, se scanează toate procesele sunt într-o stare de „disponibilitatea de a efectua, fiind descărcate“, și alege cel care se află în această stare mai mult decât ceilalți. Dacă există suficientă memorie liberă, procesul de paginare încarcă procesul selectat efectuând operații în procesul de descărcare inversă. memorie fizică alocate mai întâi, apoi citiți dispozitivul de descărcare dorit este eliberat și spațiul de proces pe dispozitiv.

În cazul în care procesul de swap se efectuează procedura de descărcare este de succes, el din nou pare un set de neîncărcat, dar gata să ruleze procese în căutarea pentru următoarea etapă a procesului, care ar trebui să se încarce în memorie, și repetă succesiunea acțiunilor indicate. În cele din urmă, oricare dintre următoarele situații:

· În dispozitivul de evacuare nu mai este un singur proces, care este gata pentru implementare. procesul de paginare suspendă funcționarea sa, atâta timp cât nici un proces de reluare în dispozitivul de descărcare sau de bază în timp ce nu ejecta proces este gata pentru executare.

· Procesul de swap a descoperit procesul, gata de a fi încărcate, dar nu suficient de memorie de sistem să-l gazdă. proces de schimb încearcă să se încarce un proces diferit și dacă reporniri de succes paginarea algoritm de căutare continuă pentru procesele care pot fi descărcate.

În cazul în care procesul de schimb trebuie să descarce procesul, acesta scanează toate procesele din memorie. procesele defuncte nu sunt potrivite pentru descărcare, deoarece acestea nu ocupă memoria fizică; De asemenea, nu poate fi descărcate procese blocate în memorie, de exemplu, operațiile pe zonele de operare. Nucleul preferă să descarce procesele suspendate, deoarece procesele gata pentru a rula, sunt mai susceptibile de a fi selectate pentru a efectua în curând. Decizia privind procesul de descărcare a kernel-ul este luată pe baza priorității sale și durata șederii sale în memorie. În cazul în care memoria nici un proces suspendat, decide care procesul este gata pentru a rula, trebuie să încărcați depinde de valoarea atribuită procesului caracteristică frumos, precum și durata șederii în procesul de memorie.

Proces, gata de a rula, trebuie să fie rezident în memorie timp de cel puțin 2 secunde înainte de ieșirea din ea, iar procesul este încărcat în memorie trebuie să fie de cel puțin 2 secunde pentru a rămâne pe dispozitivul de descărcare. În cazul în care procesul de swap nu poate găsi orice proces adecvat pentru descărcare, sau orice procedeu adecvat pentru descărcarea, sau nici unul dintre proces, înainte de descărcare de cel puțin 2 secunde în memorie, acesta a suspendat activitatea din cauza faptului că el are nevoie pentru a descărca proces în memorie, nu există nici un spațiu să-l loc. În această situație, cronometrul reia procesul de pompare în fiecare secundă. Kernel-ul se reia de asemenea, procesul de paginare în cazul în care unul dintre procesele trece în starea de pauză, deoarece acesta ar putea fi mai potrivite pentru procesul de descărcare, în comparație cu discutate anterior. Dacă procesul de swap este eliminat în memorie sau în cazul în care a fost suspendat pentru eșecul de a face acest lucru, el reia activitatea sa cu algoritmul de repornire paginare (de la început), din nou, încearcă să descarce orice procese de execuție în așteptare.

Procesul selectează procesele de paginare pentru descărcarea bazată pe durata șederii lor pe dispozitivul de descărcare. Ca un alt criteriu poate fi aplicat un proces de descărcare mai mare prioritate în comparație cu ceilalți, gata să efectueze procese, cum ar fi procesul este mai de preferat să ruleze. proces de algoritm de selecție pentru a descărca din memorie pentru a elibera volumul de spațiu necesar este, cu toate acestea, defecte mai grave.

În primul rând, procesul de paginare produce o descărcare de gestiune bazată pe prioritate, durata de timp în memorie și valoare frumos. În ciuda faptului că acesta produce un proces de descărcare de gestiune cu unicul scop - de a elibera spațiu de memorie pentru procesul de încărcat, se poate încărca și proces care nu scutește locul de dimensiunea dorită. De exemplu, în cazul în care procesul de schimb încearcă să se încarce în memorie dimensiunea proces de 1 MB, iar sistemul nu memorie liberă nu va fi suficient de aproape pentru a descărca procesul care durează doar 2 KB de memorie. În mod alternativ, grupurile de descărcare strategiei de proces poate fi oferit cu condiția ca acestea elibereze un spațiu suficient de mare pentru a găzdui procesul de încărcare. Experimentele folosind mașină PDP 11/23 arătat că o astfel de strategie poate crește capacitatea de sistem cu aproape 10 la sută în condițiile de încărcare grele (a se vedea. [Peachey 84]).

În al doilea rând, în cazul în care procesul de pompare a suspendat activitatea din cauza faptului că memoria nu este suficient spațiu pentru procesul de boot, după reluarea el alege din nou un proces pentru a încărca în memorie, în ciuda faptului că mai devreme, ei au fost făcut alegerea. Motivul acestui comportament constă în faptul că, în timp, într-o stare de pregătire pentru a efectua ar putea merge celelalte procese neîncărcate mai potrivite pentru încărcare în memorie, în comparație cu procesul selectat anterior. Cu toate acestea, din această mică consolare pentru procesul selectat anterior încă încearcă să se încarce în memorie. În al treilea rând, în cazul în care procesul de swap selectează pentru procesul de descărcare într-o stare de „disponibilitatea de a efectua,“ nu a exclus posibilitatea ca acest proces după ce a fost încărcat în memorie nu a fost lansat pentru executare.

Trebuie menționat despre un alt pericol. Dacă încercați să descărcați procesul privind descărcarea de gestiune dispozitiv nu este găsit spațiu liber în sistem poate provoca un blocaj în care: toate procesele din memoria principală sunt în măsură să suspende toate procesele executabile schimbate pentru noi procese pe descărcarea dispozitivului nu există nici un loc nu există nici un spațiu liber în memoria principală.

Interesul pentru problemele asociate cu procesul de pompare, dormit în legătură cu punerea în aplicare a algoritmilor de paginare a paginilor de memorie în ultimii ani.

13 Denning P.J. Set de lucru Modelul pentru Programul Comportament. CACM, Vol.11, No.5, 1968, pp. 323-333

articole similare