Procesul este văzută de către sistemul de operare ca o cerere pentru consumul tuturor tipurilor de resurse, cu excepția unuia - timpul CPU. Această ultimă resursă majoră a sistemului de operare este distribuit între celelalte unități de muncă - fluxul, care obține numele lor, deoarece acestea sunt secvențe (fire de execuție) comenzi.
Deși la prima vedere, se pare că noțiunea de program și procesul este aproape la fel, ele sunt în mod fundamental diferite unele de altele. Programul este un set static de instrucțiuni, iar procesul este un set de resurse și a datelor utilizate în timpul execuției programului.
8. Descrie procesul ciclului de viata. Ce cerințe sunt de obicei prezentate la algoritmii de planificare a proceselor?
Ciclul de viață al procesului prezentat în Fig. 2-1. Procesul poate crea un nou proces, care este un proces sursă de copiere folosind furca de apel de sistem. Întoarcerea apelului furcă are loc de două ori: o dată în procesul părinte, în cadrul căreia valoarea returnată este un identificator generat de proces, și a doua oară în procesul de copil, în cadrul căreia valoarea returnată este 0. Procesul părinte-copil generează o structură ierarhică în sistem. Noul proces are acces la toate resursele de mamă, cum ar fi descriptorii de fișier, starea de procesare a semnalului și alocarea de memorie.
Deși există situații în care procesul ar trebui să fie o copie a societății-mamă, cea mai comună și util pas este să descărcați și să execute alte programe. Procesul poate însuși cu amintirea unui alt program, care trece nou creat set de parametri de imagine, folosind execve de apel de sistem. Un parametru este numele fișierului, conținutul care are un format care este recunoscut de sistem - acesta este un fișier executabil binar sau un fișier care declanșează un program de interpret specificat pentru a procesa conținutul său.
Procesul poate înceta prin executarea unui sistem de ieșire apel, trimiterea valoare de stare de finalizare pe 8 biți a societății-mamă. Dacă un proces dorește să trimită informații la procesul părinte, care depășește un octet, acesta trebuie să fie stabilit un canal de comunicare interprocese folosind conducte sau prize, sau de a folosi un fișier intermediar.
Procesul poate suspenda de executare până la până la finalizarea oricare din procesele sale de copil, cu ajutorul sistemului de apel de așteptare, care returnează o stare de finalizare și procesul copil PID configurat. Procesul părinte poate fi configurat pentru a primi semnalul atunci când procesul copil iese sau se termină anormal. Cu ajutorul wait4 părinte apel sistem poate obține informații despre evenimentul care a dus la încetarea procesului copilului și resursele consumate de procesul în timpul funcționării sale. În cazul în care procesul este orfană din cauza acestui proces, societatea mamă iese înainte de sfârșitul descendent, kernel-ul redirecționează starea de finalizare generat de un sistem de inițializare special de proces.
criterii și cerințe pentru algoritmi de planificare
Pentru fiecare nivel al proceselor de planificare poate oferi o mulțime de diferite algoritmi. Alegerea unui anumit algoritm este determinat de clasa de probleme care pot fi rezolvate printr-un sistem informatic, precum și obiectivele pe care dorim să realizeze prin utilizarea planului. Printre aceste obiective sunt următoarele:
Corectitudinea - pentru a se asigura fiecărei sarcini sau a procesa o parte din utilizarea procesorului de timp pe un sistem informatic, având grijă să se evite o situație în care un proces de utilizator are în mod constant procesorul, în timp ce un alt proces utilizator de fapt, începe să se execute.
Eficiență - pentru a încerca să ia procesorul la 100% din timp, nu permițându-i să stea în anticiparea proceselor gata de execuție. În sistemele actuale de calculatoare de încărcare a procesorului variază de 40-90%.
Acronim timp complet de execuție (timpul de răspuns) - un timp minim între începutul procesului sau a unui loc de muncă în coada de așteptare pentru încărcare și se termină-l.
Timp redus (timpul de așteptare) de așteptare - pentru a reduce timpul pe care procesul se desfășoară într-o stare de pregătire și de sarcini la coada de descărcare.
Reducerea timpului de răspuns (timpul de răspuns) - pentru a minimiza timpul necesar pentru a procesa sistemele interactive de răspuns la o solicitare de utilizator.
Indiferent de obiectivele de planificare stabilit, de asemenea, de dorit ca algoritmul are următoarele proprietăți:
Era previzibil. Aceeași sarcină trebuie efectuată în aproximativ același timp. Aplicarea unui algoritm de planificare nu ar trebui să conducă, de exemplu, pentru a extrage rădăcina pătrată din 4 sutimi de o secundă la pornire și pentru câteva zile - a doua cursă.
Acestea au fost asociate cu costuri suplimentare minime. În cazul în care pentru fiecare 100 de milisecunde, alocate pentru utilizarea procesorului de proces, se va ține cont de 200 de milisecunde pentru a determina care procesul va primi un procesor la dispoziția sa, și de comutare context, un astfel de algoritm, în mod evident, nu ar trebui să fie utilizate.
încărcat Uniform resurse ale sistemului de calcul. dând preferință acelor procese care vor ocupa resurse insuficient utilizate.
Cu scalabilitate. t. e. nu pierde imediat eficiența în cazul în care sarcina crește. De exemplu, creșterea numărului de procese într-un sistem de două ori, nu trebuie să conducă la o creștere a timpului total de ordinea execuției procesului de magnitudine.
Multe dintre obiectivele și proprietățile enumerate mai sus sunt contradictorii. Îmbunătățirea algoritmului în ceea ce privește un singur criteriu, ne-am pierdut o mare parte din termenii săi de alta. Adaptarea algoritmului pentru o clasă de probleme, discriminare, astfel, sarcina unei alte clase.
9. Lista algoritmilor de bază ale proceselor de planificare. Algoritmul „Carousel“ (Round Robin) și descrie-l. Dă un exemplu simplu. În unele sisteme, acesta poate fi aplicat în practică?
Există un set mare de diferite algoritmi de planificare, care sunt proiectate pentru scopuri diferite și sunt eficiente pentru diferite clase de probleme. Multe dintre ele pot fi folosite la mai multe niveluri de planificare.
· Primul venit, primul servit (FCFS) FCFS pe primele litere ale numelui său engleză - primul venit, primul servit (primul venit, primul servit).
· Round Robin (RR) este o modificare a algoritmului algoritmului FCFS, numit Round Robin (Robin Round - este un fel de carusel pentru copii în SUA) sau prescurtat RR.
· Cel mai scurt-Job-Primul (SJF) Acest algoritm este numit "cel mai scurt primul loc de muncă" sau Shortest Job Primul (SJF).
· Coadă multinivel (multinivel Coadă)
· Coadă multinivel cu feedback (Feedback multinivel Coadă)
Robin Round (RR).
Modificarea algoritmului FCFS este un algoritm, numit Round Robin (Robin Round - este un fel de carusel pentru copii în SUA) sau prescurtat RR. De fapt, este același algoritm este implementat numai în modul de deplasare de planificare. Se poate imagina întregul set de procese gata organizate ciclic - procese stau pe carusel. Carusel este rotită astfel încât fiecare proces este de aproximativ fix mică felie timp CPU, de obicei 10 - 100 ms (vezi figura 3.4 ..). În timp ce procesul este aproape de procesor, acesta devine CPU la dispoziția sa și poate fi executată.
Am implementat acest algoritm în același mod ca și cel precedent, cu ajutorul proceselor organizației, într-o stare de pregătire în coadă FIFO. Programatorul alege următoarea executare a procesului situat la începutul cozii, și stabilește un cronometru pentru a genera o întrerupere, după o felie de timp dat. În desfășurarea procesului sunt două opțiuni posibile:
· Timp CPU continuu necesar pentru procesul (restul de spargere CPU curent) este mai mică sau egală cu durata feliei de timp. Apoi, procesul în mod voluntar procesorul renunță la felia de timp pentru executarea noului proces este selectat din coada și cronometrul începe să numere cuantice din nou.
· Durata rămasă a CPU curent de spargere a procesului de mai mult decât cuantumul timpului. Apoi, la sfârșitul acestui proces cuantic este întreruptă, iar timer-ul este plasat în coada de procese gata de execuție, iar procesorul este alocat utilizarea procesului este în începutul său.
10. Lista algoritmilor de bază ale proceselor de planificare. Identificarea și descrierea algoritmului „Queue“ (FIFO). Dă un exemplu simplu. În unele sisteme, acesta poate fi aplicat în practică?
Există un set mare de diferite algoritmi de planificare, care sunt proiectate pentru scopuri diferite și sunt eficiente pentru diferite clase de probleme. Multe dintre ele pot fi folosite la mai multe niveluri de planificare.
· Primul venit, primul servit (FCFS) FCFS pe primele litere ale numelui său engleză - primul venit, primul servit (primul venit, primul servit).
· Round Robin (RR) este o modificare a algoritmului algoritmului FCFS, numit Round Robin (Robin Round - este un fel de carusel pentru copii în SUA) sau prescurtat RR.
· Cel mai scurt-Job-Primul (SJF) Acest algoritm este numit "cel mai scurt primul loc de muncă" sau Shortest Job Primul (SJF).
· Coadă multinivel (multinivel Coadă)
· Coadă multinivel cu feedback (Feedback multinivel Coadă)