Sunteți pe pagina 1din 7

Sistemul de operare Linux Pag.

Structura sistemului de operare Linux

Sistemul de operare Linux cuprinde în principal 3 componente majore:


a) Nucleul (Kernel)
b) Sistemul de fisiere
c) Shell-ul

a) Nucleul este partea centrală a sistemului de operare, care asigură servicii către
programele de aplicaţii pentru realizarea gestiunii proceselor, a memoriei, a intrărilor, a
ieşirilor şi a timpului.
În accepţiunea Unix, prin proces se inţelege un program în stare de execuţie, conţinând
imaginea fişierului executabil în memorie (zonele de text, date şi stivă) precum şi resursele
utilizate în momentul execuţiei (registre, fişiere deschise, etc.).
Funcţiile nucleului sunt:
1. gestiunea proceselor, efectuând controlul execuţiei acestora prin implementarea unor
comenzi de creare, terminare, suspendare şi comunicaţie între procese şi planificarea
pentru executie a proceselor conform unei politici de tip partajat.
2. gestionarea fişierelor prin alocarea sau eliberarea memoriei externe pentru stocarea şi
regăsirea eficientă a informaţiei
3. gestionarea dispozitivelor periferice
4. gestionarea memoriei prin alocarea şi eliberarea memoriei principale pentru procesele
aflate în execuţie.
Nucleul este alcătuit din următoarele componente:
1. interfaţa cu procesele utilizator - care se realizează exclusiv prin intermediul
apelurilor de sistem;
2. subsistemul de control al operaţiilor de intrare ieşire - care controlează modul de
lucru cu dispozitivele periferice, alocă spaţiu pentru fişiere, gestionează spaţiul liber
din memoria externă, etc.
3. subsistemul de control al proceselor - care realizează planificarea, sincronizarea şi
comunicarea între procese, precum şi gestionarea memoriei;
4. interfaţa cu hardware-ul realizează tratarea întreruperilor şi comunicarea directă cu
componentele fizice ale sistemului electronic de calcul.
b) Sistemul de fişiere cuprinde ansamblul fişierelor memorate sub formă de comenzi,
programe traducătoare, programe utilitare, sisteme pentru lucrul cu colecţii dedate, programe
aplicative, precum şi fişiere de date asociate organizate într-o structură standard de directoare
şi subdirectoare. În capitolul 2 se poate urmări schema standard a structurii de directoare a
sistemului de operare Linux.
c) Shell-ul reprezintă interpretorul de comenzi al sistemului de operare care are rolul de a
interpreta comenzile date de utilizator, realizând o interfaţă între acesta şi sistemul de operare
şi de asemenea oferă facilităţi de programare într-un limbaj propriu având caracteristicile
asemănătoare cu ale limbajelor de nivel înalt, permiţând scrierea şi utilizarea de programe.

Drd. Inginer Popa Ioan Serban – Lect. Univ. Dr. Gavrilă Alexandru
Sistemul de operare Linux Pag. 2

Sistemul de fişiere. Specificatorul de fişier.

În acceptiunea Linux, un fişier reprezintă o succesiune de octeţi iar fişierele sunt


organizate într-o structură de arbore formată din directoare şi subdirectoare. Putem distinge
următoarele 4 tipuri de fişiere:
a) fişiere obişnuite;
b) fişiere director;
c) fişiere speciale;
d) fişiere tip conductă (pipe).

a) Fişierele obisnuite sunt o inşiruire de octeţi, fără o organizare logică specială. Ele
pot conţine un program sursă (text), un program în cod executabil (binar), precum şi datele
necesare execuţiei programelor. Acest tip de fişier permite memorarea pe termen lung a
datelor. Numele unui fişier poate fi de maxim 14 caractere şi nu pot exista în acelaşi director
fişiere cu acelaşi nume. Structura logica a informaţiei din fişiere se realizează în exclusivitate
prin programele de aplicaţie.
b) Fişierele director reprezintă un fişier de tip catalog ce conţine o listă de fişiere.
Directorul este organizat sub forma unei tabele în care este memorată câte o intrare pentru
fiecare fişier din acel director. O intrare de acest fel stochează identificatorul intern numit
„information node”, sau i-node, care este un număr (2 octeţi) şi numele fişierului (14 octeţi).
Fişierele director conţin fişierul cu numele (.) care identifică i-node-ul propriu al directorului
curent şi fişierul cu numele (..) ce identifică inode-ul directorului părinte în care acesta apare
ca subdirector.
Un fişier este specificat prin „numele de cale” urmat de numele fişierului respectiv.
„Numele de cale” reprezintă o succesiune de nume de directoare care începe de la directorul
rădăcină (/) şi sunt separate între ele de semnul (/), ca de ex.:
/dir1/dir2/…/dirn/fişier, sau /home/student/program2
Pot exista fişiere cu acelasi nume dar în directoare diferite, iar fişierele din directorul
curent sunt accesibile în mod direct prin simpla referire a numelui lor.
Pentru specificarea fişierelor există doua posibilităţi:
a) specificarea absolută – prin care se pleacă de la indicarea căii de access la un
fişier începând chiar de la rădăcină şi indicând apoi nivelurile arborelui până la fişierul
desemnat;
b) specificarea relativă – prin care se pleacă de la indicarea căii de acces la un fişier
începând cu directorul curent şi apoi nivelurile următoare ale arborelui până la fişierul
desemnat.
La specificarea numelui unui fişier se pot utiliza unele caractere speciale: ?, *, şi [],
cu următoarele semnificaţii:
? are sensul de orice caracter de pe poziţia respectivă în numele unui fişier;
* semnifică orice şir de caractere începând cu poziţia în care apare acesta;
[lista de caractere] indică un caracter, oricare din cele menţionate între parantezele
drepte.
c) Fişierele speciale se utilizează pentru tratarea unui dispozitiv periferic ca fiind un
fişier. În acest mod fiecare dispozitiv fizic de intrare sau de ieşire este identificat cu un fişier
special, din punctul de vedere al utilizatorului neexistând nici o diferenţă între lucrul cu un

Drd. Inginer Popa Ioan Serban – Lect. Univ. Dr. Gavrilă Alexandru
Sistemul de operare Linux Pag. 3

fişier oboşnuit şi un fişier special, acestora din urmă putându-se aplica aceleaşi comenzi ca şi
unui fişier obişnuit.
Fişierele speciale se află grupate in directorul /dev. Câteva exemple de fişiere
speciale sunt:
/dev/lp – fisierul special pentru imprimanta
/dev/hda2 – fisierul special asociat celei de a doua partiţii de pe prima unitate de
HardDisk, etc.
d) Fişierele tip conductă (pipe) sunt nişte fişiere tranzitorii, din care datele sunt
citite în ordinea strictă a scrierii lor, respectându-se regula de sincronizare FIFO (primul
venit-primul plecat). Un astfel de fişier conectează ieşirea standard a unui program (sau
comandă) cu intrarea standard a unui program sau comandă, realizând transferul datelor mai
rapid prin intermediul unei memorii tampon.

Sistemul de protecţie a fişierelor şi drepturile de access

Sistemul de operare Linux dispune de drepturi de access al fişierelor după cum


urmează:
a) Pentru fişiere:
- drept de citire(r) permite afişarea conţinutului
- drept de scriere (w) permite modificarea conţinutului (sau stergerea) acestuia
- drept de execuţie(x) permite rularea acestuia.
b) Pentru directoare:
- drept de citire(r) permite utilizatorului să deschidă şi să citească conţinutul
directorului
- drept de scriere (w) permite crearea sau stergerea de fişiere director
- drept de execuţie(x) permite ca sistemul să caute in director pe baza specificării unei
căi de acces.
Se pot distinge 3 categorii de utilizatori:
- proprietar (u)
- grup (g)
- ceilalti utilizatori (o).
Fiecare fişier are un proprietar, care de obicei este persoana care l-a creat. Mai multi
utilizatori, care fac parte de obicei din acelaşi compartiment de lucru, formează un grup.
Sistemul de proteţie a accesului la un fişier se bazează pe confruntarea drepturilor
utilizatorului (r,w,x) cu drepturile categoriei din care acesta face parte (grupului). Pentru
precizarea acestor drepturi sunt necesare 9 caractere (3 drepturi de acces * 3 categorii de
utilizatori). Pentru vizualizarera drepturilor, se foloseste comanda ls, asemănătoare comenzii
dir din MS-DOS (vezi figura:)

După cum se observă in listingul de mai sus, drepturile sunt înşirate la începutul
rândului, după un caracter ce indică tipul fişierului respectiv (- = normal, d = director, s =
fişier special).

Drd. Inginer Popa Ioan Serban – Lect. Univ. Dr. Gavrilă Alexandru
Sistemul de operare Linux Pag. 4

Prezentarea comenzilor Linux

Linux dispune de o gamă variată de comenzi cu ajutorul cărora se execută diferite


operaţii. Fiecare comandă este un nume de program ce va fi executat ca răspuns la
introducerea ei.
În funcţie de tipul utilizatorilor care le folosesc, putem distinge două tipuri de
comenzi:
- comenzi privilegiate, care pot fi executate doar de către SuperUser
(administratorul de system)
- comenzi neprivilegiate, ce pot fi executate de către utilizatorii obişnuiţi. Acestea
pot fi, la rândul lor, grupate în mai multe tipuri:
o comenzi pentru lucrul cu directoare;
o comenzi pentru gestionarea fişierelor;
o comenzi pentru utilizarea imprimantelor şi terminalelor
o comenzi pentru gestionarea proceselor;
o comenzi informaţionale;
o alte comenzi.

Sintaxa generală a unei comenzi este următoarea:


Nume_comandă [opţiuni] <fişier> ...
Opţiunile se trec după caracterul (-), si pot fi grupate mai multe. În general, pe un
rând se scrie o singură comandă, dar este posibil să se scrie şi pe mai multe linii folosind ca
semn de continuare caracterul (\).
Întreruperea execuţiei unei comenzi se poate face în orice moment cu ajutorul
combinaţiei de taste CTRL+<C>.
Suspendarea temporară a unei comenzi poate fi realizată cu ajutorul combinaţiei de
taste CTRL+<Z>, iar reluarea execuţiei ei se poate face prin tastarea comenzii “fg”.
Comanda „jobs” ne va afişa o listă cu toate comenzile suspendate.
Sistemul de operare Linux, la fel ca toate celelalte sisteme Unix, ţine cont de modul
de scriere a comenzilor, adică dacă acestea sunt scrise cu literă mare sau cu literă mică. De
exemplu, comanda ls nu este tot una cu comanda LS şi cu totul altceva decât Ls.
Aflaţi pentru prima oară în faţa Linuxului, este util să folosim comanda help, care ne
va prezenta câteva informaţii despre versiunea interpretorului de comenzi disponibil şi câteva
comenzi elementare. Pentru a afla mai multe detalii despre o anumită comandă, putem
interoga shell-ul folosind următoarea comandă:
help <nume_comandă>
In cazul în care informaţiile afişate pe monitor depăşesc spaţiul disponibil, acestea
vor defila în sus, pierzând astfel posibilitatea de a le putea citi. Dacă se doreşte afişarea
acestor informaţii în mod paginat, se poate folosi redirectarea către comanda more, sau către
comanda less.
help | more sau help | less
Cea de-a doua este mai indicată, deoarece ne putem deplasa cu uşurinţă în susul sau
în josul ecranului. Pentru a ieşi din ecranul informativ, se tastează „q”.

Drd. Inginer Popa Ioan Serban – Lect. Univ. Dr. Gavrilă Alexandru
Sistemul de operare Linux Pag. 5

O altă modalitate de a afla mai multe detalii despre o anumită comandă este să
apelăm la manualul (destul de complex) existent in majoritatea distribuţiilor de Linux. Pentru
a-l folosi, se tastează:
man <nume_comandă>
În cazul în care nu cunoaştem numele exact al comenzii şi vrem să aflăm toate
comenzile disponibile în funcţie de un anumit cuvânt cheie, putem da comanda:
man –k <cuvânt_cheie>
Si, în sfârşit, o ultimă modalitate de a afla numele unei comenzi (atunci cand îi
cunoaştem măcar începutul ei) este scrierea a câteva caractere de la inceputul comenzii şi
apoi apăsarea tastei <TAB> (o dată sau de două ori, depinde dacă sunt mai multe alternative
la începutul de comandă tastat). Aceasta este de altfel şi o modalitate mai rapidă de a scrie
comenzi în mediul Linux.

1. Comenzi pentru lucrul cu directoare

Numele
Explicaţie Exemplu
comenzii
PWD Tipăreşte numele directorului curent împreună cu pwd
calea de acces până la acesta
CD Schimbă directorul curent cu unul nou ce va deveni cd <nume director>
director curent după execuţia comenzii. cd ..
Fără argumente, ne duce în directorul propriu cd
LS Listează conţinutul unuia sau mai multor ls
directoare, afişînd şi o lista cu informaţii diverse ls –als
despre acestea. ls /home/student/
MKDIR Creează un folder mkdir dir1
RMDIR Sterge directorul specificat rmdir /home/dir1

2. Comenzi pentru lucrul cu fişiere

Numele
Explicaţie Exemplu
comenzii
CAT Concatenează şi afişează fişiere text cat <fisier>
cat fis1 fis2 > fis3
cat > fis4
cat >> fis3
PR Pregăteste fişierele pentru a fi tipărite. pr [optiuni] <fisier>
LP Tipăreşte fişierele respective la imprimantă lp fis1.txt
WC Numără caractere, cuvinte şi linii în fişiere text wc –l /etc/passwd
DIFF Afişează diferenţa între 2 fişiere text. diff fis1.txt fis2.txt
GREP Filtrează liniile unui fisier (buffer) căutând şiruri grep –c personal.txt
de caractere grep –v pers personal.txt

Drd. Inginer Popa Ioan Serban – Lect. Univ. Dr. Gavrilă Alexandru
Sistemul de operare Linux Pag. 6

TAIL Afişează implicit ultimele 10 rânduri ale unui tail -15 personal.txt
fişier (buffer)
HEAD Afişeaza implicit primele 10 linii dintr-un fişier head +15 personal.txt
MORE Vizualizează în mod paginat conţinutul unor more personal.txt
fişiere
PG Asemănător cu more, dar permite deplasarea pg personal.txt
înainte şi înapoi prin textul afişat
FILE Afişează informaţii despre un anumit fişier file /home/galex
FIND Caută fişiere, directoare după condiţii
LOCATE Similar find, însă foloseşte o minibază de date locate mysql
CP Copiază un anumit fişier cp fis1 fis2
MV Mută, redenumeste fisiere, directoare mv fis1 fis2
RM Sterge fişiere rm fis?
LN Creează legaturi între fişiere, directoare ln -s <target> <nume_nou>
CHOWN Schimbă proprietarul unui fisier chown galex private
CHGROUP Schimbă grupul unui fisier chgroup galex private
CHMOD Schimbă drepturile unui fisier chmod o+w personal.txt

3. Comenzi pentru gestionarea proceselor

Numele
Explicaţie Exemplu
comenzii
PS Afişează starea proceselor din sistem ps aux | more
NICE Lansează un proces cu o prioritate schimbată
KILL Intrerupe execuţia proceselor kill -9 <PID>
SLEEP Suspendă temporar execuţia unui proces sleep 30 <PID>
DATE Afişează data si ora sistemului date
TIME Afişează informatii despre timpul de execuţie al time locate mysql
unui proces

4. Comenzi informaţionale

Numele
Explicaţie Exemplu
comenzii
MAN Afişează manualul comenzii specificate man chmod
CAL Afişează calendarul pentru o anumită luna cal 01 2002
WHO Afişează informaţii despre utilizatori Who
W Afişează informaţii despre utilizatori W
FINGER Afişează informaţii despre utilizatori finger @snr.ro
MAIL Permite receptionarea si trimiterea de posta mail
electronica mail bill@whitehouse.org
WRITE Permite tiparirea unui mesaj direct pe terminalul write student “hai acasa”
altui utilizator

Drd. Inginer Popa Ioan Serban – Lect. Univ. Dr. Gavrilă Alexandru
Sistemul de operare Linux Pag. 7

5. Comenzi privilegiate

Numele
Explicaţie Exemplu
comenzii
SHUTDOWN Termină toate procesele şi închide calculatorul shutdown –r
REBOOT Restartează calculatorul
WALL Trimite un mesaj tuturor utilizatorilor conectati
DF Afiseaza informatii cu privire la discul hard Df
DU Afiseaza informatii cu privire la discul hard
MOUNT Permite montarea unui sistem de fisiere mount /dev/hdc1 /cdrom
UMOUNT Permite demontarea unui sistem de fişiere umount /dev/hdc1
ADDUSER Adaugă un utilizator adduser stud2
USERDEL Sterge un utilizator userdel stud1
TOP Afisează o lista permanent actualizată asupra Top
activităţii sistemului

Drd. Inginer Popa Ioan Serban – Lect. Univ. Dr. Gavrilă Alexandru

S-ar putea să vă placă și