Capitolul Introducere & Instalare Capitolul structura Linux Capitolul Comenzi si Editoare



Yüklə 0,94 Mb.
səhifə14/23
tarix28.08.2018
ölçüsü0,94 Mb.
#75662
1   ...   10   11   12   13   14   15   16   17   ...   23

Atribute speciale


Sistemele de fisiere extinse precum ext3 folosesc pe langa permisiunile clasice si cateva atribute speciale pentru fisiere si directoare. 
Pentru setarea acestora se foloseste comanda chattr

chattr ATRIBUT FISIER

-i = immutable (nu poate fi sters sau modificat)
-A = nu actualizeaza atime
-R = modifica atributele speciale recursiv pentru directoare
-a = just append

Exemplu:
chattr +i a.txt
chattr -a a.txt

Pentru vizualizare atribute se foloseste comanda lsattr


-R = listeaza recursiv continutul directorului
-d = listeaza atributele directorului in loc de continutul acestuia
-a = listeaza atributele fisierelor ascunse
Exemplu: lsattr a.txt 

Capitolul 7 - procese


7.1   Concepte generale
7.2   Caracteristici procese
7.3   Categorii de procese
7.4   Comenzi vizualizare
7.5   Comunicatia dintre procese / Semnale
7.6   Job Control

Concepte generale


Una dintre sarcinile kernelului este si alocarea resurselor (RAM, CPU etc) diferitelor aplicatii.

Definitie

Un proces reprezinta unitatea elementara de alocare a resurselor in sistem si ruleaza in propriul sau spatiu de memorie.


In momentul in care se executa o comanda este creat un nou proces. Parintele acelui proces este shell-ul curent. Imaginea procesului reprezinta programul care se executa si care se incarca in memoria RAM. 

Exista diferente intre un program si un proces. Acelasi program poate genera mai multe procese diferite.
Exemplu: deschiderea simultana a editorului VI sau folosirea de mai multi useri a comenzii ls

Nota

http://www.invata-online.ro/img/course/note-symbol.gif


Procesoarele (exceptie cele dual-core sau cu mai multe nuclee) executa un singur proces la un anumit moment dat. Fiecare primeste un anumit slot de timp in care poate folosi procesorul, apoi ofera posibilitatea altui proces de a folosi CPU. Astfel este creata senzatia de executie simultana.

Important

Fiecare proces care se executa are anumite drepturi asupra sistemului si anume drepturile userului care l-a executat (user de sistem sau persoana). Un proces pornit de root are drepturile lui root (totale), iar acelasi proces pornit de un user normal are drepturile userului (limitate). Exceptie fac programele care au SUID sau GUID setat. Acestea pleaca cu drepturile ownerului sau grupului owner si nu ale celui care le executa.

Exista comenzi care sunt incluse in shell si care nu se gasesc ca programe independente (fisiere executabile)
Exemplu: cd, jobs, alias, umask, ulimit, echo etc 
Acestea nu creaza un nou proces cand se executa. 

Caracteristici procese


1. Sistemul de operare foloseste functia de sistem fork() pentru a crea noi procese. Prima etapa este crearea unui proces identic cu parintele sau (aceleasi resurse, drepturi, practic se creaza o copie identica a parintelui). Ulterior procesul nou creat "urmeaza propriul sau drum" adica modifica datele primite de la parinte pentru a executa propria sarcina. 

2. Fiecare proces are un parinte, cel care l-a creat. Exceptie face procesul init

3. Procesele sunt identificate dupa un nr. unic pentru intreg sistemul numit PID (Process ID). 

4. Parintele fiecarui proces este identificat cu un PPID (Parent Process ID). 

5. Procesul init este primul care porneste la butarea sistemului si are PID = 1. Init se mai numeste si parintele tuturor proceselor. 

6. Un proces dureaza din momentul in care este creat de parintele sau si pana cand programul executat de proces se termina iar rezultatul procesului este intors parintelui. In acest moment parintele comunica Kernelului sa elibereze resursele alocate procesului. 

Starile unui proces

Un proces se afla in urmatoarele stari de la nastere (fork()) si pana la terminarea sa.


a) created 
Reprezinta etapa in care procesul este creat si asteapta permisiunea schedulerului pentru starea ready. 
b) ready (waiting sau runnable)
Procesul a fost incarcat in memorie si asteapta executia procesorului. Exista mai multe procese care se gasesc simultan in aceasta stare. 
c) blocking (sleeping)
Procesul este blocat din cauza unei resurse inaccesibile (fisier, variabila de tip semafor, device). Este sters din lista de asteptare pentru a fi executat de procesor. Daca resursa se elibereaza procesul intra in starea "ready". 
d) running (active sau executing)
Procesul este executat de procesor in acest moment. Daca isi depaseste slice-ul (timpul) alocat pentru executie va trece din nou in starea ready. 
e) terminated 
Un proces intra in aceasta stare fie din starea running daca a terminat executia sau daca este omorat (killed) printr-un semnal. Daca nu este sters din memorie devine zombie. Daca procesul are copii, acestia sunt preluati de init. 
f) suspended and waiting
Reprezinta procesele care au fost indepartate din memoria principala si duse in memoria de tip swap. 
g) suspended and blocked
Reprezinta procesele care se gasesc in memoria de tip swap in starea de suspendare. 

Atributele unui proces

Un proces detine urmatoarele atribute: 


a) PID -> Process ID - identificatorul unic al unui proces
b) PPID -> Parent Process ID - identificatorul parintelui procesului 
c) UID -> User ID - Identificatorul userului sub care ruleaza procesul 
d) GUID -> Group ID - Identificatorul grupului sub care ruleaza procesul
e) Prioritate

Yüklə 0,94 Mb.

Dostları ilə paylaş:
1   ...   10   11   12   13   14   15   16   17   ...   23




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin