Documente Academic
Documente Profesional
Documente Cultură
inginereti
Tema 1
Sisteme de operare
Obiectivele disciplinei
Studiul acestei discipline face ca studentii sa se familarizeze
cu notiunile, metodele si tehnicile specifice programarii
calculatorului, astfel nct acesta sa devina un instrument
curent de lucru, deosebit de util, att n abordarile practice
ale celorlalte discipline pe parcursul anilor de studiu, cat
si n activitatea ulterioara - dupa absolvirea studiilor.
Cursul urmrete introducerea noiunilor fundamentale ale
diferitelor limbaje de programare pentru implementarea
algoritmilor stiintifici si tehnici. Se urmaresc cu precadere
limbajele procedurale (imperative) cu detalieri ale
limbajului C, limbajele matriciale cu exemplificari in
MATLAB si limbajele bazate pe fluxul de date cu
exemplificari din limbajul LabVIEW.
Colocviu
Forma de verificare (Examen, Colocviu, Verificare
pe parcurs)
Modalitatea de susinere (Scris i Oral, Oral, Test
gril, etc.)
NOTAR
E
Oral
Puncte sau
procentaj
30
20
10
Lucrare de verificare
20
Teme de cas
20
10 (100%)
Octavian Purdil
Universitatea Politehnica Bucureti
Alexandru Averian
CLASIFICAREA SO
S.O. au aprut i au evoluat odat cu evoluia sistemelor de calcul.
1. Calculatoare mainframe:
calculatorul era programat direct
nu existau sisteme de operare
in memorie rula cel mult un program
odat cu apariia tranzistoarelor: apare primul limbaj de programare i primul
S.O. care utiliza conceptul de procesare pe loturi (batch-jobs) i conceptul de job.
Procesorul era slab utilizat deoarece perifericele aveau vitez foarte sczut;
apare multiprogramarea pentru a ine procesorul ocupat in mod optim. n
memorie se ncarc mai multe programe iar planificatorul alege unul din acestea.
2. Sisteme interactive (cu partajarea timpului):
permit interaciunea utilizatorului cu programele care ruleaz n memorie
apare noiunea de multitasking care reprezint o extensie a multiprogramrii i n
care comutarea ntre programe se realizeaz att de rapid nct utilizatorul are
senzaia c se execut mai multe programe simultan.
3. Sisteme Desktop
4. Sisteme de tip real
5. Sisteme ncorporate
6. Sisteme cu multiprocesor
7. Sisteme distribuite
8. Clustere
9. Reele peer-to-peer
10. Reele client server
Exokernel:
majoritatea serviciilor sunt n afara kernelului i ruleaza n user-mode;
kernelul pstreaz funciile de comunicare ntre procese i de izolare;
se mai numete kernel la purttor;
creeaz maini virtuale, crora le aloc resurse, fiecare main virtual rulnd
propriul S.O. i propriile procese;
Maina virtual:
similar cu exokernelul, cu deosebirea ca mainile virtule sunt copii ale hardului pe
care ruleaz, avnd propria copie a kernelului i ntreruperi proprii:
pot rula S.O. diferite;
Sisteme client-server ( microkernel) :
majoritatea serviciilor ruleaz in user-mode, kernelul asigurnd comunicaia i
Sincronizarea ntre procesele client i server;
exemple server: fiiere, memorie, terminale;
Sisteme distribuite:
similar cu client-server, cu deosebirea c serverul i clientul pot fi pe maini
diferite;
Exemple:
MSDOS monolitic, nestructurat
Windows XP arhitectura stratificat
BSD Unix , Solaris arhitectura modular
True 64 UNIX, QNX - mikrokernel
Linux arhitectura monolitica
Mach microkernel
Mac OS X stratificat, modular
Minix microkernel
Componentele unui SO
1. Componenta de management a memoriei:
Procesul citete instruciuni, citete si scrie date din memorie. Perifericele
controlate prin mecanismul DMA citesc si scriu date n memorie. Programele sunt
ncrcate de pe disk n memorie. Dac un program se executa, acesta citete
instruciunile si datele din memorie, accesd memoria prin adresele de memorie
reprezentate pe 16, 32 sau 64 de bii. Odat terminat un program, el este eliberat
din memorie si spaiul su este alocat altui program.
Pentru a mbuntii utilizarea CPU si pentru a mri viteza de reacie a sistemului
fa de utilizatori sistemul de operare trebuie sa in n memorie mai multe
programe n acelai timp (multiprogramare). Exist mai multe scheme de
management a memoriei, selectarea unei anumite scheme pentru un S.O.
depinznd de mai muli factori, n special de platforma hardware a sistemului
destinaie.
Sistemul de operare asigur urmtoarele operaii n ceea ce privete managementul
memoriei:
aloc si dezaloc memorie la cerere;
menine o situaie a memoriei alocate i a memoriei libere.
decide ce proces s fie ncrcat n memorie cnd aceasta devine disponibil
Componentele unui SO
2. Managementul proceselor:
Sistemul de operare este responsabil cu gestiunea proceselor. Modulul
(componenta) unui sistem de operare care gestioneaz procesele trebuie sa
asigure urmtoarele funcii:
funcii de creare a unui proces (user sau proces de sistem);
tergerea sau eliberarea unui proces din memorie;
s asigure mecanisme de sincronizare a proceselor;
s asigure mecanisme de comunicare ntre procese;
s asigure mecanisme de gestionare a interblocrilor.
creeaz i elibereaz procese;
suspend i reia executarea proceselor;
asigur mecanismele de comunicare i sincronizare ntre procese;
se ocup de evitarea interblocarilor;
Componentele unui SO
3. Planificarea procesorului:
asigur accesul proceselor la resursa procesor ntr-un mod echitabil;
utilizeaz algoritmi de planificare pentru a mpari timpul de lucru al
procesorului
ntre procesele din memorie;
4. Gestiunea fiierelor
5. Gestiunea componentelor de Intrare/Ieire:
gestioneaz perifericele;
asigur alocarea corect a acestora ctre procese;
controleaz operaiile de Intrare/Ieire.
6. Managementul dispozitivelor de stocare
Asigur:
managementul spaiului liber ;
alocarea spaiului la cerere;
planificarea i controlul accesului la discuri.
Componentele unui SO
7. Componenta de reea
8. Sistemul de protecie
9. Interfaa de programare a aplicaiilor (API):
ofer programatorului un set de funcii de nivel nalt prin care acesta poate
accesa n programare serviciile oferite de celelalte componente ale S.O.
Serviciile sunt oferite ctre utilizatorul programator:
ncrcarea i executarea programelor
operaii (servicii) de I/O.
manipularea sistemelor de fiiere (creare, tergere, scriere i citire).
comunicaii ntre procese (prin memorie partajat sau prin transfer direct de
mesaje ntre procese);
detectarea erorilor i recuperare dup eroare (eroare de CPU, de memorie, de
scriere, citire, de reea, imprimant).
Dicionar
API Interfaa de programare a aplicaiilor
Batch (limbaje batch) limbaje cu control de flux. Se mai numesc limbaje shell
Compilator un program (sau set de programe) care traduce textul scris ntr-un limbaj
de programare (limbajul surs) ntr-un alt limbaj de calculator (numit limbaj int)
CPU central processing unit, unitatea central de calcul
GUI graphical user interface, interfa grafic cu utilizatorul
I/O input/output, sisteme de intrare/ieire
Interpretor un program special care analizeaz i execut comenzile i instruciunile
dintr-un alt program, pas cu pas, una dup alta, fr o compilare anterioar
PDA personal digital assistant, palmtop computer