Datorita posibilitatii de a lucra cu mai multi utilizatori deodata, sistemul
de operare Linux poarta denumirea de “sistem multiuser” (FIG. 3.1).
k9o17oc
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:
· Gestioneaza dispozitivele, memoria, si procesele.
· Controleaza interactiunea (transmisia informatiei) dintre programele
aplicatie (utilitati) si hardware-ul sistemului.
· Administreaza functii precum: spatiul Swap, Demoni, si Sistemele de
Fisiere.
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
· Sistem de fisiere -; Un grup de directoare ca poate fi imaginat
ca o structura arborescenta separata. Un hard disk poate fi impartit in mai
multe sisteme de fisiere separate similare partitiilor logice din sistemele
Windows/DOS (asemenea drive C: sau D: ) sau similare volumelor din sistemele
Novell NetWare. Sistemele de fisiere pot fi montate sau demontate in functie
de necesitatile administratorului. Fiecare sistem de fisiere are propria sa
structura de directoare iar in plus poate fi local (pe calculatorul in cauza)
sau pe alt calculator.
· Director -; Un loc pentru alte subdirectoare si/sau fisiere. Un
director este asemenea unui sertar dintr-un dulap de acte. Cel mai de sus director
din structura este directorul radacina, reprezentat print-un singur slash (/).
· Subdirector -; Orice director aflat sub alt director. De exemplu,
unele dintre directoarele de sub directorul radacina (root) sunt /usr, /etc
si /kernel.
· Fisiere -; Fisierele sunt continute in directoare si subdirectoare.
Ele reprezinta cel mai jos nivel al sistemului de fisiere. Exista de obicei
mii de fisiere pe hard disk, de diferite tipuri: o ASCII - (American Standard Code for Information Interchange) aceste fisiere
sunt fisiere text simple. o Fisiere aplicatie -; Aceste fisiere sunt create de o aplicatie cum ar
fi un Procesor de text un program de baze de date sau un program de calcul tabelar.
o Programe executabile -; Acestea sunt comenzi Linux sau diferite programe
de aplicatii.