Documente Academic
Documente Profesional
Documente Cultură
Sisteme de Operare
% of world’s
population
Context - Internet 3.8 B
ARPANet
HTTP 0.9
source UCB
Context - Hardware
• In numai 50 de ani, fiecare componenta HW
este mai rapida; mai mare; mai ieftina cu
~10^9x
• Moore’s law (‘75-’12) – putere de calcul 2x
la 2 ani
Context - CPUs
• In 1960 rata No. CPU/persoana 1:10^6
• mainframes
Linux 2.2.0
Firefox
Android
Windows 7
Windows Vista
Mac OS X "Tiger"
Modern Car
• Intelegerea rolului SO
• Intelegerea evolutiei SO in paralel cu evolutia
sistemelor de calcul
• Intelegerea organizarii sistemelor de calcul.
Ce este un sistem
de operare?
Ce este un SO?
• O colectie de programe care are rol
de intermediar intre utilizator si
componentele hardware.
• Obiectivele SO:
• Executia programelor si rezolvarea
nevoilor utilizatorului
• Utilizarea facila a sistemelor de calcul
• Folosirea eficienta a componentelor
hardware
• Similar unui “Guvernator” peste
resursele hardware
Structura unui sistem de calcul -
SC
• Un Sistem de calcul se imparte in 4
componente:
• Hardware – ofera resursele de baza de calcul
• CPU, memorie, dispozitive de intrare si iesire
• Sistemul de operare
• Controleaza si coordoneaza folosirea
componentelor hardware de catre diverse aplicatii
si utilizatori
• Programe de aplicatii – definesc modul in
care resursele sistemului sunt folosite pentru
a solutiona nevoile utilizatorului
• Programe pentru procesarea textelor,
compilatoare, browser web, baze de date, jocuri
video
• Utilizatorii
• Oameni, masini, alte pc-uri
Cele patru componente ale unui sistem de calcul
Interfata masinii
Virtuale - IMV
Interfata masinii
Fizice -IMF
Rolul SO
• SO are rol de alocare resurse si control (Arbitru)
• Gestioneaza toate resursele (ex. Cicluri de processor,
memoria, etc)
• Decide intre cereri conflictuale asigurand folosirea
corecta si eficienta a resurselor
• 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 iluzionist
• Abstractizare a resurselor fizice (perceptie resurse
infinite prin virtualizare)
• SO are rol de facilitator
• Ofera componente ce imbunatatesc performanta HW &
SW (ex. API, sistem fisiere, networking, sistem de
ferestre)
Definitia unui SO
• Nu exista o definitie universala
• “Tot ce primesti atunci cand cumperi un sistem de
operare” J
• Mecanisme
• Separere zone de memorie prin adresa de inceput si
adresa de sfarsit si verificare direct in HW
• Tabele de pagini; TLBs
In concluzie
• SO ofera o abstractizare pentru a putea
gestiona in mod unitar HW divers
• SO coordoneaza resursele si protejeaza
userii unul de celalalt
• Cursul de SO prezinta:
• Conceptele de baza din SO (procese, fire de
executie, concurenta, spatiu de adresa, fisiere,
etc)
• Modul de design al sistemelor complexe (design
patterns)
Sfârşitul cursului 1
Anexa (optional)
Scurta istorie a SO
De la maiframe la sisteme web-based si mobile
1. Calculatoare mainframe
single-user
• HW scump (millions of dollars per
machine); resursa umana ieftina
• Un utilizator la consola la un moment dat
• Interactiune cu 🖥 pe masura executiei
programului
• Computerul executa o functie la un
moment dat
• Nu exista suprapunere intre calcule si I/O
• Utilizatorul trebuie sa fie la consola pentru
debug
2. Procesare batch – cartele
perforate
• Executa mai multe joburi intr-un lot
• Incarca programul
• Ruleaza programul
• Printeaza rezultatele; reseteaza starea masinii
• Repeat
• Utilizatorii submit joburi ( prin cartele
perforate; benzi magnetice)
• Operatorul sistemului planifica joburile
• Sistemul de operare incarca si ruleaza
joburile
• Rezultat: utilizare mai eficienta a masinii
3. Suprapunere I/O si Calcule
• Anterior: masina asteapta sa se finalizeze
operatia de I/O si practic pierde timp de
calcul
• Abordare noua:
• Permite CPU sa ruleze cat timp se asteapta I/O
• Se adauga mecanisme de buffering si tratare a
intreruperilor
• SO gestioneaza interactiunile
• Planifica ce job se ruleaza
• Protejeaza memoria fiecarui job
5. Anii 70 - Renasterea
• HW mai ieftin; resursa umana devine mai
scumpa
• Utilizatori multipli folosesc acelasi sistem
prin terminale diferite
• Era UNIX – scris in 2 ani de catre 3
programatori (1971)
versus
Multics – zeci de programatori; 6 ani de zile
(1969)
5. Anii 80 – Revolutia industriala
• HW ieftin; resursa umana scumpa
• Apar PCs – IBM PC 1981; Macintosh 1984
• Sisteme de operare mai simple – DOS,
MacOS
• GUI in OS
• Initial fara: multiprogramare; concurenta;
protectie memorie; memorie virtuala
• Ulterior: Networking; file-sharing; printing
Multitaskingul
• Multitasking-ul este o extensie a multiprogramarii: CPU trece de la
un task la altul atat de frecvent incat userii pot interactiona cu fiecare
task in timp ce ruleaza, creand procesare interactiva.
• Pentru utilizator Timpul de raspuns ar trebui sa fie < 1 secunda
• Fiecare user are cel putin 1 program care se executa in
memorie [proces
• Daca sunt mai multe sarcini gata sa porneasca in acelasi timp
[ este necesara planificarea CPU
6. Epoca moderna: 90 ->
• HW ieftin; cerere mare pentru putere de
calcul
• Sisteme de operare solide pentru PCs – NT,
MacOS X, Linux
• Diverse arhitecturi
• Real time
• Embeded – mici calculatoare pentru utilizare in cadrul
unor echipamente – masini, electrocasnice, etc
• Procesare paralela – mai multe procesoare intr-o masina
• Procesare distribuita – mai multe CPU intr-o retea – P2P,
Web; Google; Blockchain
• SO pentru telefoane; tablete; ceasuri; TV