Ce este programarea proceselor?
Programarea proceselor este o sarcină a sistemului de operare care planifică procesele din diferite stări, cum ar fi gata, în așteptare și rulare.
Programarea proceselor permite sistemului de operare să aloce un interval de timp de execuție a procesorului pentru fiecare proces. Un alt motiv important pentru utilizarea unui sistem de planificare a procesului este că menține CPU ocupat tot timpul. Acest lucru vă permite să obțineți timpul minim de răspuns pentru programe.
În acest tutorial de planificare a procesului, veți afla:
- Ce este programarea proceselor?
- Cozi de programare a proceselor
- Model de proces cu două stări
- Obiective de programare
- Tipul programatorilor de proces
- Programator pe termen lung
- Programator pe termen mediu
- Programator pe termen scurt
- Diferența dintre programatori
- Ce este comutatorul contextual?
Cozi 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 cu 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 deconectat de la coada sa existentă, care se mută înapoi la coada de stare nouă.
Trei tipuri de cozi ale sistemului de operare sunt:
- Coada de lucru - Vă ajută să stocați toate procesele în 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ă se execute.
- Cozi de dispozitiv - Este un proces blocat din cauza absenței unui dispozitiv I / O.
În Diagrama prezentată mai sus,
- Dreptunghiul reprezintă o coadă.
- Cerc denotă resursa
- Săgeata indică fluxul procesului.
- Fiecare proces nou introdus mai întâi în coada Ready. Așteptă în coada Ready până când este procesat în cele din urmă pentru executare. 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 procesorului și se execută
- Procesul ar trebui să emită o cerere 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 încheierea acestuia.
- Ar trebui să se îndepărteze cu forță din CPU, ca urmare a întreruperii. Odată ce întreruperea este finalizată, aceasta trebuie trimisă înapoi la coada gata.
Model de proces cu două stări
Modelele de proces în două stări sunt:
- Alergare
- Nu alearga
Alergare
În sistemul de operare, ori de câte ori este construit un nou proces, acesta este introdus în sistem, care ar trebui să ruleze.
Nu alearga
Procesul care nu rulează este păstrat într-o coadă, care așteaptă să se execute rândul lor. Fiecare intrare din coadă este un punct către un proces specific.
Obiective de programare
Aici sunt obiective importante ale planificării proceselor
- Maximizați numărul de utilizatori interactive în timpii de răspuns acceptabili.
- Obțineți un echilibru între răspuns și utilizare.
- Evitați amânarea nedeterminată și aplicați prioritățile.
- De asemenea, ar trebui să facă referire la procesele care dețin resursele cheie.
Tipul programatorilor de proces
Un planificator este un tip de software de sistem care vă permite să gestionați planificarea proceselor.
Există în principal trei tipuri de Planificatoare de Procese:
- Termen lung
- Pe termen scurt
- Termen mediu
Programator pe termen lung
Programatorul pe termen lung este, de asemenea, cunoscut sub numele de programator de locuri de muncă . Acest planificator reglează programul și selectează procesul din coadă și le încarcă în memorie pentru executare. De asemenea, reglementează gradul de multi-programare.
Cu toate acestea, obiectivul principal al acestui tip de planificator este de a oferi un amestec echilibrat de joburi, cum ar fi Procesor, I / O joburi, care permite gestionarea multiprogramării.
Programator pe termen mediu
Programarea pe termen mediu este o parte importantă a schimbului . Vă permite să gestionați procesele de ieșire schimbate. În acest planificator, un proces de rulare poate deveni suspendat, ceea ce face o cerere de I / O.
Un proces în execuție poate deveni suspendat dacă face o solicitare de 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, de asemenea, cunoscută sub numele de programator CPU . Scopul principal al acestui planificator este de a spori performanța sistemului conform criteriilor stabilite. Acest lucru vă ajută să selectați dintr-un grup de procese care sunt gata de executare și alocă CPU unuia dintre ele. Dispecerul oferă controlul procesorului procesului selectat de programatorul pe termen scurt.
Diferența dintre programatori
Vs. pe termen lung Pe termen scurt vs. Termen mediu
Termen lung | Pe termen scurt | Termen mediu |
---|---|---|
Pe termen lung este, de asemenea, cunoscut sub numele de programator de locuri de muncă | Pe termen scurt este, de asemenea, cunoscut sub numele de programator CPU | Pe termen mediu se mai numește și swapping scheduler. |
Este absent sau 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ă permit să selectați procesele din încărcări și pool-ul înapoi în memorie | Selectează doar procesele aflate într-o stare pregătită de execuție. | Vă ajută să trimiteți procesul înapoi în memorie. |
Oferă control deplin | Oferă mai puțin control | Reduceți nivelul multiprogramării. |
Ce este comutatorul contextual?
Este o metodă de stocare / restaurare a stării sau a unui CPU în PCB. Deci, execuția procesului poate fi reluată din același punct ulterior. Metoda de comutare a contextului este importantă pentru sistemul de operare multitasking.
Rezumat:
- Programarea proceselor este o sarcină a sistemului de operare care planifică procesele diferitelor stări, cum ar fi gata, așteptare și rulare.
- Modelele de proces în două stări sunt 1) În funcțiune și) Nu se execută
- Programarea proceselor maximizează numărul de utilizatori interacți, în timpii de răspuns acceptabili.
- Un planificator este un tip de software de sistem care vă permite să gestionați planificarea proceselor.
- Trei tipuri de planificator sunt 1) Pe termen lung 2) Pe termen scurt 3) Pe termen mediu
- Programatorul pe termen lung reglează programul și selectează procesul din coadă și le încarcă în memorie pentru executare.
- Planificatorul pe termen mediu vă permite să gestionați procesele de ieșire schimbate.
- Scopul principal al programatorului pe termen scurt este de a spori performanța sistemului conform criteriilor stabilite
- Termenul lung este, de asemenea, cunoscut sub numele de programator de sarcini, în timp ce pe termen scurt este, de asemenea, cunoscut sub numele de programator CPU, iar pe termen mediu este, de asemenea, numit program de schimbare.