Sunteți pe pagina 1din 9

Capitolul 1

Noiuni fundamentale. Terminologie caracteristic


domeniului Sistemelor de Operare
1.1 Definiia unui sistem de operare
Un sistem de calcul pune la dispoziia utilizatorului urmtoarele resurse: unul sau mai
multe procesoare, memorii interne, memorii auxiliare, ceasuri, terminale, interfee de
reea, dispozitive de intrare/ieire (imprimante, scannere etc.). Dac utilizatorul ar
trebui s scrie el nsui pro!ramele care !estioneaz i utilizeaz corect aceste
componente "ard#are ar rezulta pro!rame foarte complicate. Utilizatorul ar trebui s
fac pro!rame ce conin propriile rutine pentru cererea de blocuri pe disc, recuperarea
din condiii de eroare, tratarea unor ntreruperi. $entru a scuti utilizatorul de sarcina
de a !estiona sin!ur "ard#are%ul complex s%a adoptat soluia de a plasa un strat de
pro!rame specializate deasupra mainii fizice. &ceste pro!rame trebuie s
administreze toate resursele sistemului.
'esursele pot fi permanente (procesoare, memorii, dispozitive (/)) sau temporare
(mesa*e) acestea din urma sunt produse de un proces i consumate de un altul.
'esursele pot fi dedicate (folosesc numai procesului care le deine) sau partajabile.
+n ceea ce privete modul de recuperare a resurselor de la procesul care le deine
acestea pot fi cu prelevare forat
,
% de exemplu procesorul, memoria - (i.e. pot fi
luate n orice moment de la procesul care le deine) i fr prelevare forat. -
neprelevabile - (i.e. resursele pot fi recuperate numai c.nd procesul care le stp.nete
le cedeaz).
/istemul de operare are ca scop s pun la dispoziia utilizatorului o main extins
care este mai uor de pro!ramat dec.t "ard#are%ul. )l pune la dispoziia
pro!ramatorului aa numitele apeluri sistem care pot fi considerate instruciuni ale
mainii extinse.
$ro!ramele adu!ate mainii fizice n vederea administrrii resurselor sale sunt
cunoscute sub numele de Sistem de Operare (abreviat S.O.). &cesta cuprinde acele
proceduri manuale i module pro!ram din interiorul unui sistem de calcul care asi!ur
controlul sistemului de calcul (procesor, memorie intern, memorii externe,
dispozitive (/), fiiere) de ctre utilizatori, rezolv conflictele de acces la resurse,
ncearc s mbunteasc performanele sistemului i simplific utilizarea acestuia.
/.0. acioneaz ca o interfa ntre pro!ramele utilizator i "ard#are.
,
1ermenul ec"ivalent n limba en!lez este: preempted resources
Figura 1 Componentel sistemului de operare formeaz un strat situat ntre hardware i
programele utilizator
Dup 2rinc" 3ansen
4
, un /.0. este un ansamblu de proceduri manuale i automate
care permit unui !rup de utilizatori s parta*eze (utilizezeze n comun) resursele unui
sistem de calcul. Partajarea are dou aspecte: concurena (competiia pentru resurse)
i cooperarea. Utilizarea n comun a resurselor implic folosirea unor mecanisme de
sincronizare care s controleze viteza de execuie a proceselor precum i existena
unor mecanisme de planificare a utilizrii lor (care decid cine primete resursa i cine
ateapt).
Utilizatorii se pot afla n competiie pentru acapararea unor resurse fizice (ex: timpul
de procesor, spaiul de memorie, serviciile ec"ipamentelor de (/)). $arta*area
nseamn i cooperarea ntre utilizatori prin sc"imbarea de pro!rame i date. $entru a
realiza parta*area resurselor ntre utilizatori ntr%un mod corect /.0. trebuie:
s decid care utilizator are acces la o anumit resurs, pentru c.t timp i n ce
condiii i se poate lua aceast resurs
s aib o strate!ie pentru a determina ordinea n care sunt servii utilizatorii aflai
n competiie i pentru rezolvarea conflictelor care apar n cazul mai multor cereri
simultane pentru aceeai resurs.
5iecare component a sistemului de operare care realizeaz !estiunea unei resurse
trebuie s:
in minte (stoc"eze ntr%o structur de date) starea fiecrei resurse
s implementeze un al!oritm care s exprime politica ce determin ce, cum, cui i
c.t din resurs este alocat
s aloce resursa
s elibereze resursa
4
Una din personalitile domeniului sistemelor de operare si pro!ramrii concurente. )ste danez. &
condus proiectul de dezvoltare a sistemului de operare '67888 (multipro!ramare), a inventat conceptul
de monitor i limba*ul $ascal 6oncurent. &ctualmente este profesor onorific la 9/:racuse Universit:;
(U/&).
2
/pre exemplu, n cazul unui modul de administrare a memoriei cu partiionare
dinamic, starea blocurilor de memorie intern (libere sau alocate diferitelor procese)
ar putea fi reinut ntr%o structur de date de tipul arborelui budd: (vezi [Aho ??]) sau
a listelor duble iar politica dup care un bloc de memorie este alocat unui proces ar
putea fi 565/ (5irst 6ome 5irst /erved) sau bazat pe prioriti asociate proceselor.
1.2 Obiective (funcii) ale unui sistem de operare
,. /istemul de operare implementeaz diverse strate!ii pentru administrarea
resurselor
4. )l ofer o interfa cu utilizatorul c.t mai prietenoas i uor de folosit. (definete
un <6=
>
, identific utilizatorii pentru a putea fi cunoscui n reea, descrie cerinele
pro!ramelor utilizator)
>. /.0. &scunde complexitatea "ard#are%ului i ofer utilizatorului un set c.t mai
convenabil de instruciuni ale mainii virtuale (apeluri sistem) cu care s lucreze.
$ro!ramele utilizator trebuie mpiedicate s execute anumite instruciuni (altfel
ele ar putea distru!e instruciuni/date din interiorul /.0. sau viola zone de
memorie la care nu trebuie s aib acces). $ro!ramele utilizator trebuie s poat
executa instruciuni de intrare%ieire prin intermediul unor apeluri standard sistem.
Un /.0. ofer c.te o main virtual fiecrui utilizator i are !ri* ca aceste maini
virtuale s nu interacioneze unele cu altele.
7. /.0. ofer un mediu n care s poat fi executate pac"ete de pro!rame (/?2D%uri,
aplicaii de proiectare asistat de calculator, aplicaii de simulare, vizualizare
tiinific etc.)
@. /.0. realizeaz prote*area resurselorA astfel mai muli utilizatori pot executa
simultan pro!rame i pot s memoreze datele pe acelai disc (parta*area resursei).
$rotecia utilizatorilor i a fiierelor lor trebuie realizat de /.0.
B. /.0 trebuie s realizeze contabilizarea activitilor efectuate de utilizatori i a
resurselor puse la dispoziie de sistemul de calcul (folosirea acestor resurse trebuie
ac"itat). 1rebuie s asiste i procesul de evaluare a performanelor sistemului.
C. Un /.0. modern trebuie s dea posibilitatea sc"imbului de informaii ntre
utilizatori.
er!i"ii oferite de "tre un sistem de operare
Unele servicii a*ut utilizatorii s asi!ure: lansarea n execuie a pro!ramelor, lansarea
operaiilor de intrare/ieire, manipularea informaiei (stocat n fiiere), efectuarea
comunicaiilor ntre procese care ruleaz pe acelai sistem de calcul sau pe sisteme de
calcul diferite, detectarea i tratarea erorilor care apar n funcionarea sistemului de
calcul. &ceste erori pot fi le!ate de funcionarea dispozitivelor (/), erori care apar n
funcionarea memoriei (eroare de paritate), erori n pro!rame utilizator (de ex:
depirea aritmetic sau ncercarea de acces la o celula din afara spaiului de adrese al
unui proces), erori "ard#are (de ex: defectarea sursei de alimentare).
&lte cate!orii de servicii se refer la operarea eficient a sistemului de calcul. )le
cuprind alocarea resurselor (U.6., D.(., ).$., informaie), !estiunea utilizatorilor
7
.
>
<ob 6ontrol =an!ua!e - component a interfeei cu utilizatorul care permite specificarea fluxului de
control al lucrrilor ntr%un sistem de calcul
7
termenul ec"ivalent in limba en!lez: accountin!
#
(/.0. pstreaz evidena utilizatorilor activi i a resurselor pe care le consum fiecare
din eiA astfel de informaii pot servi la ntocmirea de statistici asupra utilizrii
sistemului sau la facturarea utilizatorilor), realizarea proteciei (i.e. controlarea
accesului la resurse astfel nc.t un proces s nu interfereze cu altul sau cu /.0.)
(at mai *os definiiile unor termeni specifici sistemelor de operare.
Procesul este o unitate de pro!ram executabil, !estionat de /.0. )ste definit prin
ima!inea asociat constituit din codul care se execut, se!mentul de date, de stiv,
contorul pro!ram, coninutul re!istrelor i n !eneral toate informaiile care fac ca un
pro!ram s poat fi rulat. +n /.0. mai vec"i un proces este asociat unui pro!ram n
execuie. +n sistemele actuale, un pro!ram poate fi format din mai multe procese care
coopereaz pentru rezolvarea problemei. /e accepta n trecut ideea c un process e un
pro!ram care se poate executa n paralel cu alte pro!rame. +n sistemele moderne un
proces poate avea mai multe fire de execuie care se execut n paralel. )le au propria
stiv dar parta*eaz contextul de execuie al procesului din care fac parte. ([$o% &']).
'esursele sunt elemente ce contribuie la avansul unui proces.
Utilizator E oricine (om, masina, dispozitiv) care supune o cerere de prelucrare unui
sistem de calcul. Utilizatorii supun spre servire sistemelor de calcul lucrri (*ob%uri).
Lucrarea E colecie de activiti corespunz.nd unor anumite prelucrri. =ucrarea este
structurat n pai de lucrare (de *ob) E prelucrri ce trebuie executate secvenial.
()xemplu compilarea, editarea de le!turi, ncrcarea i execuia pot fi pai ai unei
lucrri.)
Spaiul de adrese al unui proces este colecia de module ale unui pro!ram i datele pe
care acesta le acceseaz. +n faza de execuie a procesului spaiul de adrese trebuie pus
n coresponden cu o poriune din spaiul fizic de memorie al sistemului. /paiul de
adrese este totalitatea adreselor pe care un proces le%ar putea accesa n timpul
execuiei sale. Fu este obli!atoriu ca, la un moment dat, memoria intern s conin
toate celulele din spaiul de adrese ale unui proces.
Timp suplimentar de sistem (system overead! E interval de timp n care sistemul
execut proceduri ale sistemului de operare.
1.3 Evoluia sistemelor de operare.
=a nceput modul de lucru al unui sistem de calcul era 9sin"le user sin"le job;
procedurile manuale erau preponderente (exemplu cu asamblarea unui pro!ram).
Ulterior ).$. s%au diversificat i s%a renunat la unele din interveniile operatorului
uman. 0peraiile de (/) erau controlate de procesor, pro!ramul trebuia s atepte
terminarea fiecrei operatii de (/). $entru a evita aceasta s%au adau!at sisteme de
ntreruperi, ceasuri sistem i s%a realizat suprapunerea operaiilor de (/) cu cele de
calcul.
Sisteme batc (prelucrare pe loturi de lucrri). Utilizatorul nu interaciona direct cu
calculatorul ci pre!tea un *ob (care cuprindea pro!ramul, datele i cartelele de
control) pe care l lsa sub controlul operatorului sistem. <obul era prezentat de obicei
sub forma unor cartele perforate. (<02Ecolecie de prelucrri cerute de un utilizator).
(
$aii de *ob sunt operaii care se desfoar secvenial. $entru a mri viteza de
prelucrare operatorul !rupa *ob%urile care aveau cereri de resurse similare i le rula pe
calculator ca un !rup de *ob%uri (un lot de lucrri E batc"). +ntr%o faz ulterioar de
dezvoltare te"nolo!ic, introducerea discurilor a permis /.0. s se pstreze toate *ob%
urile pe un disc (n locul unui cititor de cartele). &ccesul direct la *ob%uri a permis
apariia planificatoarelor de *ob%uri (*ob sc"eduler) iar acestea au lucrat n re!im de
multipro!ramare.
Figura 2 )u"rri i pai de lu"rri
#ultipro"ramare E mai multe pro!rame, aparin.nd mai multor utilizatori sunt
ncrcate simultan n zone ale memoriei. +n momentul c.nd unele pro!rame sunt
blocate pentru a atepta terminarea unei operaii de (/), altele pot prelua controlul
procesorului. Dultipro!ramarea este un mod de a asi!ura creterea !radului de
utilizare a unitii centrale. +ntr%un mediu fr multipro!ramare procesorul bucleaz n
ateptarea terminrii operaiei de (/)A.ntr%un mediu cu multipro!ramare se selecteaz
spre execuie alt proces. Dultipro!ramarea determin modificri n !estiunea
memoriei, planificarea procesorului.
0 extensie (evoluie) a /.0. cu multipro!ramare sunt /.0. cu divizarea timpului
(timesarin", timp parta*at). &cestea permit interaciunea utilizatorilor cu sistemul de
calcul. 6omutarea procesorului ntre diferite procese este at.t de frecvent nc.t
utilizatorii pot interaciona (prin intermediul tastaturii sau mouse%ului) cu pro!ramul
c.t timp acesta ruleaz. /istemele time%s"arin! trebuie s asi!ure timpi mici (GE ,
sec.) de rspuns ai pro!ramelor.
Decanisme (elemente soft#are) necesare implementrii funcionalitii sistemelor
time%s"arin!:
posibilitatea salvrii/restaurrii pe disc a coninutului unor zone de memorie
intern (s$ap in%out)
memoria virtual: te"nic ce permite execuia unui proces fr ca acesta s fie
rezident n ntre!ime n memoria intern
existena unui sistem de fiiere
mecanisme de execuie concurent a proceselor inclusiv mecanisme de
comunicare i sincronizare ntre procese.
*

)lemente "ard#are necesare dezvoltrii sistemelor time%s"arin!:
#oduri de operare distincte ale unitii centrale (mod utilizator, mod supervizor
(monitor, privile"iat)). )le realizeaz prote*area /.0. de aciunile eronate ale unor
pro!rame utilizator (sau prote*area a dou pro!rame utilizator unul de cellalt).
)xist unele instruciuni privile!iate (de obicei instruciuni de (/)) care pot fi
executate numai n mod supervizor. +n acest fel instruciunile de (/) nu pot fi
executate dec.t de poriuni ale nucleului (numit i &ernel) sistemului de operare.
'ealizarea proteciei la accesul memoriei. 1rebuie prote*ai vectorii de ntrerupere
i codul rutinelor de tratare a ntreruperilor. Un mod de a implementa protecia la
accesul la memorie este folosirea unui "ard#are suplimentar: un re!istru de baz
i un re!istru limit. &cestea desemneaz o zon conti!u de memorie. U.6.
compar la fiecare !enerare de adres (pentru a accesa n mod utilizator o celul
de memorie) respectiva adres cu coninutul celor doi re!itri. Dac adresa nu este
n intervalul Hbaza, bazaIlimitaJ va rezulta un apel (trap) ctre monitor care
consider aceast ncercare de acces o eroare fatal. Dodificarea re!istrelor de
baz i limit se face folosind instruciuni privile!iate.
$rotecia unitii centrale (s nu execute cicluri infinite de exemplu) se realizeaz
folosind timere (cronometre). &ceste timere sunt utile i pentru a msura durata de
timp n care procesorul a fost alocat unui anumit proces (aceasta trebuie
comparat cu durata maxim permis a unei cuante de timp (time%slice) alocate
unui proces) ntr%un sistem time%s"arin!.
1.4 Sisteme multiprocesor i sistemele de operare asociate
acestora
Dei ma*oritatea sistemelor de calcul de astzi sunt monoprocesor, exist o cretere
continu a ponderii sistemelor multiprocesor.
/istemele multiprocesor pot fi:
sisteme cu cuplaj str'ns (ti"tly coupled processors) c.nd procesoarele parta*eaz
ma!istrala i ceasul sistem (uneori c"iar i memoria i unele ec"ipamente de (/))
/isteme slab cuplate (loosely coupled processors) care sunt de fapt colecii de
sisteme relativ autonome, fiecare procesor av.nd propria memorie i propriile
canale de (/).
&vanta*ele sistemelor de calcul multiprocessor sunt mrirea productivitii, sisteme
mai ieftine (se parta*eaz memoria i unele dispozitive (/).), crete fiabilitatea.
Defectarea unui procesor nu determin oprirea ntre!ului sistem. &vem o de!radare
!raioas a performanelor ceea ce caracterizeaz sistemele tolerante la defecte.
+n cazul sistemelor multiprocesor cu multiprelucrare simetric (/D$) fiecare
procesor este 9e!al n drepturi; cu celelalte i ruleaz o copie identic a /.0. )xist i
maini /D$ i sisteme de operare /D$. Un /.0. /D$ planific procese (sau fire de
execuie % t"read%uri) pe oricare dintre procesoare. &vanta*ele unui astfel de sistem
sunt: performane mai bune (unele activiti se pot desfura n paralel),
disponibilitate sporit (dac un processor se defecteaz, maina nu se oprete),
'
creterea incremental a performanelor prin adu!area de noi procesoare
(scalabilitate). 5urnizorii ofer o !am de produse cu puteri i performane diferite
bazate pe confi!urri diferite ale unui numr de procesoare. )xistena mai multor
procesoare este transparent utilizatorilor ntr%un /.0. /D$.
0 alternativ la sistemele /D$ sunt clusterele (ciorc"inii de sisteme de calcul). Un
cluster este un !rup de sisteme de calcul (fiecare din ele ar putea funciona de unul
sin!ur n afara ciorc"inelui) acestea acioneaz ca o resurs unic. /istemele
componente ale ciorc"inelui se numesc noduri.
6lusterele sunt clasificate dup cum sistemele de calcul componente parta*eaz sau nu
unul sau mai multe discuri.
(at mai *os cerinele caracteristice aa numitelor discuri '&(D ('edundant &rra: of
(ndependent DisKs - inventat la 2erKele:) asociate de obicei ciorc"inelor de
procesoare.
Unitile de disc sunt vzute de /.0. ca o sin!ur unitate (drive) lo!ic
Datele sunt distribuite ntre unitile fizice ale 9matricii; de discuri
)xist i o capacitate suplimentar de memorare care !aranteaz recuperarea
datelor n cazul apariiei unui defect la unul din discurile matricei.
)xist i un standard industrial ()*+ or!anizat pe B nivele. )l se refer la masive de
discuri interconectate care pot fi parta*ate de procesoarele unui cluster.i specific
diferite posibiliti de proiectare ale unor ar"itecturi care s satisfac cele > cerine
anterioare. 6erinele standardului '&(D admit at.t implementri "ard#are c.t i
soft#are. Fivelele (capitolele) standardului '&(D pun n eviden aspecte referitoare
la eficiena accesului la informaie, redundana datelor sau posibilitatea reconstruciei
datelor n caz de eroare.
+
Figura # , Clustere -"ior"hini. de/pro"esoare
+n cazul sistemelor cu multiprelucrare asimetric (&/$) fiecrui procesor i se
asociaz sarcini specifice. )xist un procesor master unde se execut componentele
/.0. care planific i aloc lucrul pentru fiecare dintre procesoarele slave.
Diferenierea ntre prelucrarea /D$ sau &/$ poate fi !enerat fie de diferene n
ar"itectura "ard#are, fie de modul n care a fost scris sistemul de operare (care s
permit un sin!ur master i mai muli slave). De exemplu, la sistemele de operare
care funcioneaz pe maini /UF cu ar"itectur /D$ exist i sistemul de operare
/un 0/ L7, care furnizeaz multiprelucrare asimetric i sistemul /olaris 4 L@ care
este simetric.
+n unele sisteme exist i microprocesoare slave (bac&,end processor) care preiau
unele funcii ale sistemului de operare. De exemplu microprocesoare pentru !estiunea
discurilor, microprocesoare pentru !estiunea tastaturii (la $6). 5olosirea unor astfel de
procesoare ntr%un sistem de calcul nu mai este considerat actualmente ca o
caracteristic a faptului c acel sistem este cu multiprelucrare.
0
1. !lte cate"orii de sisteme de operare
Sistemele distribuite. 0dat cu introducerea M)2%ului (,NN8%4888) asi!urarea
conectivitii sistemelor de calcul prin intermediul unei reele a devenit o component
a sistemului. +n sistemele distribuite (de fapt sisteme slab cuplate) procesoarele nu
parta*eaz memoria sau ceasul, ele intercomunic prin le!turi din cele mai diverse
cate!orii, de la ma!istrale de mare vitez p.n la linii telefonice.
Un sistem de operare -n reea permite parta*area fiierelor n reea, comunicarea prin
mesa*e ntre procese care ruleaz pe maini diferite. Un sistem de calcul pe care
ruleaz un /.0. n reea este autonom fa de alte sisteme de calcul din reea.
+n cazul unui sistem de operare distribuit, sistemele de operare ce lucreaz pe fiecare
main comunic suficient de bine a.. utilizatorul are iluzia unui sin!ur /.0. care
controleaz ntrea!a reea.
Sistemele -n timp real sunt o form specializat de /.0. n care procesele au asociai
timpi critici de rspuns. )le trebuie tratate de /.0. astfel nc.t s i ndeplineasc
funcia naintea expirrii acestui timp critic asociat. /unt dou cate!orii de sisteme n
timp real: ard real,time systems !aranteaz c procesele critice se termin la timp
(sunt sisteme utilizate n controlul sistemelor industriale i n robotic)A soft real,time
systems un tasK critic primete o prioritate superioar celorlalte tasK%uri i rm.ne
cu aceast prioritate nemodificat p.n la terminarea saA n cazul acestei cate!orii de
sisteme n timp%real nerespectarea unei cerine le!ate de timin! nu determin o
comportare catastrofal a ntre!ului sistem. /istemele timp%real pot fi statice (analiza
activitilor sistemului - cereri/rspunsuri % poate fi efectuat complet la momentul
proiectrii) sau dinamice (cererile apar la momente aleatoare iar sistemul trebuie s
rspund conform unor caracteristici de performan specificate iniial). /istemele n
timp%real pot fi at.t sisteme distribuite c.t i sisteme specifice unor aplicaii cu natur
Ocentralizat; cum ar fi sisteme asociate roboilor industriali, sau conducerii optimale
a unui autoturism. /istemele caracteristice acestei cate!orii de aplicaii sunt cunoscute
sub numele de embedded systems. /pre exemplu astzi, sisteme de tipul telefoanelor
mobile ruleaz astfel sisteme de operare adecvate !estionrii unor cate!orii de
aplicaii, cum ar fi aplicaiile multimedia.
&

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