Programarea proceselor în sistemul de operare: planificator pe termen lung, mediu, scurt
Ce este programarea proceselor?
Programarea proceselor este o sarcină a sistemului de operare care programează procese în diferite stări, cum ar fi gata, așteptare și rulare.
Programarea proceselor permite sistemului de operare să aloce un interval de timp de execuție a CPU pentru fiecare proces. Un alt motiv important pentru utilizarea unui sistem de planificare a proceselor este că menține CPU-ul ocupat tot timpul. Acest lucru vă permite să obțineți timpul minim de răspuns pentru programe.
Cozile de programare a proceselor
Cozile de programare a proceselor vă ajută să mențineți o coadă distinctă pentru fiecare stare de proces și PCB. Toate procesele din aceeași stare de execuție sunt plasate în aceeași coadă. Prin urmare, ori de câte ori starea unui proces este modificată, PCB-ul său trebuie să fie deconectat de coada sa existentă, care se mută înapoi la noua coadă de stare.
Trei tipuri de cozi ale sistemului de operare sunt:
- Coada de locuri de muncă – Vă ajută să stocați toate procesele din sistem.
- Coadă gata – Acest tip de coadă vă ajută să setați fiecare proces care se află în memoria principală, care este gata și așteaptă să fie executată.
- Cozile pentru dispozitive – Este un proces care este blocat din cauza absenței unui dispozitiv I/O.
În diagrama de mai sus,
- Dreptunghiul reprezintă o coadă.
- Cercul denotă resursa
- Săgeata indică fluxul procesului.
- Fiecare proces nou a fost introdus mai întâi în coada Ready. Acesta așteaptă în coada pregătită până când este în final procesat pentru execuție. Aici, noul proces este pus în coada gata și așteptați până când este selectat pentru execuție sau este expediat.
- Unul dintre procese este alocat CPU și se execută
- Procesul ar trebui să emită o solicitare I/O
- Apoi, ar trebui să fie plasat în coada I/O.
- Procesul ar trebui să creeze un nou subproces
- Procesul ar trebui să aștepte încetarea acestuia.
- Ar trebui să se îndepărteze cu forță din CPU, ca urmare a unei întreruperi. Odată ce întreruperea este finalizată, aceasta ar trebui trimisă înapoi la coada gata.
Modelul procesului cu două stări
Modelele de proces cu două stări sunt:
- Stare de funcționare
- Stare nefuncțională
Alergare
În Operasistem de ting, ori de câte ori este construit un nou proces, acesta este introdus în sistem, care ar trebui să ruleze.
Nu alearga
Procesele care nu rulează sunt ținute într-o coadă, care așteaptă să se execute rândul lor. Fiecare intrare în coadă este un punct către un anumit proces.
Obiective de programare
Iată obiectivele importante ale programării procesului
- Maximizați numărul de utilizatori interactivi în timpi de răspuns acceptabili.
- Obțineți un echilibru între răspuns și utilizare.
- Evitați amânarea pe termen nedeterminat și aplicați prioritățile.
- De asemenea, ar trebui să facă referire la procesele care dețin resursele cheie.
Tipul de programatori de proces
Un planificator este un tip de software de sistem care vă permite să gestionați planificarea procesului.
Există în principal trei tipuri de programatori de procese:
- Programator pe termen lung
- Programator pe termen scurt
- Programator pe termen mediu
Programator pe termen lung
Programatorul pe termen lung este cunoscut și ca a programator de locuri de muncă. Acest planificator reglează programul și selectează procesul din coadă și le încarcă în memorie pentru execuție. De asemenea, reglementează gradul de multi-programare.
Cu toate acestea, obiectivul principal al acestui tip de planificator este de a oferi un mix echilibrat de joburi, cum ar fi Procesor, I/O jobs., care permite gestionarea multiprogramarii.
Programator pe termen mediu
Programarea pe termen mediu este o parte importantă a schimbarea. Vă permite să gestionați procesele în afara schimbului. În acest planificator, un proces care rulează poate deveni suspendat, ceea ce face o solicitare I/O.
Un proces care rulează poate deveni suspendat dacă face o solicitare I/O. Un proces suspendat nu poate face niciun progres către finalizare. Pentru a elimina procesul din memorie și a face spațiu pentru alte procese, procesul suspendat ar trebui mutat în stocarea secundară.
Programator pe termen scurt
Programarea pe termen scurt este cunoscută și ca programator CPU. Scopul principal al acestui planificator este de a crește performanța sistemului conform criteriilor stabilite. Acest lucru vă ajută să selectați dintr-un grup de procese care sunt gata de executare și să aloce CPU unuia dintre ele. Dispecerul oferă controlul CPU-ului procesului selectat de planificatorul pe termen scurt.
Diferența dintre programatori
Pe termen lung vs. Termen scurt vs. Termen mediu
Termen lung | Termen scurt | Termen mediu |
---|---|---|
Termenul lung este cunoscut și sub numele de planificator de locuri de muncă | Termenul scurt este cunoscut și sub numele de planificator CPU | Pe termen mediu se mai numește și programator de schimburi. |
Este fie absent, fie minim într-un sistem de partajare a timpului. | Este nesemnificativ în ordinea de partajare a timpului. | Acest planificator este un element al sistemelor de partajare a timpului. |
Viteza este mai mică în comparație cu programatorul pe termen scurt. | Viteza este cea mai rapidă în comparație cu programatorul pe termen scurt și mediu. | Oferă viteză medie. |
Vă permite să selectați procesele din încărcări și să puneți înapoi în memorie | Selectează doar procesele care se află într-o stare gata de execuție. | Vă ajută să trimiteți procesul înapoi în memorie. |
Oferă control total | Oferă mai puțin control | Reduceți nivelul de multiprogramare. |
Ce este comutarea contextului?
Este o metodă de stocare/restaurare a stării sau a unui procesor în PCB. Astfel că execuția procesului poate fi reluată din același punct la un moment ulterior. Metoda de schimbare a contextului este importantă pentru sistemul de operare multitasking.
Rezumat
- Programarea proceselor este o sarcină a sistemului de operare care programează procesele diferitelor stări, cum ar fi gata, așteptare și rulare.
- Modelele de proces cu două stări sunt 1) În curs de funcționare și ) Nu rulează
- Programarea proceselor maximizează numărul de utilizatori interactivi, în timpi acceptabili de răspuns.
- Un planificator este un tip de software de sistem care vă permite să gestionați planificarea procesului.
- Trei tipuri de planificator sunt 1) Pe termen lung 2) Pe termen scurt 3) Pe termen mediu
- Planificatorul pe termen lung reglează programul și selectează procesul din coadă și le încarcă în memorie pentru execuție.
- Programatorul pe termen mediu vă permite să gestionați procesele în afara proceselor schimbate.
- Scopul principal al planificatorului pe termen scurt este de a crește performanța sistemului conform criteriilor stabilite
- Termenul lung este cunoscut și ca planificator de locuri de muncă, în timp ce termenul scurt este cunoscut și ca programator CPU, iar pe termen mediu se mai numește și programator de schimburi.