Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Notiunea de proces. Incarcarea sistemului de operare
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
t9i4it
Exercitiu: Incercati sa va amintiti, fara sa apelati la caiet, definitia procesului.
Sistemul de operare Unix are drept concept fundamental conceptul de proces. Procesul poate fi definit, in prima instanta, ca fiind un program in executie (daca stiti ce este acela un proces, sunati la 8989899 si spuneti ce este un proces !). Procesul este o entitate dinamica, in timp ce programul este o entitate statica. Pentru un program executabil dat pot exista mai multe procese asociate, numite instante . Caracteristica cea mai importanta a unui proces este identificatorul procesului (PID). Acesta este un numar natural nenul prin care se identifica in mod unic procesele, mai precis locul unde sunt memorate caracteristicile procesului din tabela proceselor. Procesele sunt de doua tipuri: procese utilizator si procese nucleu.
Incarcarea sistemului de operare Unix se face astfel:
· Se initializeaza structurile de date proprii (ale nucleului);
· Se monteaza sistemul de fisiere
· Se creaza procesul 0, numit swapper, care este planificatorul de procese El face parte din nucleu si este considerat proces sistem.
· Se creaza procesul 1, numit init , care este parintele tuturor proceselor aparute ulterior in sistem;
· Se executa procesul init care initializeaza structurile proprii de date, apoi citeste fisierul /etc/inittab pentru a decide asupra proceselor ce vor fi create si fisierul /etc/rc pentru a lansa procesele sistem care ruleaza in memorie pe durata intregii functionari a sistemului, numite procese background sau demoni . Procesul init citeste fisierul /etc/ttys pentru a determina numarul terminalelor din sistem si creaza cate un proces fiu pentru fiecare terminal. Dupa aceea, procesul init trece in starea blocat pana la terminarea unuia dintre procesele fiu. Fiecare proces fiu asociat unui terminal executa programul login care solicita introducerea numelui si parolei utilizatorului. Datele introduse sunt verificate prin compararea cu datele din fisierul /etc/passwd. Daca utilizatorul are acces la sistem, atunci acest proces fiu lanseaza interpretorul de comenzi ales de utilizator. In caz contrar, programul login solicita reintroducerea numelui si parolei.



Observatie: Procesul 0 se numeste sheduler pentru sistemele cu paginare si swapper pentru sistemele cu evacuare.
3.2 Caracteristicile unui proces
Dupa cum aminteam ceva mai inainte, un proces utilizator poate sa se execute in mod utilizator si in modul nucleu . In modul utilizator procesele nu au acces decit la propria zona de cod, date si stiva utilizator. In modul nucleu un proces contine instructiuni privilegiate si poate avea acces la structurile de date ale nucleului. Nucleul, in termeni de procese, nu este un proces separat ci devine parte integranta a procesului utilizator. Spatiul virtual de adrese al unui proces este cuprins intre 0 si adresa virtuala maxima accesibila procesului si are trei segmente: segmentul de cod, segmentul de date si segmentul de stiva.
Procesele iau nastere, sunt executate si dispar prin folosirea unor apeluri sistem (functii sistem). Orice proces Unix, cu exceptia procesului 0, este creat prin apelul functiei sistem fork. Procesul nou creat se numeste proces fiu, iar procesul care a apelat functia fork se numeste proces parinte. Initial, imaginile celor doua procese in memorie sunt identice, apoi ele pot avea propria imagine in memorie. Procesul fiu poate executa acelasi cod sau altul. Fisierele deschise de procesul parinte inainte de apelul fork vor fi partajate intre parinte si fiu. Pentru executarea codului se foloseste functia exec. Mecanismul executarii unei comenzi shell este urmatorul:
· Shell-ul citeste linia de comanda si desparte comanda de argumentele sale;
· Se apeleaza functia fork in urma careia vor aparea cele doua procese:parintele (procesul care executa codul shell-ului) si fiul (procesul ce va executa comanda respectiva);
· Procesul parinte printr-un apel al functiei wait cedeaza procesorul fiului si intra in starea de asteptare;
· Procesul fiu lanseaza un apel exec prin care executa un nou program (comanda data). Nucleul incarca in zona de memorie a shell-ului noul program, iar procesul este continuat cu acest program, caruia ii sunt transmise argumentele;
· La incheierea executiei programului se apeleaza functia sistem exit, care determina terminarea procesului fiu si reda controlul procesului parinte (acesta iese din starea de asteptare); Dupa terminarea sa, procesul fiu intra in starea zombie: desi s-a terminat, numai procesul parinte poate elimina procesul fiu din tabela proceselor.
Operatiile cele mai importante, realizate de nucleu prin apelul functiei fork sunt:
· Aloca o noua intrare in tabela proceselor;
· Asociaza un descriptor unic procesului fiu;
· Realizeaza o copie logica a imaginii memoriei parintelui;
· Comunica parintelui descriptorul de proces al fiului;
· Trece procesul fiu in starea intrerupt (in memorie sau evacuat pe disc);
In Unix exista mecanisme prin care se realizeaza sincronizarea proceselor, folosindu-se mai multe tipuri de semnale ce pot fi schimbate intre procese. Nu este cazul sa detaliem acest aspect (poate anul viitor cand veti putea programa in limbajul C), dar voi aminti doar functia kill care trimite semnale de terminare catre procese (mai multe amanunte in capitolul urmator).

Daca ati citit cu destula atentie lectiile de pana acum veti putea sa raspundeti corect intrebarilor cuprinse in Testul nr. 1

1. Cum se numeste procesul folosit la conectarea in sistem ? login passwd init
2. Cum se numeste procesul parinte al tuturor proceselor din sistem ? swapper init demon
3. Cum se numesc procesele care se activeaza la aparitia unui eveniment ? demoni procese fii procese zombie
4. Un proces ia nastere prin apelul functiei sistem...
WAIT
EXEC
FORK
5. Un proces fiu nu are acces la fisierele deschise de parinte nici un fisier din sistem fisierele deschise de ceilalti fii ai procesului parinte
6. Procesul ruleaza in mod nucleu atunci cand... realizeaza un apel de sistem sau apare o intrerupere de ceas se afla evacuat pe disc se afla in starea READY PREEMPTAT
7. Procesul care si-a incheiat executia dar apare in tabela proceselor este proces ORFAN proces ZOMBIE proces SISTEM
8. Ce semnifica prescurtarea PID ? identificatorul procesului nu are semnificatie identificatorul parintelui unui proces

Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta