Sie sind auf Seite 1von 43

SISTEME DE OPERARE

Curs 2: Structura SO
Kinga Mrton
Universitatea Tehnic din Cluj-Napoca
Departamentul de Calculatoare
5. 03. 2014
1
EVOLUIA SO
Prima generaie (1945 - 1955)
Tuburi cu vid i plci de conexiuni

A doua generaie (1955 - 1965)
Tranzistoare, sisteme batch
Mai multe programe pe disc

2
A treia generaie (1965 - 1980)
Circuite integrate i multiprogramare
Interaciune cu utilizatorul time sharing

A patra generaie (1980 - prezent)
Calculatorul personal orientat pe interfaa utilizator i eficien
Reele i Internetul
Sisteme paralele, portabile etc.

Tanenbaum, pg. 8
ROLUL SO

Principiul de infrumuseare
Face ca hardware-ul sa arate mai bine

SO similar cu un guvern
Face guvernul ceva util de unul singur?

Asigurarea bunei funcionri a resurselor i comunicarea/cooperarea ntre
acestea
Prevenirea interferenelor dintre diferitele aplicaii sau aplicaie i SO

Dou viziuni
De sus n jos Main extins (sau main virtual)
Furnizor (abstraii utile)
De comoditate - prin servicii
De biblioteci standard utilizarea resurselor n mod eficient
De mediu pentru dezvoltarea uoar, rapid a programelor

De jos n sus Manager de resurse
Coordonator (similar cu un poliist rutier)
Gestiunea controlat a resurselor
Rezolvarea conflictele pentru accesul la resurse (n timp i spaiu)
Prevenirea erorilor i utilizrii incorecte a sistemului
3
CE ESTE SO?
Definiie nu exist o definiie universal acceptat

Program sistem care
Gestioneaz resursele hardware
Gestiunea memoriei
Gestiunea perifericelor
Gestiunea stocrii
Gestiunea proteciei i securitii
Gestiunea ... tuturor resurselor
Ofer posibilitatea rulrii programelor utilizator
Controleaz execuia aplicaiilor
Gestiunea proceselor

Interfa ntre utilizator i hardware-ul sistemului
Responsabil pentru utilizarea corect, eficient i uoar a
sistemului

Programul care ruleaz tot timpul pe calculator este kernel-ul
n rest totul este program sistem sau program aplicaie

Tot ce include furnizorul n momentul livrrii unui SO
Exemplul Microsoft dat n judecat pentru c a inclus prea multe servicii n SO
4
SERVICII OFERITE DE SO
SO ofer un mediu pentru dezvoltarea i rularea programelor

Unele servicii ofer funcii utile utilizatorului pentru
interaciunea cu sistemul

Interfa utilizator - CLI (command line interface), GUI (graphics user interface), Batch

Executarea de programe
ncrcarea n memorie i rularea programelor

Operaii de I/E
Deservirea cererilor de acces la fiiere sau dispozitive

Gestiunea sistemului de fiiere
SF de importan major

Comunicaie
ntre procesele aceluia sistem sau ntre sisteme

Detectarea erorilor
Erori pot apare de oriunde (hw i sw)
Tratarea erorilor prin aciuni potrivite pentru a asigura funcionarea
corect i consistent

5
SERVICII OFERITE DE SO
Alte servicii care asigur operarea eficient a
sistemului prin partajarea resurselor

Alocarea resurselor
Mai multe joburi concurente-> resurse alocate corect

Evidena utilizrii resurselor
Ce resurse i ct din resurse folsete fiecare utilizator

Protecie i securitate
Protejarea accesului la informaiile utilizatorilor
Controlul accesului la resurse

Procesele concurente s nu interfereze n mod maliios
Autentificare
Multe alte servicii i mecanisme pentru securizare de mediul
exterior i interior
6
SERVICII OFERITE DE SO
7
Silberschatz, pg. 50
ORGANIZAREA SISTEMELOR DE CALCUL
Operaiile sistemului
Pornire programul bootstrap se ncarc la pornire (ROM, EEPROM)
stocat n firmware
Iniializeaz toate componentele
ncarc partea kernel i SO ncepe execuia (proces init)

Operaii
Unul sau mai multe procesoare i mai multe controlere de dispozitive
sunt legate prin magistral i concureaz pentru accesul la memoria
partajat
8
Silberschatz, pg. 8
ORGANIZAREA SISTEMELOR DE CALCUL
Operaiile sistemului
Dispozitivele I/E i procesorul pot rula concurent

Fiecare controler de dispozitiv este responsabil pt un tip specific de
dispozitiv
Fiecare controler are un buffer local

Procesorul comunic cu memoria
Prin buffere interne (regitri)

Operaia de I/E este de la dispozitiv la buffer-ul local al controler-ului

Controler-ul informeaz procesorul c a terminat operaia
Prin intermediul ntreruperilor

DMA Acces Direct la Memorie
Pentru dispozitive care pot transmite informaii la vitez comparativ cu
cea a memoriei
Transfer din bufferul local al dispozitivului direct n memorie
Fr intervenia procesorului
O singur ntrerupere / bloc de date

SO este controlat prin ntreruperi
9
MEMORIA
Ierarhia de memorie
Timpul de acces crete cu
capacitatea
Costul i frecvena de accesare
scad odat cu capacitatea

Mecanism de caching
Copierea datelor accesate ntr-
un sistem de stocare mai rapid
10
Silberschatz, pg. 11
Silberschatz, pg. 27
MEMORIA
Memoria cache
Creterea vitezei de acces la memorie
Informatia utilizat este copiat - temporar - de pe mediul de
stocare mai lent pe un mediu mai rapid
Motivaie: viteza procesorului este mai mare dect cea a
memoriei

La cererea unor date se verific mai nti cache-ul
HIT: informaia este n cache poate fi folosit direct
MISS: informaia cutat nu este n cache trebuie adus


11
Stallings, pg. 28
ARHITECTURA SISTEMELOR DE CALCUL
Sisteme monoprocesor
Sisteme care folosesc un singur procesor de uz general
Execut set de instruciuni generale
Inclusicv instruciuni ale proceselor utilizator
Pot avea i procesoare specializate (ex. GPU, microprocesorul din
tastatur, procesor specializat pe i/e, etc.)
Execut un set restrns de instruciuni
Nu execut instruciuni ale proceselor utilizator

Sisteme multiprocesor
Dou sau mai multe procesoare de uz general
Comunic i
Partajeaz memoria, magistrala i dispozitivele i/e

3 avantaje majore
Putere mare de procesare (mai multe taskuri n acelai timp)
Pre avantajos (cost multiprocesor < n* cost monoprocesor)
Fiabilitate - oprirea unui procesor nu duce la euarea sistemului

2 tipuri
Multiprocesare asimetric relaie master-slave
Multiprocesare simetric procesoare partenere
12
ARHITECTURA SISTEMELOR DE CALCUL
13
Arhitectura von Neumann
Silberschatz, pg. 13
SMA SYMMETRIC MULTIPROCESSING ARCHITECTURE
Fiecare procesor cu propriul set de regitri i cache local

Partajeaz memoria fizic

N procesoare pot rula N procese simultan
14
Silberschatz, pg. 15
SISTEME MULTI-CORE

Mai multe core-uri pe acelai cip
Pot fi mai eficiente dect mai multe procesoare individuale
Comunicare mai rapid pe acelai cip
Consum mai redus
15
Silberschatz, pg. 16
SISTEME CLUSTER
Dou sau mai multe sisteme individuale conectate
prin reea
partajeaz acelai spaiu de stocare Storage Area Network

Furnizeaz
Servicii cu fiabilitate ridicat tolerant la erori
Putere de procesare mare
Aplicaii scrise pentru a putea exploata puterea de calcul
paralelizare
Structura
Asimetric o main n modul hot-standby
Simetric mai multe noduri care execut aplicaii i se
monitorizeaz reciproc
16
SISTEME CLUSTER
17
Silberschatz, pg. 18
STRUCTURA SISTEMELOR DE OPERARE
SO furnizeaz mediul n care programele pot fi
executate

Diferitele SO difer mult n structur dar
Multe aspecte sunt totui comune pe acestea punem accentul

Multiprogramarea
Eficientizarea utilizrii resurselor
Organizarea joburilor astfel nct procesorul are tot timpul unul de
executat

Subset din toate joburile este meninut n memorie
Selectarea unui job planificare de joburi (job scheduling)
Unele jobuir stocate pe disc care ateapt alocare n memoria intern
(job pool)

Cnd se ateapt dup i/e -> procesorul comuta la alt job

Nu ofer suport pentru interaciunea cu utilizatorul

Soluia: Time sharing (partajarea timpului)
Numit i multitasking extensie logic a multiprogramrii

18
STRUCTURA SISTEMELOR DE OPERARE
Time sharing (multitasking)
Procesorul execut mai multe joburi
Comutarea ntre ele este foarte rapid
Utilizatorul poate interaciona cu fiecare job
Utilizatorul are iluzia c doar el este deservit

Timpul de rspuns s fie mic (< 1 sec)

Programul ncrcat n memorie i n execuie se numete
proces
Dac mai multe procese sunt disponibile pentru rulare
Planificarea proceselor(CPU scheduling)

Dac procesul nu ncape n memorie
Swapping procese mutate temporar din memorie pe disc i
napoi
Memoria virtual permite rularea proceselor care nu sunt
complet ncrcate n memorie
19
STRUCTURA SISTEMELOR DE OPERARE
Memoria unui sistem cu multiprogramare
20
Silberschatz, pg. 19
OPERAIILE SO
SO este controlat prin ntreruperi
Hardware semnal direct la procesor prin magistral
Software se mai numete excepie (sau trap )
Ex. cerere de serviciu de la SO, mprirea la zero, etc.

Probleme care apar cu multiprogramarea
Un job monopolizeaz procesorul prin bucl infinit
Un job modific zona de memoria a altui job sau chiar a SO

Soluie: operare dual
Mod utilizator
Mod kernel

Bit de mod indic n ce mod ruleaz sistemul
Unele operaii se pot efectua doar n mod kernel
Operaii privilegiate


21
APELURI SISTEM
Interfaa dintre SO i aplicaiile utilizator
Definit de un set de instruciuni extinse apeluri sistem
Difer de la un SO la altul
Conceptele care stau la baz sunt similare

Pentru a nelege ce fac SO trebuie s studiem apelurile
sistem
Dou modaliti
Prezentarea unor generaliti vagi
Prezentarea n cadrul unui sistem specific varianta aleas
Linux
Apeluri sistem
Mecanism prin care aplicaiile utilizator pot solicita servicii de
la SO
Sunt executate n mod kernel (privilegiat) au acces la
resurse

22
APELURI SISTEM
Tranziia din modul utilizator n modul kernel
23
Silberschatz, pg. 21
APELURI SISTEM
Exemplu:
secvena de apeluri sistem pentru copierea coninutului unui
fiier surs ntr-un fiier destinaie
24
Silberschatz, pg. 56
APELURI SISTEM
Scrise n general n C (C++)

Accesate n general prin API (Application Program Interface)
de nivel nalt

Ex. Win32 API pentru Windows
POSIX API (UNIX, Linux, Mac OS X, etc.)
Java API pentru JVM (Java Virtual Machine)

De multe ori sunt necesare mai multe informaii dect
numele apelului sistem
Tipul i numrul de informaii difer de la un SO la altul

Transmiterea parametrilor ctre SO
Transmitere prin regitri
Problema: numrul argumentelor poate fi mai mare dect numrul de
regitri disponibili

Transmitere prin tabel
Parametrii sunt pui ntr-un tabel i se transmite adresa de memorie
printr-un registru (Linux)

Prin stiv (push, pop)
25
APELURI SISTEM
Relaia: API - Apel sistem SO
26
Silberschatz, pg. 58
APELURI SISTEM
Program C care apeleaz funcia printf()
Care invoc apelul sistem write()
27
Silberschatz, pg. 62
APELURI SISTEM
Transmiterea parametrilor prin tabel
28
Silberschatz, pg. 59
APELURI SISTEM
Exemple de apeluri sistem pe Windows resp. Linux
29
Silberschatz, pg. 61
CONCEPTE SO - PROCESUL
Rolul principal al SO este rularea proceselor

Un proces este un program n execuie
Unitatea de lucru n cadrul sistemului

Program vs. Proces

Fiecare proces are novoie de resurse pt rulare
Procesor, memorie, i/e, fiiere
Date de iniializare

La terminare resursele reutilizabile trebuie eliberate
Un proces (cu un singur thread fir de execuie) are un singur
PC (Program counter)
Indic locaia urmtoarei instruciuni
Executare secvenial a instruciunilor

Sistemul are mai multe procese care ruleaz concurent pe unul
sau mai multe procesoare
Procese utilizator
Procese sistem
Concurena prin multiplexarea procesorului ntre procese / threaduri


30
CONCEPTE SO - PROCESUL
Fiecare proces are
Spaiu de adrese
Spaiu de memorie din/n care procesul poate citi/scrie
Include
Segmentul de cod instruciunile din executabilul programului
Segmentul de date datele cu care lucreaz programul
Stiva

Mediul necesar rulrii programului
Pentru nelegere mai uoar ne raportm la multiprogramare
Periodic SO decide s opreasc un proces i s-i aloce
procesorul altui proces
La suspendare trebuie salvate toate informaiile necesare
restartrii procesului (ex. fiiere deschise, pointer la
poziiile curente, etc.)

Tabela de procese tablou de structuri - cte una pentru
fiecare proces
SET DE REGITRI
PC (PROGRAM COUNTER), SP (STACK POINTER), ETC.
31
CONCEPTE SO - PROCESUL

Gestiunea proceselor
SO ofer mecanisme pentru

Crearea i terminarea unui proces
Un proces poate crea unul
sau mai multe procese
Relaie printe - fiu
Ierarhie de procese

Suspendarea i reluarea unui proces

Sinconizarea proceselor

Comunicare ntre procese

Detectarea i tratarea interblocrilor (deadlock)

32
CONCEPTE SO - MEMORIA
Toate datele n memorie
nainte de procesare
Dup procesare

Instruciunile n memorie pentru a fi executate

Gestiunea memoriei
Ce este n memorie i cnd
Scop: optimizarea utilizrii procesorului i reducerea timpului de rspuns

SO ofer mecanisme pentru
Alocarea memoriei
Alocarea sau eliminarea unui proces din mem
Alocarea datelor pentru procesare
Determinare - ce parte a memoriei este folosit i de cine
Memorie virtual

Izolarea proceselor
Prevenirea interferenei dintre procese
Protecie i controlul accesului la partajarea memoriei
33
CONCEPTE SO FIIERUL

Utilitatea dispozitivelor de stocare
date care nu ncap n memorie sau
Date care trebuie pstrate perioad mai lung de timp

Gestiunea stocrii - viteza ntregului sistem depinde de
sistemul de stocare i algoritmii folosii

SO ofer mecanisme pentru
Gestiunea spaiului liber
Alocarea spaiului de stocare
Planificarea operaiilor pe disc

Fiierul
unitatea fundamental n stocarea datelor

Sistemul de fiiere
fiiere i directoare
structura ierarhic


34
MIGRAREA UNUI NTREG
Drumul unui ntreg de pe disc i pn n regitrii

n sisteme mltitasking este important s se
asigure c se folosete valoarea actualizat
Oriunde s-ar afla n ierarhia de memorie

Sistemele multiprocesor trebuie s asigure
coeren ntre memoriile cache a fiecrui procesor

n sisteme distribuite situaia e i mai complex
Exist mai multe copii (replici) a datelor

35
Silberschatz, pg. 28
SUBSISTEME DE I/E
Ascunderea complexitii i specificitii
dispozitivelor hardware
Una din rolurile importante ale SO

Subsistemul de I/E este responsabil pentru
Gestiunea memoriei pentru i/e i include
Gestiunea zonelor tampon (buffering) stocarea temporar a
datelor pe timpul transferului

Gestiunea cache-ului stocarea datelor n memorie mai rapid
pentru inbuntirea performanei

Spooling suprapunerea ieirii unui job cu intrarea altuia

Interfaa general cu dispozitivul (driver)

Gestiunea driverului pentru fiecare dispozitiv
36
PROTECIE I SECURITATE
Protecie
Mecanism pentru controlul accesului la resurse
Securitate
Mecanisme pentru aprarea sistemului mpotriva atacurilor
externe sau interne

Metode
Difereniere ntre utilizatori
id, gid
Asociere id cu fiiere
Drepturi de acces
Escaladare privilegiat

37
STRUCTURA SO


SO monolitice
SO microkernel
SO stratificate
38
STRUCTURA SO
SO monolitice
Fr structur structura e doar logic

SO este o colecie de proceduri
Fiecare este vizibil fiecruia (fr ascunderea informaiei)
Oricare poate apela pe oricare alta

Codul kernel-ului se obine prin compilarea tuturor fiierelor
surs i linkeditarea mpreun ntr-un singur fiier obiect

Tot SO ruleaz n modul kernel

Exemple
Cele mai multe versiuni UNIX, Linux, MS Windows
39
STRUCTURA SO
SO monolitice (cont.)
Avantaj
Performa foarte bun vitez mare

Dezavantaje
Poate deveni foarte mare i complex
Dificultate n portarea pe alte platforme
O eroare la nivelul unei singure proceduri poate duce la euarea
ntregului sistem
40
STRUCTURA SO
SO microkernel
Mutarea multor servicii din spaiul kernel n sp. utilizator

O parte restrns din SO (kernelul ) ruleaz n mod privilegiat
Ofer doar mecanisme pentru implementarea serviciilor
Gestiunea proceselor, comunicare ntre procese

Cealalalt parte a SO (serverele) ruleaz n mod utilizator

Ex. Apple Mac OS X. Minix, etc.

Avantaje
Modularitate, protecie, portabilitate, adaptabilitate la mediu distribuit
Dezavantaje performa mai mic datorit folosrii IPC intre kernel i
sp.utiliztor
41
Tanenbaum, pg. 62
STRUCTURA SO
SO stratificate
42
43
Tanenbaum,
ed 2 coperta

Das könnte Ihnen auch gefallen

  • Lab 02
    Lab 02
    Dokument2 Seiten
    Lab 02
    Marcel Bostan
    Noch keine Bewertungen
  • 07 Mostenire
    07 Mostenire
    Dokument7 Seiten
    07 Mostenire
    Marcel Bostan
    Noch keine Bewertungen
  • OOP07 R 6
    OOP07 R 6
    Dokument12 Seiten
    OOP07 R 6
    Marcel Bostan
    Noch keine Bewertungen
  • OOP07 R 6
    OOP07 R 6
    Dokument12 Seiten
    OOP07 R 6
    Marcel Bostan
    Noch keine Bewertungen
  • NC1 1
    NC1 1
    Dokument6 Seiten
    NC1 1
    Marcel Bostan
    Noch keine Bewertungen
  • NC1 1
    NC1 1
    Dokument6 Seiten
    NC1 1
    Marcel Bostan
    Noch keine Bewertungen
  • Laborator 9
    Laborator 9
    Dokument8 Seiten
    Laborator 9
    Andreea Jarcău
    Noch keine Bewertungen
  • Biologia Virusurilor 10
    Biologia Virusurilor 10
    Dokument16 Seiten
    Biologia Virusurilor 10
    gabi podosu
    Noch keine Bewertungen
  • Barem Real 1
    Barem Real 1
    Dokument5 Seiten
    Barem Real 1
    Marcel Bostan
    Noch keine Bewertungen