|
Componenetele Sistemului de Operare Linux
Datorita posibilitatii de a lucra cu mai multi utilizatori deodata, sistemul de operare Linux poarta denumirea de "sistem multiuser" (FIG. 3.1).
FIG 3.1. Sesiunea de login (conectare)
Sistemul de operare Linux foloseste un sitem de procese numit multitasking pentru a aloca timpul de lucru al procesorului mai multor utilizatori in acelasi timp. In realitate nu este vorba de procese care se ruleaza in acelasi timp ci unele dupa altele la intervale de timp de ordinul milisecundelor.
Sistemul de operare aloca timpul in asa fel incat sa lase impresia de continuitate pentru fiecare utilizator. In timp ce unul dintre acestia lucreaza la terminalul sau el imparte cu ceilalti resursele de calcul.
Linux, ca oricare alt sistem de operare, este un set de programe care administreaza toate operatiile sistemului de calcul. El asigura de asemenea o interfata intre utilizator si resursele sistemului convertind cererile care vin de la mouse sau tastatura in operatii de efectuat in sistemul de calcul.
Majoritatea sistemelor de operare, inclusiv Linux, au trei mari componente: Kernel-ul, Shell-ul si Sistemul de Fisiere (FIG. 3.2). Kernel-ul administreaza operatiile computerului. Shell-ul asigura o interfata pentru interactiunea dintre utilizator si calculator iar sistemul de Fisiere asigura un mijloc de organizare si gestionare a informatiilor pe discurile hard ale calculatorului.
FIG 3.2. Componentele Sistemului de Operare
Kernel-ul sistemului de operare
Kernel-ul este inima sistemului de operare si ofera mijloacele primare necesare ca un system de calcul sa functioneze. Kernel-ul se afla cel mai aproape de CPU si hardware. Este un fisier executabil care se incarca atunci cand porneste calculatorul. Odata ce kernel-ul a fost incarcat el realizeaza urmatoarele functii:
Spatiul Swap - Este o parte rezervata de pe hard disk pentru kernel, acesta utilizand-o in timpul procesarii. Portiuni de programe care ruleaza pot fi "aruncate" hard disk-ului si apoi, la nevoie, aduse inapoi. Acest spatiu swap se afla in realitate pe hard disk, insa seamana cu o memorie aditionala sau RAM additional, uneori fiind numit memorie virtuala.
Demonii - Programe sau procese care realizeaza o sarcina particulara sau monitorizeaza discurile sau executia programelor. Demonii sunt procese speciale care pornesc dupa ce se incarca sistemul de operare. Demonii asteapta apoi sa faca ceva in sprijinul SO. Pot fi porniti sau opriti daca este necesar. Un exemplu este cel al demonului imprimantei, lpsched (line printer scheduler). Acesta se lanseaza cand sistemul porneste si apoi asteapta in fundal pana cand cineva are nevoie sa tipareasca ceva. Demonii din lumea Linuxului sunt similari cu Serviciile din Windows NT/2000 sau cu NetWare Loadable Modules (NLMs) din Novell NetWare.
Sistemele de fisiere - Reprezinta o ierarhie de directoare, subdirectoare si fisiere care organizeaza si administreaza informatia pe hard disk-uri. Sistemele de fisiere pot fi locale sau pe alta masina (de obicei server).
Shell-ul
Un shell este o interfata intre utilizator si kernel. Actioneaza ca un interpretor sau ca un translator. Cu alte cuvinte, shell-ul accepta comenzi scrise de utilizator, le interpreteaza, si apoi executa programele corespunzatoare. Shell-urile pot fi linie de comanda sau grafice. Pentru a verifica ce shell utilizezi la un moment dat se poate folosi comanda ps (process status) (FIG. 3.3).
Shell-ul citeste si interpreteaza cererile introduse de utilizator. Apoi comunica instructiuni kernel-ului care duce la indeplinire cererile formulate de utilizator. Shell-ul este deci legatura directa, interfata directa a utilizatorului cu sistemul de operare. De obicei, cele mai multe cereri sunt pentru a rula programe.
FIG 3.3. Shell-ul
Componentele sistemului de operare Linux pot fi vazute la lucru prima data in sesiunea de logare (conectare). Programul de login citeste si verifica parolele. Daca parola este corecta utilizatorul identificat prin username (nume de utilizator) este admis in sistem (FIG. 3.4).
FIG 3.4. Sesiunea de login (conectare)
Sarcina programului de login este aceea de a verifica parola introdusa de utilizator.
Pentru a realiza aceasta sarcina programul comanda kernel-ului sa aduca de pe disk fisierul de parole si sa-l puna in memorie pentru a putea fi citit. Dupa aceasta operatie are loc validarea parolei. In urma validarii utilizatorul este primit (logged) in sistem si are la dispozitie shell-ul ca interfata cu utilitatile oferite de SO si resursele sistemului.
Prompt-ul $ care apare pe ecran arata faptul ca shell-ul este gata sa accepte comenzi.
Shell-ul se comporta ca un interpretor de comenzi, interpretand comenzi simple pentru a executa procese complexe. De exemplu, pentru a vizualiza continutul disponibil al directorului proiectului Calder se tasteaza comanda ls calder (FIG. 3.5).
FIG 3.5. Listarea continutului unui director
Orice utilizator primeste un shell dupa executarea cu succes a procesului de login. Fiecare shell comunica cu kernelul si se comporta ca un interpret intre utilizator si kernel.
Comenzile utilizatorului sunt receptionate de catre shell. Aceste le traduce si comunica comenzile kernelului care, la randul sau proceseaza cererea si indeplineste sarcinile.
Sistemul de Fisiere
Sistemul de fisiere asigura o modalitate de a separa si de a organiza informatia pe un hard disk. Structura de fisiere a sistemului Linux este o ierarhie de directoare, subdirectoare si fisiere care sunt grupate in functie de anumite scopuri. Sistemul de fisiere este integrat cu Kernel-ul in scopul asigurarii unei structuri organizatorice pentru software-ul si pentru datele utilizatorilor. Structura de fisiere subdivide hard disk-urile, facandu-le mai usor de administrat si usurandu-ne localizarea fisierelor. Hard disk-urile pot fi divizate in sisteme de fisiere, directoare, subdirectoare si fisiere. Sistemul de fisiere organizeaza datele intr-un mod similar unui dulap. Sistemul de fisiere este dulapul, directoarele sunt asemenea sertarelor, subdirectoarele asemenea dosarelor isr fisierele pot fi asemanate u foile prinse in dosar.
Un fisier este o colectie de informatii (date, o aplicatie, sau documente). In Linux un fisier poate cuprinde orice. Cand se creeaza un fisier, Linux-ul ii atribuie acestuia un numar de identificare intern unic. Acest numar de index este utilizat pentru a putea localiza fisierul pe hard disk.
Deci, un sistem de fisiere este un ansamblu de fisiere si directoare. Sistemele de fisiere sunt dependente de dimensiunea si structura discului, precum si de structura interna a Linuxului. Intr-un sistem multiuser (multi utilizator), poate exista la un moment dat un numar mare de fisiere stocate. Din aceasta cauza, utilizatorii au nevoie de un sistem care sa le permita identificarea rapida si simpla a fisierelor.
De obicei, directoarele si fisierele utilizatorilor se afla stocate pe un alt sistem de fisiere decat cel pe care se afla directoarele si fisierele sistemului de operare. Daca exista un numar mare de utilizatori atunci fisierele utilizatorilor se pot intinde pe mai mult de un sistem de fisiere.
Sistemul de fisiere se refera la modul in care Linuxul implementeaza fisierele si directoarele. In Linux, un sistem de fisiere are urmatoarele caracteristici:
structura ierarhica
fisierele sunt expandabile (la nevoie pot sa-si mareasca dimensiunea)
fisierele sunt tratate ca fluxuri de bytes
fisierele si directoarele au asociate drepturi de securitate
fisierele pot fi utilizate in comun de mai multi utilizatori
dispozitivele hardware sunt tratate ca si fisiere
Sistemul de operare Linux permite utilizatorilor sa grupeze fisierele intre ele in interiorul directoarelor, iar directoarele sa le grupeze la randul lor in alte directoare pentru o mai buna organizare.
Rezultatul este cunoscut ca fiind un Sistem ierarhic de fisiere (arborescent).
O ierarhie de directoare seamana cu un copac intors cu radacina in sus. Iata o ierehie a sistemului de fisirere Linux :
FIG 3.6. O structura arborescenta de fisiere