Sunteți pe pagina 1din 48

Cursul

1: Introducere
Sisteme de Operare
Context
• In prezent: Rata No. CPU/persoana > 1
• Automobil
• 10-100
• Telefoanele:
• min 1
• PC:
• 4+

• Complexitatea sistemelor de operare:


Intrebari deschise:
Avand ca reper experienta voastra de pana acuma cu
calculatoarele:
•Cand ati schimbat o componenta HW din calculator (ex.
upgrade de RAM) a fost nevoie sa actualizati programele
pe care le rulati?
•De cate ori blocarea unui program va determina blocarea
intregului sistem?
•Credeti ca un program de aplicatie (ex. un joc) pe care il
folositi are acces la tot hardware-ul?
Capitolul 1: Introducere
• Ce sunt Sistemele de Operare (SO)?
• Organizarea si arhitectura Sistemelor de Calcul
• Structura unui SO. Operatii si functii
• Managementul proceselor
• Managementul memoriei
• Managementul dispozitivelor de stocare
• Protectie si securitate
Obiective generale
• Intelegerea organizarii sistemelor de calcul.
• Intelegerea rolului sistemelor de operare
Ce sunt sistemele
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
• 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 sistemului de operare
• Politist/ Coordonator:
• Administreaza resursele
• Rezolva cereri conflictuale pentru resurse
• Previne erorile si utilizarea necorespunzatoarea a
calculatorului
• Facilitator:
• Ofera librarii standard, sisteme de ferestre
• Faciliteaza scrierea programelor mai usor, mai rapid si
cu mai putina expunere la erori
• Unele caracteristici inglobeaza ambele sarcini:
• Ex: Sistemul de fisiere este necesar tuturor
(“Facilitator”)
• Dar sistemul de fisiere trebuie protejat (“Politist”)
Rolul sistemului de operare
(Cont.)
• SO aloca resurse
• Gestioneaza toate resursele
• 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
• SO este un facilitator
• Ofera componente ce imbunatatesc
performanta HW & SW
Definirea unui SO
• Nu exista o definitie universala
• “Tot ce primesti atunci cand cumperi un
sistem de operare” ar fi o aproximare J
• “Acele programe care ruleaza tot timpul in
computer” reprezinta kernel-ul (nucleul).
Celelalte sunt fie programe de sistem (vin
la pachet cu sistemul de operare) sau
programe de aplicatii.
Scurta istorie a SO
De la maiframe la sisteme web-based
1. Calculatoare single-user
• HW- scump; resursa umana ieftina
• Un utilizator la consola la un moment dat
• Interactiune 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
• Executa mai multe joburi intr-un lot
• Incarca programul
• Ruleaza programul
• Printeaza rezultatele; reseteaza starea masinii
• Repeat
• Utilizatorii submit joburi (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
• Abordare noua:
• Permite CPU sa ruleze cat timp se asteapta I/O
• Se adauga buffering si tratarea intreruperilor

• Rezultat: utilizarea eficienta a masinii; in


continuare un singur job la un moment dat
4. Multiprogramare
• Mai multe programe ruleaza simultan
• Se ruleaza un job pana la I/O
• Se ruleaza alt job, etc

• SO gestioneaza interactiunile
• Planifica ce job se ruleaza
• Protejeaza memoria fiecarui job
5. Anii 70 - Renasterea
• HW mai ieftin; oamenii devin mai scumpi
• Utilizatori multipli folosesc acelasi sistem
prin terminale diferite
• Era UNIX
5. Anii 80 – Revolutia industriala
• HW ieftin; oamenii scumpi
• Apar PCs – IBM PC 1981; Macintosh 1984
• Sisteme de operare simple – DOS, MacOS
• GUI in OS
• 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 – NT, MacOS X,
Linux
• Diverse arhitecturi
• Real time
• Procesare paralela – mai multe procesoare intr-
o masina
• Procesare distribuita – mai multe CPU intr-o
retea – P2P, Web; Google
• SO pentru telefoane; tablete; ceasuri; TV
Evolutia SC
• 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
• Noi facilitati
• Multiple core
• memorie SSD cu probleme de fiabilitate
• Contrangeri legate de alimentare/caldura
• Posibile tradeoffs
• Putere de calcul vs fiabilitate
Organizarea şi
operarea unui
sistem de calcul
Organizarea unui sistem de
calcul
• Unul sau mai multe CPU (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
Funcţii ale întreruperilor
• Întreruperea transferă control catre rutina serviciului de întrerupere prin
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
erroare sau la cererea utilizatorului.
• Un sistem de operare este condus prin întreruperi
Stocarea datelor
Structura sistemului de stocare
• Memoria principală –pentru entitati de mari
dimensiuni pe care CPU le poate accesa direct

• Zona de stocare secundară – extensie a


memoriei principale care pune la dispoziţie o
capacitate mare de stocare, non-volatilă.
• Ex: Disc magnetic – platane rigide de metal sau
sticlă acoperite cu material de înregistrare magnetic
Ierarhia memoriei
• Atributele ierarhiei:
• Viteza
• Cost
• Volatilitate
• Capacitate-Bytes
Ierarhia memoriei
Caching
• Caching – copierea informatiilor intr-un sistem de stocare mai rapid; ex:
memoria principala poate fi vazuta ca un cache pentru sistemul de stocarea
secundar - HDD.
• Concept important, aplicat la mai multe niveluri intr-un computer (ex:
hardware, sistem de operare, software,networking)
• Sistemul de stocare rapid (cache) este primul verificat pentru a obtine
informatia.
• Daca informatia exista, informatia este utilizata direct din cache (rapid)
• Daca informatia nu exista, informatia este mai intai copiata in cache si apoi utilizata
• Zona Cache este mai mica decat zona din care se preiau datele
Performanta memoriei
Mutarea unei date A de pe HDD in Registru

• Mediile multitasking trebuie sa foloseasca cea mai recenta


valoare, indiferent unde este aceasta stocata la un moment
dat
• Mediile multiprocesor trebuie sa asigure coerenta cache
in HW astfel incat toate CPU-urile sa beneficieze de cea mai
recenta valoare in cache-ul lor
• In cazul mediului distribuit situatia devine si mai complexa
• Pot exista mai multe copii ale unor date
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.
• 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
Protectia SO
Protectia SO
• Operatiile sunt initiate prin intreruperi
• Erorile sau cererile din program crează o exceptie
sau trap
• Impartirea la 0
• Apeluri de sistem
• Modelul Dual-mode permite SO sa se protejeze;
Modul User si modul Kernel (nucleu)
• Ofera abilitatea de a distinge momentele in care sistemul
ruleaza codul user-ului sau cel al kernel-ului
• Unele instructiuni sunt privilegiate si executabile doar in
modul kernel.
• Un apel de sistem determina trecere in modul kernel,
finalizarea apelului reseteaza sistemul in modul user.
Kernel mode vs user mode
• Operatii privilegiate (kernel mode)
• Instructiuni care manipuleaza starea memoriei (tabela
de pagini; etc)
• Setare biti de mod: user mode vs. kernel mode
• Activare sau inactivare intreruperi
• Instructiuni de genul: HLT (HALT)
• etc
Tranzitia de la modul User la
modul Kernel
Timer
Timer
• Permite calculul orei
• Este contor pentru cuante de executie oferite
proceselor
• Cuantele de obicei sunt de ordinul microsec
(ex: 100 µs)
Functiile SO
Functiile SO
• Managementul proceselor si firelor de executie (threads)
• Managementul memoriei
• Managementul dispozitivelor de stocare
• Managementul dispozitivelor de I/O
• Managementul protectiei si securitatii
Recapitulare
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 o tensiune permanenta între simplitate şi
funcţionalitate vs performanţă
• SO ca si profesor de istorie:
• Învaţă din trecut
• Adaptarea sistemelor de operare la noile facilitati
hardware
Sfârşitul cursului 1

S-ar putea să vă placă și