Cunoștințe, prelegere, procese

Operațiuni multiple

Operațiunile unice conduc la o modificare a numărului de procese. și sunt întotdeauna asociate cu alocarea sau eliberarea anumitor resurse. Operațiuni multiple. dimpotrivă, nu duc la o schimbare a numărului de procese din sistemul de operare și nu trebuie să fie asociate cu alocarea sau eliberarea resurselor.







În această secțiune, descriem pe scurt acțiunile pe care le face sistemul de operare atunci când efectuează mai multe operații asupra proceselor. Mai detaliat, aceste acțiuni vor fi discutate mai târziu în prelegerile relevante.

Rulați procesul. Din numărul de procese. fiind într-o stare de pregătire. Sistemul de operare selectează un proces pentru executarea ulterioară. Criteriile și algoritmii pentru o astfel de alegere vor fi discutate în detaliu în Lectura 3 - "Planificarea proceselor". Pentru procesul selectat, sistemul de operare asigură prezența în memoria operațională a informațiilor necesare pentru continuarea execuției acestuia. Modul în care va face acest lucru va fi descris în detaliu în Lecturile 8-10. Apoi, starea procesului este schimbată în execuție. valorile de registru pentru acest proces sunt restaurate și controlul este transferat la comanda indicată de contorul de instrucțiuni de proces. Toate datele necesare pentru restabilirea contextului. sunt extrase din procesul PCB. peste care se efectuează operația.

Blocarea procesului. Procesul este blocat atunci când nu poate continua să funcționeze fără a aștepta apariția unui eveniment în sistemul informatic. Pentru a face acest lucru, accesează sistemul de operare utilizând un apel sistem specific. Sistemul de operare procesează apelul de sistem (inițializa operația de intrare-ieșire, procesul adaugă procesele de coadă. Eliberarea Asteptand de dispozitiv sau apariția unui eveniment, și așa mai departe. D.) și, dacă este necesar, păstrând partea dorită a procesului în contextul PCB sale. traduce procesul de la starea de execuție la starea de așteptare. Această operațiune va fi examinată în detaliu în cursul 13.







Deblocarea procesului. După apariția unui eveniment în sistem, sistemul de operare trebuie să determine exact ce eveniment a avut loc. Sistemul de operare, apoi verifică dacă un anumit proces este în așteptare pentru eveniment, și dacă este găsit, se transformă într-o stare de pregătire. efectuarea acțiunilor necesare asociate cu apariția unui eveniment (operație de inițializare intrare-ieșire în așteptare pentru următoarea etapă a procesului și m. p.). Această operație. precum și operația de blocare. va fi descris în detaliu în prelegerea 13.

Comutarea în funcție de context

Până acum, am considerat operațiunile pe procese izolate, independent unul de celălalt. De fapt, funcționarea sistemului de operare multiprogramă constă în lanțuri de operațiuni. efectuate pe diferite procese. și este însoțită de comutarea procesorului de la un proces la altul.

Să considerăm un exemplu simplificat, modul în care operațiunea de deblocare proces poate avea loc în realitate. care așteaptă intrarea-ieșire (a se vedea figura 2.5). Atunci când sunt executate de un procesor al unui proces (în figură - Procesul 1) o întrerupere de la dispozitivul de intrare-ieșire, care semnalizează sfârșitul operațiilor de pe dispozitiv. Se efectuează o operație de suspendare a procesului de rulare. Apoi, sistemul de operare deblochează procesul. care a inițiat cererea I / O (în figura - procesul 2) și inițiază un proces suspendat sau nou. (în figură, a fost selectat un proces deblocat). După cum putem vedea, ca urmare a prelucrării informațiilor cu privire la încheierea operațiunilor de intrare-ieșire poate procesa schimbarea. care este în starea de execuție.


Fig. 2.5. Executați procesul pentru a debloca procesul. Utilizarea termenului "cod de utilizator" nu limitează generalitatea imaginii numai la procesele utilizatorilor

concluzie







Articole similare

Trimiteți-le prietenilor: