Documente Academic
Documente Profesional
Documente Cultură
Structuri SO
Sisteme de Operare
Cursul 1: Recapitulare
Ipostaze SO
•SO ca si “magician”:
• Face ca aparent limitarile hardware sa dispara
• Creaza iluzia de masina dedicata cu memorie infinita si procesoare
infinite
•SO ca si “guvernator”:
• Protejeaza utilizatorii unul de celalalt
• Aloca resursele eficient si corect
•SO ca si “sistem complex”:
• Exista o tensiune permanenta intre simplitate pe de o parte si
functionalitate si performanta pe de alta parte
•SO ca si “profesor de istorie”
• Invata din trecut
• Se adapteaza in functie de noile specificatii hardware
Cursul 1: Recapitulare
Servicii OS vs HW
Cursul 2: Structurile
sistemelor de operare
• Structurile ale Sistemelor de Operare
• Serviciile SO
• Interfata utilizatorului
• Apeluri de sistem
• Proiectarea si implementarea SO
• Modele de lucru
• Masini virtuale
Obiective
• Descrierea serviciilor pe care un sistem de
operare le ofera userilor, proceselor si altor
sisteme.
• Prezentarea multitudinii de metode de
structurare al unui sistem de operare
Serviciile SO
Serviciile SO
• Servicii care ofera functii pentru Utilizatori:
• Interfata utilizator– Aproape toate Sistemele de Operare
au o interfata utilizator (UI-User Interface)
• Variaza intre interfata in linie de comanda (CLI),
interfata grafica (GUI- Graphics User Interface) sau
Batch (seturi de comenzi prestabilite)
• Executarea programelor – Sistemul trebuie sa fie capabil
sa incarce un program in memorie, sa il ruleze si sa incheie
executia, fie normal sau cu exceptii (indicand astfel eroare)
• Operatii de I/E - Un program care ruleaza poate sa
necesite operatii de I/E care pot sa implice un fisier sau un
dispozitive de I/E
• Gestiune sistemului de fisiere – Programele au nevoie
sa citeasca si sa scrie fisiere si directoare, sa le creeze si
sa le stearga, sa le caute, sa listeze informatii in legatura
cu acele fisiere, sa poate efectua managementul
permisiunilor.
Serviciile sistemelor de operare(Cont)
• Servicii care ofera functii pentru Utilizatori:
• Comunicarea – Procesele pot schimba informatii, pe
acelasi computer sau intre mai multe computere
conectate la o retea
• Detectia erorilor – SO trebuie sa fie atent tot timpul la
eventualele erori.
• Pot sa apara la nivelul CPU sau memoriei, la
dispozitivele de I/E, in programele utilizatorului.
• Pentru fiecare tip de eroare, SO ar trebui sa aplice
actiunile corespunzatoare pentru a asigura o
functionalitate continua si corecta
• Facilitățile de depanare pot spori foarte mult
abilitățile utilizatorului și programatorului de a
utiliza în mod eficient sistemul
Serviciile sistemelor de operare(Cont):
Politica: Ce se va face ?
Mecanisme: Cum se va face?
• Cu ajutorul mecanismelor se determina cum
se va face, iar cu ajutorul politicilor se
determina ce se va face.
• Separarea principiului politicilor de cel al
macanismelor este un principiu foarte important
care permite un maxim de flexibilitate daca deciziile
legate de politici se schimba pe parcurs.
Designul si implementarea SO
Modele de implementare
- Structura monolitica
- Structura stratificata
- Microkernel
- Structura modulara
- Structura hibrid
Structura basic
Mac OSX
Windows
Modele de design
Structura monolitica
• MS-DOS – creat
pentru a permite un
maxim de
functionalitate intr-un
spatiu relativ
constrans (memorie)
• Nu este divizat in
module
• Desi MS-DOS are o
structura pe 4 straturi,
interfetele cat si
nivelele de
functionalitate nu sunt
delimitate foarte bine
Structura stratificata
• Sistemul de operare
este divizat in mai
multe straturi
(niveluri/layers),
fiecare construit peste
un strat inferior. Stratul
de baza(stratul 0) este
hardware-ul. Stratul
superior(stratul N)
este interfata utilizator.
• Straturile sunt
construite de asa
natura incat fiecare
strat in parte
foloseste functiile si
serviciile stratelor
imediat inferioare.
Structura stratificata - UNIX
UNIX – initial limitat de functionalitatea hardware, este
alcatuit din 2 parti separabile.
• Programe de Sistem
– shells, compilatoare,
interpretoare etc
• Kernelul
• Contine tot ce se afla
sub interfata pentru
apelurile de sistem si
peste hardware-ul
propriu-zis
• Ofera sistemul de
fisiere, planificarea
CPU, managementul
memoriei si alte
functii ale sistemului
de operare:
• Are foarte multe
functii pentru un
singur nivel
Structura Microkernel
• Emularea
software a unei
masini abstracte
• Face sa para ca
hardware-ul are
caracteristicile pe
care le doresti
• Permite portarea
programelor de
pe un hardware &
SO pe alt
hardware &SO
• Trateaza
hardware-ul si
kernelul SO-ului
ca si cum ar fi o
entitate hardware
unitara
Masini virtuale
• Emularea software a unei masini abstracte
• Face sa para ca hardware-ul are caracteristicile pe care le doresti
• Portarea programelor de pe un hardware & SO pe alt hardware/SO
• Programare simplificata
• Fiecare proces considera ca are la dispozitie toate resursele de
memorie si procesare, precum si toate dispozitivele
• Ofera o interfata unitara catre o multitudine de dispozitive diferite
• Interfetele de device ofera mult mai multa putere fata de hardware-
ul in sine
• De la display Bitmapped Þ la sistemul de ferestre - windowing system
• De la Ethernet card Þ la protocoale de retea (TCP/IP)
• Izolarea erorilor
• Procesele nu vor afecta direct alte procese
• Bug-urile nu vor destabiliza intreaga masina
• Protectie si portabilitate
• Ex: interfata Java este sigura si stabila pe diferite platforme (UNIX<
Windows, etc)
Masini Virtuale (Cont.)