Documente Academic
Documente Profesional
Documente Cultură
Sisteme de Operare
Context
• In prezent: Rata No. CPU/persoana > 1
• Automobil
• 10-100
• Telefoanele:
• min 1; uzual 2; insa avem si 8
• PC:
• 2+
Interfata masinii
Virtuale - IMV
Interfata masinii
Fizice -IMF
Rolul SO
• SO aloca resurse
• Gestioneaza toate resursele (ex. Cicluri de
processor, memoria, etc)
• Decide intre cereri conflictuale asigurand
folosirea corecta si eficienta a resurselor
• SO este un program de control
• Controleaza executia programelor pentru a
preveni erorile si utilizarea necorespunzatoare
a computerului (ex. Acces la zone de memorie
a altui program)
• SO este un facilitator
• Ofera componente ce imbunatatesc
performanta HW & SW (ex. API, sistem fisiere)
Definitia unui SO
• Nu exista o definitie universala
• Tot ce primesti atunci cand cumperi un sistem de
operare J
• 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
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
Evolutia Sistemelor de Calcul
• In 50 de ani, ~ fiecare componenta este
10^9x mai rapida; mare; ieftina
• Moore’s law – putere de calcul 2x la 2 ani
Provocari curente
• Legea lui Moore nu mai este de actualitate
• Focusul producatorilor HW se indreapta
catre:
• Multi-core
• Memorii SSD – initial cu probleme de fiabilitate
• Contrangeri legate de alimentare/caldura
• Posibile compromisuri:
• Putere de calcul vs fiabilitate
Functiile SO
Functiile SO
• Managementul proceselor si firelor de executie
(threads); concurenta proceselor/threads
• Managementul memoriei – alocare; relocare
• Managementul dispozitivelor de I/O (care de
obicei sunt incete)
• Managementul dispozitivelor de stocare
• Procesarea distribuita/ in retea
• Managementul protectiei si securitatii
Ipostaze SO
• SO ca si iluzionist:
• Face limitările hardware să dispară
• Furnizează iluzia unei maşini dedicate cu memorie şi
capacitate de procesare infinite
• SO ca si autoritate/guvernanta:
• Protejează utilizatori unul de celălalt
• Asigura alocarea eficientă şi corectă a resurselor
• SO ca si sistem complex:
• Exista nevoia unui compromis între simplitate vs
funcţionalitate vs performanţă
• SO ca si profesor de istorie:
• Învaţă din trecut
• Adaptarea sistemelor de operare la noile facilitati hardware
Organizarea şi
operarea unui
sistem de calcul
Organizarea unui sistem de
calcul
• Unul sau mai multe CPU (nuclee/cores),
controlerele de dispozitiv se conectează printr-o
magistrală partajata furnizând acces la memoria
comună
Niveluri intr-un sistem de
calcul
• Perifericele de intrare şi ieşire
si CPU pot opera concomitent
• Fiecare controler este
responsabil pentru un anumit
tip de dispozitiv
• Fiecare controler de dispozitiv
are un buffer local
• CPU mută datele
dinspre/către memoria
principală către/dinspre
bufferele locale
• Controlerele de dispozitiv
informează CPU că şi-au
terminat acţiunea generând o
întrerupere
Servicii OS vs HW
Intreruperi
Ce sunt întreruperile
• Intrerupere – semnal catre processor asociat cu un eveniment care necesita atentie
imediata. Semnalul este initiat hardware (vezi figura) sau software
• Întreruperea transferă control catre rutina serviciului de întrerupere folosind vectorul
de întrerupere ce conţine adresa tuturor rutinelor de serviciu.
• Calculatorul trebuie să salveze adresa instrucţiunii întrerupte.
• Întreruperile sunt dezactivate în timp ce o altă întrerupere este procesată, pentru a
evita pierderea unei întreruperii.
• “trap” (capcana) este o întrerupere generată de software declanşată de o eroare
(page-fault; overflow; scrie o pagina write-only) sau la cererea utilizatorului (apeluri
de sistem).
• Un sistem de operare este condus prin întreruperi
Stocarea datelor
Structura sistemului de stocare
• Memoria principală –pentru entitati pe care
CPU le poate accesa direct
• Mecanisme
• Separere zone de memorie prin adresa de inceput si
adresa de sfarsit si verificare direct in HW
• Tabele de pagini; TLBs
Timer
Timer
• Permite calculul orei
• Este contor pentru cuante de executie oferite
proceselor
• Cuantele de executie sunt de obicei de ordinul
microsec (ex: 100 µs)
Operarea SO
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
Recapitulare
Sfârşitul cursului 1