Documente Academic
Documente Profesional
Documente Cultură
Sisteme de Operare
Cursul 1: Recapitulare
• SO are rol de alocare resurse/arbitru
• Gestioneaza toate resursele (ex. Cicluri de processor,
memoria, etc)
• Decide intre cereri conflictuale asigurand folosirea corecta si
eficienta a resurselor
• SO are rol de control/arbitru
• Controleaza executia programelor pentru a preveni erorile si
utilizarea necorespunzatoare a computerului (ex. Acces la
zone de memorie a altui program)
• SO are rol de facilitator
• Ofera componente ce imbunatatesc performanta HW & SW
(ex. API, sistem fisiere)
• SO are rol de iluzionist
• Ascunde limitarile HW
Cursul 1: Recapitulare
Servicii OS vs HW
Cursul 2: Structuri ale SO
• Structurile ale SO
• Serviciile SO
• Interfata utilizatorului
• Apeluri de sistem
• Proiectarea si implementarea SO
• Masini virtuale
Obiective
• Cunosterea serviciilor pe care un sistem de
operare le ofera userilor, proceselor si altor
sisteme.
• Intelegerea unor modele de structura pentru
SO
Servicii SO
Servicii SO
Servicii pentru utilizatori
Interfata utilizator– Aproape toate SO au o interfata utilizator (UI-User
Interface)
• Poate fi interfata in linie de comanda (CLI), interfata grafica (GUI-
Graphics User Interface) sau Batch (seturi de comenzi prestabilite)
Servicii SO
Servicii pentru utilizatori
Executia 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)
Servicii SO
Executia programelor
0xFFF…
Executable
Program Source OS
compiler
int main()
Execute
editor
Load &
{…; data stack
Memory
}
instructions heap
a.out data
foo.c
• Incarca instructiunile si segmentul de instructions
date in memorie 0x000…
• Creeaza stiva si Heap-ul PC:
• Emularea software a
unei masini fizice
• Permite ajustarea
configuratiei
hardware
• 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
• Permit ajustarea configuratiei hardware
• 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
• 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.)
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.
Modele de lucru
Modelul traditional
• Mediu de la birou
• Initial: PC-uri conectate la o retea, terminalele sunt
atasate la un mainframe sau un mini-computer ce
confera multi-tasking si batch (seturi de comenzi pre-
stabilite)
• Acum: exista portaluri care ofera acces la sistem prin
retea sau la distanta (remote) pentru aceleasi resurse
• Retele private (de acasa)
• Initial: Obisnuiau sa fie un singur sistem, apoi au
aparut modem-urile iar calculatoarele au inceput sa
acceseze resurse externe
• Acum: sunt conectate la retea si acceseaza resurse
si servicii din exterior
Model Client-Server
! Terminale neperformante inlocuite ulterior de PC-uri
inteligente care folosesc serviciile unui Server din retea
! Tipuri de servere:
4 Compute-server (server de calcul) ofera o interfata
clientului prin care acesta poate lansa o cerere de servicii(
ex: server baze de date)
4 File-server (server de fisiere) ofera o interfata clientilor
prin care acestia pot sa stocheze si sa recupereze fisiere
Modelul Peer-to-Peer
• Este un alt model de sistem distribuit
• P2P nu face deosebirea intre clienti
si servere
• In schimb toate nodurile sunt
considerate peers (computere ce se
conecteaza la aceasta retea)
• Fiecare peer poate fi client sau server,
sau ambele
• Un nod trebuie sa se alature retelei P2P:
• Isi inregistreaza serviciile la un serviciu
central de căutare (lookup service) din retea,
sau,
• Transmite cereri de serviciu si raspunde la
cererile pentru servicii printr-un protocolul de
lucru (discovery service)
• Exemple: BitTorrent, Bitcoin
De la Web la Cloud Computing
• Web-ul a devenit
omniprezent
• PC-urile si telefoanele
mobile sunt cele mai
raspandite device-uri
• Din ce in ce mai multe
dispozitive sunt legate
la retea pentru a avea
access de tip
web/cloud