Sunteți pe pagina 1din 7

Notiuni de sisteme de operare si retele de calculatoare (Linux)

L. Miclea all right reserved Vers. 2.0 I.2.1



2. Structura
sistemelor de operare



2 I.2
Cuprins:
- Componente sistem
- Servicii oferite de SO
- Apeluri sistem
- Programe sistem
- Structura sistem
- Masini virtuale
- Proiectarea si implementarea sistem
- Generarea sistem
Componentele de baza ale sistemului
- Gestiunea proceselor
- Gestiunea memoriei interne
- Gestiunea memoriei externe
- Gestiunea sistemului de I/E
- Gestiunea fisierelor
- Sistemul de protectie
- Functii de retea
- Interpretorul de comenzi



3 I.2
Gestiunea proceselor
Un proces este un program n executie. Pentru a-si
ndeplinii sarcinile, un proces necesita anumite resurse,
incluznd timpul UCP, memorie, fisiere si dispozitive de I/E.
Pentru gestionarea proceselor, SO este responsabil cu
urmatoarele activitati:
creare si stergere proces.
suspendare si reactivare proces.
furnizarea de mecanisme pentru:
- sincronizare procese
- comunicare ntre procese



Notiuni de sisteme de operare si retele de calculatoare (Linux)
L. Miclea all right reserved Vers. 2.0 I.2.2

4 I.2
Gestiunea memoriei interne
Memoria este un tablou foarte mare de cuvinte sau octeti,
fiecare cu propria sa adresa. Ea este un depozit de date usor
accesibile, partajate de UCP si dispozitivele de I/E.
Memoria interna este un dispozitiv de pastrare a datelor
volatil. Ea si pierde continutul la oprirea alimentarii sau la
defect.
Pentru gestionarea memoriei, SO trebuie sa execute
urmatoarele activitati:
- sa urmareasca care parte a memoriei este utilizata la
momentul curent si de catre cine;
- sa decida care procese vor fi ncarcate cnd spatiul de
memorie devine disponibil.
- sa aloce si sa dealoce spatiu de memorie cnd este necesar.



5 I.2
Gestiunea memoriei externe
Deoarece memoria interna este volatila si prea mica pentru
a pastra toate datele si programele permanent, sistemul de
calcul trebuie sa poata salva continutul acesteia.
Cele mai multe sisteme de calcul utilizeaza ca mediu de
memorare on-line att pentru date ct si pentru programe discul
magnetic.
Pentru gestiunea discului magnetic, SO trebuie sa execute
urmatoarele activitati:
gestiunea spatiului liber
alocarea de spatiu de memorare
planificarea discului
Gestiunea sistemului de I /E
Sistemul de I/E consta din:
Memoria tampon (cache)
- O interfata generica pentru drivere de dispozitiv
- Drivere pentru dispozitive hardware specifice



6 I.2
Gestiunea fisierelor
Un fisier este o colectie de informatii nrudite definite de
creatorul sau.
n mod uzual fisierele reprezinta programe (att sursa ct si
obiect) si date.
Pentru gestiunea fisierelor, SO trebuie sa execute urmatoarele
activitati:
Creare si stergere fisier.
Creare si stergere director.
Suport pentru primitive de manipulare fisiere si directoare.
Pastrarea fisierelor n memoria externa.
Sistemul de protectie
Protectia se refera la un mecanism de control a accesului
programelor, proceselor sau utilizatorilor la resursele sistem si
utilizator.
Mecanismul de protectie trebuie sa:
distinga ntre utilizarea autorizata si neautorizata.
specifice controalele ce se impun.
furnizeze un mijloc de fortare.



Notiuni de sisteme de operare si retele de calculatoare (Linux)
L. Miclea all right reserved Vers. 2.0 I.2.3

7 I.2
Lucrul n retea (Sisteme distribuite)
Un sistem distribuit este o colectie de procesoare care nu
partajeaza memoria sau un clock. Fiecare procesor are propria sa
memorie.
Procesoarele sunt conectate n sistem printr-o retea de
comunicatie.
Un sistem distribuit permite accesul utilizatorului la diferite
resurse ale sistemului.
Accesul la resursele partajate permite:
- Calcul cu viteza crescuta
- Cresterea disponibilitatii datelor
- mbunatatirea fiabilitatii



8 I.2
Interpretorul de comenzi
Multe comenzi sunt date de SO prin propozitii de control care se
ocupa cu:
creare si gestiune proces
tratare I/E
gestiune memorie externa
gestiune memorie principala
acces la sistemul de fisiere
protectie
lucrul n retea
Programul care citeste si interpreteaza propozitiile de control
este numit diferit:
- interpretor al cartelelor de control
- interpretor linie de comanda
- shell (n Unix)
Functiile sale sunt sa primeasca si sa execute urmatoarea
propozitie de comanda.



9 I.2
Servicii oferite de SO:
- executie program - capabilitatea sistemului de a ncarca un
program n memorie si de a-l executa.
- operatii de I /E - deoarece programele utilizator nu pot executa
direct operatii de I/E, SO trebuie sa furnizeze anumite metode de
lucru cu I/E.
- manipulare sistem de fisiere- capabilitatea programului de
citire, scriere si stergere fisiere
- comunicatii - schimbul de informatii ntre procesele ce se
executa fie pe acelasi calculator fie pe sisteme diferite conectate
ntr-o retea. Implementate prin partajarea memoriei sau
schimburi de mesaje.
- detectia erorilor - asigura calcul corect prin detectia erorilor n
UCP, memorie, dispozitive de I/E sau n programe utilizator.



Notiuni de sisteme de operare si retele de calculatoare (Linux)
L. Miclea all right reserved Vers. 2.0 I.2.4

10 I.2
Functii suplimentare ale SO
Functiile suplimentare ale SO nu sunt pentru a ajuta
utilizatorul ci mai degraba pentru a asigura o operare eficienta a
sistemului.
- Alocarea resurselor - aloca resurse mai multor utilizatori sau
lucrari ce se executa n acelasi timp.
- Contabilizare- pastreaza urma si nregistreza care utilizator, ce
cantitate si ce tip de resursa calculator a folosit, pentru bilant
contabil si pentru statistica
- Protectie- asigura ca ntreg accesul la resursele sistem este
controlat



11 I.2
Apeluri sistem
Apelurile sistem furnizeaza o interfata ntre un program ce se
executa si SO.
n general sunt disponibile ca instructiuni n limbaj de
asamblare.
Limbajele definite astfel nct sa nlocuiasca limbajul de
asamblare pentru programarea sistemelor, permit ca apelurile
sistem sa se faca direct (ex., C, Bliss, PL/360).
Pentru a transfera parametrii ntre un program ce se executa
si SO de folosesc trei metode:
punerea parametrilor n registre.
memorarea parametrilor ntr-o tabela din memorie, adresa
tabelei fiind pusa ca parametru ntr-un registru.
Memorarea (push) de catre program a parametrilor ntr-o stiva
si scoaterea (pop) lor din stiva de catre SO.



12 I.2
Apeluri sistem Unix
/usr/include/sys/syscall.h
#define SYS_syscall 0 #define SYS_exit 1
#define SYS_fork 2 #define SYS_read 3
#define SYS_write 4 #define SYS_open 5
#define SYS_close 6 #define SYS_wait 7
#define SYS_creat 8 #define SYS_link 9
#define SYS_unlink 10 #define SYS_exec 11
#define SYS_chdir 12 #define SYS_time 13
#define SYS_mknod 14 #define SYS_chmod 15
#define SYS_chown 16 #define SYS_brk 17
#define SYS_stat 18 #define SYS_lseek 19
#define SYS_getpid 20 #define SYS_mount 21
#define SYS_umount 22 #define SYS_setuid 23
#define SYS_getuid 24 #define SYS_stime 25
#define SYS_ptrace 26 #define SYS_alarm 27
#define SYS_fstat 28
...



Notiuni de sisteme de operare si retele de calculatoare (Linux)
L. Miclea all right reserved Vers. 2.0 I.2.5

13 I.2
Programe sistem
Programele sistem furnizeaza un cadru corespunzator pentru
dezvoltarea si executia programelor. Ele pot fi divizate n:
Manipulare fisier
Informatii de stare
Modificare fisier
Suport pentru limbaje de programare
Incarcare si executie program
Communicatii
Programe de aplicatie
Viziunea celor mai multi utilizatori ai SO este la nivel de
programe sistem, nu la nivel de apeluri sistem.



14 I.2
Structura sistem Conceptie simpla
MS-DOS a fost scris astfel nct sa ofere ct mai multa
functionalitate n ct mai putin spatiu
nedivizat n module
desi MS-DOS are o anumita structura, interfata sa si nivelele de
functionalitate nu sunt bine separate
UNI X limitat de functionalitatea hardware, SO UNIX original
avut o structurare limitata. SO UNIX consta din doua parti
separabile:
Programele sistem
Nucleul (kernel)
- Consta din tot ceea ce se afla sub interfata de apleluri sistem
si deasupra hardware fizic;
- Contine sistemul de fisiere, planificarea UCP, gestiunea
memoriei si celelalte functii ale SO; un numar prea mare de functii
pentru un singur nivel.



15 I.2
Structura sistem Conceptie pe nivele
SO este divizat ntr-un numar de straturi (nivele), fiecare din ele
construit deasupra nibelului anterior. Nivelul cel mai de jos (stratul
0) este hardware, iar nivelul cel mai nalt (stratul N) este interfata
utilizator .
Printr-o proiectare modular a, straturile sunt selectate astfel
nct fiecare utilizeaz a doar functiile (operatiile) si serviciile
straturilor anterioare.
Ex. SO THE pe 6 nivele (strat 5: programe utilizator; strat 4:
tampon pentru dispozitive de I/E; strat 3: driver pentru dispozitivul
consola operator; strat 2: gestiunea memoriei; strat 1: planificarea
UCP; strat 0: hardware.



Notiuni de sisteme de operare si retele de calculatoare (Linux)
L. Miclea all right reserved Vers. 2.0 I.2.6

16 I.2
Masini virtuale
O masina virtuala utilizeaza conceptia stratificata, tratnd
att hardware-ul ct si nucleul SO ca si cum ele ar fi toate
hardware. SO creaz a iluzia unor procese multiple, fiecare
executndu-se pe propriul sau procesor cu propria sa memorie
(virtuala).
Resursele calculatorului fizic sunt partajate astfel nct sa
creeze masina virtuala.
- Planificatorul UCP poate crea impresia ca fiecare utilizator are
propriul sau procesor.
- Spool-erul si sistemul de fisiere poate furniza terminale de
intrare si de iesire virtuale.
- Un terminal utilizator normal partajat n timp serveste ca si
masina consola operator.



17 I.2
Avantajele si dezavantajele masinilor virtuale
Conceptul de masina virtuala permite protectia completa a
resurselor sistem, deoarece fiecare masina virtuala este izolata de
celelalte masini virtuale. Izolarea nu permite nsa partajarea
directa a resurselor.
Conceptul de masina virtala este nsa dificil de implementat
datorita efortului cerut pentru duplicarea exacta a masinii de baza.
Obiectivele proiectarii SO
Obiective utilizator - SO trebuie sa fie usor de utilizat, usor de
nvatat, fiabil, sigur si rapid
Obiective sistem- SO trebuie sa fie usor de proiectat, implementat
si ntretinut n plus sa fie flexibil, fara erori si eficient.



18 I.2
Mecanisme si politici
Mecanismele determina cum sa faci ceva; politicile decid ce va fi
facut.
Separarea politicilor de mecanisme este un principiu foarte
important; el permite maxima flexibilitate la schimbarea
ulterioara a deciziilor politice.
I mplementarea sistemului
Scrise n mod traditional n limbaj de asamblare, SO sunt
scrise acum n limbaje de nivel nalt.
Codul scris ntr-un limbaj de nivel nalt:
- poate fi scris mai rapid;
- este mai compact;
- este mai usor de nteles si depanat.
Un SO este mai usor de portat (mutat pe alt hardware) daca
este scris ntr-un limbaj de nivel nalt.



Notiuni de sisteme de operare si retele de calculatoare (Linux)
L. Miclea all right reserved Vers. 2.0 I.2.7

19 I.2
Generare sistem (SYSGEN)
SO sunt proiectate pentru a rula pe oricare sistem dintr-o
clasa de masini; sistemul trebuie sa poata fi configurat pe fiecare
calculator n parte.
Programele SYSGEN obtin informatii referitoare la
configuratia specifica a sistemului hardware.
Boot pornirea unui calculator prin ncarcarea nucleului.
Program Bootstrap cod memorat n ROM care este capabil sa
localizeze nucleul, sa-l ncarce n memorie si sa lanseze executia
sa.

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