Sunteți pe pagina 1din 13

Modulul 1.

Concepte introductive despre sisteme de operare


Cuprins
U1.Concepte introductive despre sisteme de operare.................................................................8
M1.U1.1. Introducere.................................................................................................................8
M1.U1.2. Obiectivele unitii de nvare..................................................................................6
M1.U1.3. Definirea sistemului de operare ................................................................................9
M1.U1.4. Evoluia sistemelor de operare.................................................................................10
M1.U1.5. Tipuri de sisteme de operare.....................................................................................12
M1.U1.6. Organizarea hardware a sistemelor de calcul..........................................................14
M1.U1.7. ntreruperi................................................................................................................15
M1.U1.8. Apelurile de sistem .................................................................................................16
M1.U1.9. Conceptul general de proces ...................................................................................17
M1.U1.10. Generarea, configurarea i lansarea n execuie a SO ............................................17
M1.U1.11. Teste de evaluare a cunotinelor ...........................................................................19
M1.U1.12. Rezumat .................................................................................................................20
M1.U1.1. Introducere Dac unitatea central de prelucrare (CPU) reprezint
creierul sistemului de calcul, sistemul de operare (SO) reprezint inima
calculatorului. Atunci cnd un utilizator sau, mai concret o aplicaie solicit o
resurs a sistemului de calcul, aceasta este oferit prin intermediul sistemului de
operare. Cererea respectiv se face printr-o instruciune (comand), care este
analizat de CPU i care transmite un mesaj ctre SO prin care se specific resursa
cerut i condiiile n care aceasta va fi utilizat.
Este dificil s se dea o definiie complet a ceea ce este un SO, n schimb, este
mult mai uor s se vad ce face un SO. Astfel SO ofer facilitile necesare unui
programator pentru a-i construi propriile aplicaii. De asemenea, SO gestioneaz
resursele fizice(memorie, discuri, imprimante etc) i cele logice (aplicaii de
sistem, fiiere, baze de date etc) ale sistemului de calcul, oferind posibilitatea ca
utilizatorii s poat folosi n comun aceste resurse. SO ofer o interfa prin care
aplicaiile utilizator i cele de sistem au acces la componenta hardware. SO ofer
un limbaj de comand prin care utilizatorii pot s-i lanseze n execuie propriile
programe i s-i manipuleze propriile fiiere.
Putem spune c sistemul de operare realizeaz dou funcii de baz: extensia
funcional a calculatorului i gestiunea resurselor.
M1.U1.2. Obiectivele unitii de nvare
Aceast unitate de nvare i propune ca obiectiv principal o introducere a
studenilor n problematica sistemelor de operare. La sfritul acestei uniti de
nvare studenii vor fi capabili s:
neleag i s explice locul sistemului de operare n cadrul sistemului de calcul;
neleag i s explice evoluia sistemelor de operare.
neleag i s explice legtura ntre sistemul de operare i componenta hardware
a sistemului de calcul;
neleag i s explice tipurile de sisteme de operare;
neleag i s explice ncrcarea sistemului de operare.

Durata medie de parcurgere a unitii de nvare este de 2 ore.


M1.U1.3. Definirea sistemului de operare
Componentele principale ale unui sistem de calcul (SC) sunt cea fizic(hardware) i cea
logic(software). La rndul ei, componenta logic este format din aplicaii i sistemul de
operare-SO (figura 1.1). Orice utilizator acceseaz diverse aplicaii, prin intermediul unei
interfee care este oferit tot de sistemului de operare.

Figura 1.1 Rolul unui sistem de operare


Sistemul de operare este format din dou componente: nucleu i programe de baz. Nucleul
este componenta de baz a sistemului de operare care are rolul de a gestiona resursele
sistemului de calcul i de a oferi o interfa aplicaiilor ctre acestea. O descriere detaliat este
prezentat n cadrul acestei uniti de nvare. Programele de baz sunt aplicaiile
fundamentale ale unui sistem de operare, care permit interaciunea cu nucleul i cu
componentele fizice ale sistemului de calcul (interpretoare de comenzi, utilitare de gestiune a
utilizatorilor i a fiierelor, biblioteci etc.).
Funciile de baz ale sistemelor de operare. Aceste funcii coopereaz ntre ele pentru a
satisface cerinele utilizatorilor. n figura 1.2 sunt prezentate interaciunile ntre modulele care
realizeaz funciile SO, precum i ntre aceste module i componentele hard ale sistemului de
calcul.
Administrarea resurselor hardware se refer la modul de acces la procesor, memorie, hard
discuri, comunicare n reea precum i la dispozitivele de intrare/ieire a diverselor aplicaii
care se execut, de sistem sau utilizator. Aceste componente hardware sunt alocate, protejate
n timpul alocrii i partajate dup anumite reguli. Sistemul de operare ofer o abstractizare a
resurselor hardware, prin care se ofer o interfa simplificat la acestea. Dispozitivele fizice,
fiierele i chiar sistemul de calcul au nume logice prin care pot fi accesate de utilizator sau
diverse aplicaii. Accesarea acestor componente se realizeaz prin intermediul driverelor.
Aceast problem va fi discutat pe larg n modulul V.
Administrarea proceselor i a resurselor. Procesul reprezint unitatea de baz a calculului,
definit de un programator, iar resursele sunt elemente ale mediului de calcul necesare unui
proces pentru a fi executat. Crearea, execuia i distrugerea proceselor, comunicarea ntre ele,
mpreun cu alocarea resurselor dup anumite politici, sunt aspecte deosebit de importante
care vor fi discutate n detaliu n modulul II.
9

Gestiunea memoriei. SO aloc necesarul de memorie intern solicitat de procese i asigur


protecia memoriei ntre procese. O parte este realizat prin hard, iar o parte prin soft. Aceast
problem va fi obiectul modulul III.
Sistemul de operare
Administratorul
proceselor i
resurselor

Sistemul de gestiune a
fisierelor

Administratorul
memoriei

Procesor
(Procesoare)

Administrarea
resurselor hardware

Memoria
intern

Uniti

Hardware

Figura 1.2. Organizarea sistemului de operare


Gestiunea fierelor. SO conine o colecie de module prin intermediul crora se asigur
deschiderea, nchiderea i accesul utilizatorului la fiierele rezidente pe diferite suporturi de
informaii. Component de baz a SO, este cel mai des invocat de ctre utilizator i de ctre
operator. Ea va fi subiectul modulul IV.
M1.U1.4. Evoluia sistemelor de operare
Primele calculatoare aprute(generaia I) dispun numai de echipamentul hard. Ele puteau fi
programate numai n cod main, care este introdus n memorie de la o consol. Dup
execuie, se vizualizeaz rezultatele i se corecteaz , eventuale erori. Alocarea timpului de
lucru n sistem se realiza manual; fiecare utilizator primea un anumit interval de timp pentru
a-i executa programele.
Generaia a II-a de calculatoare a durat ntre anii 1955-1965 i este legat de utilizarea
tranzistoarelor, la producerea sistemelor de calcul. Apar o serie de componente hardware noi:
cititorul de cartele, imprimanta, banda magnetic etc. n ceea ce privete componenta
software, principalele aspecte sunt:
- Apare pentu prima dat un compilator pentru un limbaj evoluat (FORTRAN).
- Este realizat monitorul rezident, ce reprezint o form rudimentar de sistem de operare;
datele, textul surs i informaiile destinate monitorului erau citite de pe cartelele perforate.
Acesta realiza att nlnuirea fazelor execuiei programului (compilarea, editarea
legturilor, execuia programului), ct i cea a lucrrilor (job-urilor). Un job era format din
unul sau mai multe programe. ntre cartelele care conin textul surs al programului i datele
de prelucrat, se inserau cartele speciale numite cartele de comand, care se adreseaz acestui
monitor rezident. Astfel, s-a definit un limbaj de control al job-urilor. Prin intermediul lui, se
comand trecerea de la o faz la alta sau de la un job la altul.
- Un astfel de mod de prelucrare se numete serial, deoarece job-urile se execut unul dup
altul sau prelucrare pe loturi (Batch processing), adic se execut mai multe job-uri unul
dup altul.

10

- O caracteristic a acestui sistem este monoprogramarea, adic CPU nu se ocup de alt job
pn cnd nu-l termin pe cel curent.
- Deoarece lucrul cu cartele perforate este incomod, coninutul acestora era transferat pe
benzi magnetice, folosind calculatoare relativ ieftine. Coninutul benzilor era utilizat de ctre
sistemul de calcul n locul cartelelor perforate, unitatea de band fiind intrarea standard.
Analog, rezultatele, sub forma unor linii de imprimant, sunt depuse mai inti ntr-un fisier pe
un suport magnetic, iar la terminarea lucrului, coninutul fiierului este listat la imprimant.
Prin aceast metod, se reduce i timpul de lenevire al CPU datorat vitezei de lucru mai mici a
unor periferice.
-Apare i noiunea de independen fa de dispozitiv a programelor, adic aceeai operaie de
I/O s poat fi realizat de pe diferite dispozitive fizice. Acest lucru se realizeaz prin aa
zisele dispozitive logice de I/O, ce reprezint nite identificatori utilizai de programe, care
sunt asociai prin intermediul SO dispozitivelor fizice.
Generaia a III-a de calculatoare apare n 1965 i este legat de utilizarea circuitelor
integrate. Din punct de vedere hardware, principala component aprut este hard disc-ul.
Principalele aspecte legate de sistemul de operare sunt:
- Apare conceptul de multiprogramare, adic execuia n paralel a mai multor job-uri. Astfel,
se asigur un grad de utilizare mai ridicat al CPU, deoarece atunci cnd un job execut o
operaie de intrare-ieire, CPU poate servi alt job i nu ateapt terminarea acestuia.
- Apariia discurilor magnetice, cu acces direct la fiiere a permis operarea on-line, simultan,
cu mai multe periferice (SPOOLING - Simultaneous Peripherical Operation On-Line). El s-a
obinut prin mbinarea utilizrii zonelor tampon multiple cu conversiile off-line i cu
multiprogramarea.
- Un alt concept fundamental al acestei generaii este de utilizare n comun a timpului CPU
(timesharing). Conform acestui principiu, mai muli utilizatori pot folosi simultan terminale
conectate la acelai calculator. Se elimin astfel o parte din timpii mori datorai diferenei
dintre viteza de execuie a CPU i cea de reacie a utilizatorilor.
Exemple Dintre sistemele de operare specifice acestei generaii de calculatoare,
cele mai reprezentative sunt sistemul SIRIS pentru calculatoarele IRIS 50, care sau produs i n ara noastr sub denumirea FELIX 256/512/1024 i sistemul
OS/360 pentru calculatoarele IBM 360.
Generaiei a-IV-a de calculatoare a aprut n anul 1980 i este legat de utilizarea
tehnologiei microprocesoarelor. Principalele caracteristici ale acestei generaii sunt:
- Interactivitatea. Un sistem interactiv permite comunicarea on-line ntre utilizator i
sistem. Utilizatorul are la dispoziie un terminal cu tastatur i ecran, prin care comunic cu
sistemul. Comunicarea se poate face n mod text sau grafic. n astfel de sisteme, utilizatorul
d comanda, asteapt rspunsul i, n funcie de rezultatul furnizat de comanda precedent,
decide asupra noii comenzi. Spre deosebire de sistemele seriale, sistemele interactive au un
timp de rpuns rezonabil de ordinul secundelor.
- Extinderea conceptului de time-sharing
prin mbinarea cu interactivitatea i
multiprogramarea.
- Terminal virtual este modalitatea prin care utilizatorul stabilete o sesiune cu sistemul,
fiind o simulare a hardware-ului calculatorului i implementat de ctre sistemul de operare.
Sistemul comut rapid de la un program la altul, nregistrnd comenzile solicitate de fiecare
utilizator prin terminalul su. Deoarece o tranzacie a utilizatorului cu sistemul necesit un
timp de lucru mic al CPU, rezult c ntr-un timp scurt, fiecare utilizator este servit cel puin o
dat. n acest fel, fiecare utilizator are impresia c lucreaz singur cu sistemul. Dac sistemele
seriale ncearc s optimizeze numrul de job-uri prelucrate pe unitatea de timp, sistemele
timesharing realizeaz o servire echitabil a mai multor utilizatori, aflai la diverse terminale.
11

- Odat cu evoluia sistemelor timesharing, s-a realizat o difereniere ntre noiunile de job i
proces (program n execuie). n sistemele timesharing, la acelai moment un job poate
executa dou sau mai multe procese, pe cnd n sistemele seriale un job presupune un singur
proces. ntr-un sistem timesharing multiprogramat procesele se mai numesc i task-uri iar un
astfel de calculator se mai numete i sistem multitasking.
- Redirectarea si legarea in pipe. Aplicarea lor presupune c fiecare program lansat de la un
terminal are un fiier standard de intrare i un fiier standard de ieire. De cele mai multe
ori acestea coincid.cu tastatura, respectiv cu terminalul de la care se fac lansrile. Redirectarea
intrrilor standard (intrare sau/i ieire) permite utilizatorului s nlocuiasc intrarea standard
cu orice fiier, respective s se scrie rezultatele, afiate de obicei pe ecran ntr-un fiier
oarecare, nou creat sau s fie adugate la un fiier deja existent. Informaiile de redirectare
sunt valabile din momentul lansrii programului pentru care se cere acest lucru i pn la
terminarea lui. Dupa terminarea programului se revine la fiierele standard implicite.
Exemplu. Dintre SO cele mai cunoscute ale generaiei a IV-a de calculatoare,
amintim sistemele DOS, Windows, Unix i Linux pentru calculatoare personale i
pentru reele de calculatoare, sistemele RSX pentru minicalculatoare
(calculatoare mainframe).
M1.U1.5. Tipuri de sisteme de operare
Sisteme de operare pentru calculatoare mari. Calculatoarele mari sunt caracterizate de
capacitatea de a procesa volume foarte mari de informatii. Ele lucreaz cu dispozitive de I/O
de capacitate mare de stocare i sunt orientate spre execuia mai multor sarcini n acelai timp.
Pe astfel de calculatoare se pot executa: servere de Web, servere pentru site-uri dedicate
comerului electronic i servere care gestioneaz tranzacii ntre companii. Aceste sisteme de
operare ofer trei tipuri de servicii: procesarea loturilor, procesarea tranzaciilor i partajarea
timpului.
Un sistem de procesare n loturi prelucreaz lucrri obinuite, care nu impun intervenia
utilizatorului.
Exemple de astfel de prelucrri sunt: procesarea operaiilor uzuale din cadrul
companiilor de asigurri, raportarea vnzrilor dintr-un lan de magazine.
Sistemele de procesare a tranzaciilor gestioneaz pachete mari de cereri scurte.
Exemplu de astfel de prelucrare este procesul de cutare/verificare ntr-o baz de
date a unei companii aeriene care conine rezervrile de bilete.
La un astfel de sistem de calcul, sunt legate terminale de la care se introduc un numr mare de
tranzacii diverse.
Exemplu de astfel de sistem de operare este OS/370, care a fost realizat de firma
IBM..
Sisteme de operare pentru calculatoare pe care se execut servere. Aceste sisteme de
calcul fac parte din reele de calculatoare i rolul lor este de a servi cererile aplicaiilor lansate
de diveri utilizatori. n funcie de complexitatea operaiilor pe care le execut, aceste
calculatoare pot fi de la calculatoare personale la calculatoare de putere foarte mare.

12

Exemple de servere: Servere care administreaz utilizatorii unei reele de


calculatoare, servere de fiiere, servere de baze de date, servere de pot
electronic, servere care asigur servicii de Web etc.
Sisteme de operare pentru calculatoare multiprocesor. Aceste sisteme de calcul
ncorporeaz mai multe uniti de prelucrare (procesoare), n vederea creterii capacitii de
prelucrare. Aceste calculatoare necesit sisteme de operare speciale, care s rezolve diverse
probleme specifice legate de ncrcarea echilibrat a procesoarelor, partajarea resurselor etc.
Sisteme de operare pentru calculatoare personale. Aceste sisteme de operare sunt
concepute pentru a oferi posibiliti de lucru unui singur utilizator. Ele pot funciona
individual sau legate n reea. n cadrul unei reele, calculatoarele pe care se execut servere
folosesc variante diferite de sisteme de operare fa de cele ale sistemelor de calcul personale.
Exemplu. Exist patru versiuni ale sistemului Windows 2000: versiunea
Profesional este destinat calculatoarelor individuale; celelalte trei versiuni
(Server, Advanced Server i DataCenter Server) sunt destinate calculatoarelor
server dintr-o reea. Windows 2000 DataCenter Server este destinat serverlor
multi-procesor. Versiunea XP propune dou variante: Windows XP. Net Server,
utilizat de calculatoarele server dintr-o reea i Windows XP Proffesional,
destinat calculatoarelor individuale precum i calculatoarelor client legate n
reea.
Sisteme de operare pentru calculatoare n timp real. Sistemele de calcul n timp real
consider timpul de rspuns ca o caracteristic fundamental a bunei lor funcionri.
S ne reamintim...
Sistemul de operare este parte a componentei software a unui sistem de calcul. El
reprezint o extensie funcional a calculatorului i realizeaz gestiunea
resurselor unui sistem de calcul.
Evoluia sistemelor de operare este legat de cea a sistemelor de calcul care se
mparte n patru generaii de calculatoare. Funciile de baz ale sistemelor de
operare sunt: administrarea resurselor hardware, administrarea proceselor i a
resurselor, gestiunea memoriei i si stemul de gestiune a fisierelor.
nlocuii zona punctat cu termenii corespunztori.
1. Primele calculatoare aprute (generaia I) dispun numai de ................. Ele
puteau fi programate numai n ............, care este introdus n memorie de la .........
2. Generaia a II-a de calculatoare a durat ntre anii ...... i este legat de utilizarea
.........., la producerea sistemelor de calcul. Apar o serie de componente hardware
noi: ......................
3. Monitorul rezident reprezint o form rudimentar de ............ Acesta realiza
att nlnuirea ............................, ct i cea a ....................
4. Generaia a III-a de calculatoare apare n .......... i este legat de
utilizarea ............. Din punct de vedere hardware, principala component aprut
este ........... Apare conceptul de ............., adic execuia n paralel a mai multor
job-uri
5. Terminal virtual este modalitatea prin care utilizatorul stabilete o sesiune
cu ..........., fiind o simulare a ............. calculatorului i implementat de
ctre ..............
M1.U1.6. Organizarea hardware a sistemelor de calcul

13

Sistemele de calcul se bazeaz pe conceptul de arhitectur Von Neumann, conform cruia


partea de hardware este format din:
Unitatea central de calcul (CPU - Central Processing Unit), compus din unitatea
aritmetic i logic (ALU-Arithmetical-Logical Unit) i unitatea de control.
Unitatea de memorie primar sau executabil sau intern.
Uniti de I/O.
Toate unitile sunt conectate folosind o magistral (bus), care se mparte ntr-o magistral de
date i una de adrese.
Pentru memorie i alte uniti se poate aduga o magistral de I/O, care nu este folosit de
CPU. O astfel de organizare, permite ca o unitate s poat citi/scrie informaii din memorie,
fr alocarea CPU. Fiecare magistral poate fi gndit ca fiind format din mai multe linii
(fire) paralele, care pot pstra o cifr binar.
Unitatea aritmetic i logic conine, pe lng unitatatea funcional un numr de regitri
generali i de stare. Regitrii generali sunt folosii n efectuarea operaiilor aritmetice i logice,
att pentru memorarea operanzilor ncrcai din memorie, ct i a rezultatului operaiei, care
apoi va fi salvat ntr-o locaie de memorie.
CPU extrage i execut instruciunile cod main ale procesului ncrcat n memoria intern.
n acest sens, CPU conine:
o component care extrage o instruciune memorat ntr-o locaie de memorie;
o component care decodific instruciunea;
o component care se ocup de execuia instruciunii, mpreun cu alte componente ale SC.
Regitrii contor de program PC (Program Counter), respectiv registrul instruciune IR
(Instrucion Register), conin adresa de memorie, respectiv o copie a instruciunii n curs de
prelucrare.
Unitile de I/O sau dispozitivele periferice sunt folosite pentru a plasa date n memoria
primar i pentru a stoca cantiti mari de date pentru o perioad lung de timp. Astfel, ele pot
fi uniti de stocare (uniti bloc), cum ar fi discurile, respectiv uniti caracter cum ar fi
tastatura, mouse-ul, display-ul terminalului precum i uniti de comunicaie, cum ar fi portul
serial conectat la un modem sau o interfa la reea. Fiecare unitate folosete un controller de
unitate pentru a o conecta la adresele calculatorului i la magistrala de date. Controller-ul
ofer un set de componente fizice pe care instruciunile CPU le pot manipula pentru a efectua
operaii de I/O. Ca i construcie, controller-ele difer, dar fiecare ofer aceeai interfa de
baz. Sistemul de operare ascunde aceste detalii de funcionare ale controller-lor, oferind
programatorilor funcii abstracte pentru accesul la o unitate, scrierea/citirea de informaii etc.
Componenta sistemulului de operare care manipuleaz dispozitivele de I/O este format din
driverele de unitate.
Moduri de lucru ale procesorului. Procesoarele contemporane conin un bit care definete
modul de lucru al procesorului. Acest bit poate fi setat n modul utilizator sau supervizor. n
modul supervizor, procesorul poate executa orice instruciune cod main, pe cnd n modul
utilizator el poate executa numai o parte dintre aceste instruciuni. Instruciunile care pot fi
executate numai n modul supervizor se numesc instruciuni privilegiate. De exemplu, astfel
de instruciuni sunt cele de I/O. Un proces, dac este executat n mod utilizator, el nu poate si execute propriile instruciuni de I/O. De aceea, aceste instruciuni sunt executate prin
intermediul SO. Cnd un program face o cerere ctre sistem, o instruciune cod main
special este apelat pentru a comuta procesorul n modul supervizor i ncepe s execute
driverul unitii respectiv.
Corespunztor celor dou moduri de lucru, memoria intern este mprit n zona de
memorie utilizator i zona de memorie supervizor. Dac bitul mod de lucru este setat pe
14

utilizator, atunci procesul respectiv are acces numai la zona cu acelai nume. Astfel, se
realizeaz i protecia zonei de memorie supervizor. Nucleul este acea parte a SO care este
executat n modul supervizor. Alte procese, legate de diverse aplicaii ale utilizatorilor sau
chiar aplicaii soft de sistem sunt executate n mod utilizator. Execuia acestor instruciuni nu
afecteaz securitatea sistemului. Cnd un proces dorete s execute anumite operaii n mod
supervizor, atunci se va face o comutare din modul utilizator, n cel supervizor. Acest lucru se
realizeaz prin intermediul unei instruciuni trap, numit instruciune de apel al
supervizorului, care seteaz bitul de mod de lucru i face un salt la o locaie de memorie, care
se afl n spaiul de memorie protejat, locaie care conine nceputul unei proceduri sistem
care va rezolva cererea procesului. Cnd execuia acestei rutine supervizor s-a terminat, SO va
reseta bitul de mod de lucru din supervizor n utilizator.
S ne reamintim...
Sistemele de calcul se bazeaz pe conceptul de arhitectur Von Neumann, conform
cruia partea de hardware este format din:
Unitatea central de calcul (CPU - Central Processing Unit), compus din
unitatea aritmetic i logic (ALU-Arithmetical-Logical Unit) i unitatea de
control.
Unitatea de memorie primar sau executabil sau intern.
Uniti de I/O.
Toate unitile sunt conectate folosind o magistral (bus), care se mparte ntr-o
magistral de date i una de adrese.
nlocuii zona punctat cu termenii corespunztori.
1. Unitatea central de calcul este compus din ........... i ........................
2. Unitile de .......... sau dispozitivele ............... sunt folosite pentru a plasa date
n ................. i pentru a stoca cantiti ............. pentru o perioad ...........de timp.
3. Fiecare unitate folosete un ........ de unitate pentru a o conecta la .........
calculatorului i la ............. de date.
4. Componenta sistemulului de operare care manipuleaz .......... este format
din ................ de unitate.
5. Instruciunile care pot fi executate numai n modul ............. se numesc
instruciuni .......................
M1.U1.7. ntreruperi.
Calculatoarele furnizeaz un mecanism prin care diferite componente
(hard sau soft) ntrerup evoluia normal a procesorului, pentru a semnala
acestuia diverse evenimente aprute.
Rolul principal al ntreruperilor este de a mbuntii utilizarea procesorului. Acest lucru se
vede cel mai bine atunci cnd se execut operaii de I/O. Cnd se lanseaz execuia unei astfel
de operaii, procesorul nu trebuie s atepte terminarea ei; n acest timp, el poate servi un alt
proces i i se va transmite cnd s-a terminat de efectuat operaia de intrare-ieire printr-o
ntrerupere.
n cadrul unui proces, dup executarea fiecrei instruciuni cod-main, CPU verific dac n
perioada execuiei acesteia a primit ntreruperi. n caz afirmativ, suspend execuia procesului
respectiv i lanseaz n execuie manipulatorul ntreruperilor, care identific rutina care
corespunde ntreruperii respective, care va fi executat n continuare. Dup ce execuia rutinii
respective s-a terminat, se poate relua execuia procesului. Evident, c din punctul de vedere

15

al utilizrii unitii centrale, acest mecanism presupune i el anumite cheltuieli ale acesteia,
dar impactul asupra creterii gradului de utilizare este semnificativ.
Exemple.
Programele pot genera ntreruperi n situaii de excepie (depire
a domeniului de valori la calculul unei expresii, mprire la zero,
ncercare de execuie a unei instruciuni cod main ilegale,
ncercare de refereniere a unei locaii de memorie la care
utilizatorul nu are drept de acces etc.)
ntreruperi generate de controllerele perifericelor
pentru a
semnala terminarea normal a unei operaii de I/O sau semnalarea
unor eventuale erori aprute.
ntreruperi generate de defeciuni hardware aprute (ntrerupere
a alimentrii cu energie electric, eroare de paritate a unei locaii
de memorie etc.).
ntreruperi generate de timer-ul procesului, prin care semnaleaz
sistemului de operare s execute anumite funcii, la anumite
momente.
M1.U1.8. Apelurile de sistem
Apelurile de sistem furnizeaz o interfa ntre un proces i sistemul de operare. Prin
intermediul acestora, un program utilizator comunic cu sistemul de operare i cere anumite
servicii de la acesta. Apelurile de sistem pot fi mprite n cinci categorii importante:
controlul proceselor (ncrcarea, execuia, sfritul, abandonarea, setarea i
obinerea atributelor, alocarea i eliberarea de memorie etc);
manipularea fiierelor (creere, tergere, deschidere, nchidere, citire, scriere,
repoziionare, setarea i obinerea atributelor);
manipularea unitilor (cerere i eliberare unitate, citire scriere i repoziionare,
obinerea i setarea atributelor, ataarea/detaarea logic);
ntreinerea informaiilor (obinerea i setarea timplui sau datei calendaristice sau a
sistemului, obinerea de informaii despre componentele fizice i logice ale sistemului i
posibilitatea modificrii lor);
comunicaii (crearea i anularea unei conexiuni, transmiterea i primirea de mesaje,
transferul informaiilor de stare, ataarea/detaarea logic a unitilor la distan).
Limbajele de asamblare i limbajele evoluate moderne conin instruciuni(comenzi) prin care
sunt lansate apeluri de sistem. Pentru transmiterea parametrilor, sunt utilizate trei metode:
transmiterea parametrilor prin intermediul regitrilor, atunci cnd numrul lor este
relativ mic;
transmiterea parametrilor sub forma unei tabele (bloc de memorie), a crei adres este
pus ntr-un registru;
punerea parametrilor n vrful stivei, de unde sunt extrai de ctre sistemul de
operare.
Dup transmiterea parametrilor, este declanat o instruciune trap, pentru oferi controlul
sistemului de operare. Cnd sistemul de operare obine controlul, verific corectitudinea
parametrilor i n caz afirmativ execut activitatea cerut. Cnd a terminat de executat rutina
respectiv, sistemul de operare returneaz un cod de stare ntr-un registru, care specific
terminarea normal sau anormal i execut o instruciune de revenire din instruciunea trap,
prin care se red controlul procedurii de sistem, care apoi red controlul execuiei procesului
care a fcut apelul, returnnd anumite valori coninute n parametrii apelului.
16

M1.U1.9 Conceptul general de proces


Dac sistemele de operare cu prelucrare n loturi executau lucrri(job-uri), sistemele de
operare moderne, bazate pe divizarea timpului execut task-uri. Aceste dou concepte
corespund termenului de proces. n cadrul sistemelor de operare, procesul reprezint o entitate
activ, un program n execuie ale crui instruciuni sunt parcurse secvenial i executate de
ctre unitatea central a calculatorului. Dac prin program nelegem o entitate static, o
codificare ntr-un anumit limbaj de programare a unui algoritm, sub forma unui fiier stocat
pe un suport extern de informaie, prin proces definim o entitate dinamic, ncrcat n
memoria intern a sistemului de calcul. Unul sau mai multe procese pot fi asociate unui
program, dar ele sunt considerate entiti distincte.
Orice proces folosete mai multe resurse ale sistemului de calcul: contorul de program (PC
Program Counter) este un registru al UC care conine adresa de memorie a urmtoarei
instruciuni care urmeaz s fie executat; stiva de program conine date utilizate n execuie,
parametri ai subprogramelor, adrese de retur i alte variabile locale; seciunea de date,
conine variabile globale; timpul de lucru al UC; fiiere; dispozitive de I/O etc.
Aceste resurse sunt alocate procesului fie n momentul creerii, fie n timpul execuiei lui. n
multe sisteme, procesul este unitatea de lucru. Astfel de sisteme constau dintr-o colecie de
procese. Sistemul de operare, ca i component soft, este format din mai multe procese, care
execut codul de sistem, pe cnd procesele utilizator execut programe scrise de acetia. Toate
aceste procese se execut simultan la nivelul unui sistem de calcul sau al unei reele de
calculatoare. n mod tradiional, un proces coninea un singur fir de execuie, adic o singur
instruciune cod main este executat de CPU la un moment dat; sistemele de operare
moderne, privesc un proces ca fiind format din unul sau mai mute fire de execuie.
Execuia proceselor este un mecanism combinat hard i soft. Componenta software care este
implicat n administrarea proceselor este sistemul de operare, ale crui sarcini sunt: crearea i
distrugerea proceselor i firelor de execuie; planificarea proceselor; sincronizarea proceselor;
comunicarea ntre procese; manipularea interblocrii proceselor.
M1.U1.10. Generarea, configurarea i lansarea n execuie a sistemului de operare
n cazul generaiilor de calculatoare mai vechi, sistemul de operare este destinat numai unui
anumit tip de calculator.
Exemplu. Sistemul SIRIS este destinat familiei de calculatoare FELIX C256,512,1024, iar sistemul de operare RSX este destinat minicalculatoatelor
compatibile PDP, printre care se numr i cele romneti CORAL si
IDEPENDENT.
Sistemele de operare moderne sunt realizate pentru a lucra pe o clas de sisteme de calcul,
care n multe cazuri difer prin configuraia lor. Sistemul trebuie s fie generat(sau configurat)
pentru fiecare sistem de calcul n parte, proces care se numete generarea
sistemului(SYSGEN). Programul SYSGEN citete dintr-un fiier sau cere informaiile care
se refer la configuraia hardware a sistemului respectiv. Prin acest proces sunt determinate
urmtoarele informaii:
Ce fel de CPU este folosit? Care dintre opiunile(set de instruciuni cod main extins,
instruciuni aritmetice n virgul flotant etc) sunt instalate? Dac sistemul este multiprocesor, fiecare CPU va fi descris.
Ct memorie este disponibil?

17

Care uniti sunt disponibile? Sistemul trebuie s cunoasc adresele acestor uniti, adresele
ntreruperilor corespunztoare unitilor, precum i nite caracteristici tehnice ale unitilor.
Setarea unor parametri ai sistemului de operare, cum ar fi de exemplu, numrul i
dimensiunea zonelor tampon utilizate, numrul maxim de procese care pot fi lansate la un
moment dat, tipul algoritmului de planificare utilizat de CPU etc.
Dup stabilirea acestor informaii, sistemul de operare poate fi utilizat n mai multe moduri:
- administratorul de sistem poate modifica codul surs al sistemului de operare, situaie
n care toate programele surs vor fi recompilate i vor fi refcute legturile;
- selectarea unor module noi care fac parte dintr-o bibliotec precompilat, fiind
necesar numai refacerea legturilor;
- selectarea unor opiuni se face n timpul execuiei, situaie caracteristic sistemelor de
operare moderne.
Unul dintre serviciile de baz ale unui SO este acela de a se putea autoncrca de pe disc n
memoria intern i de a se autolansa n execuie. Aceast aciune se desfoar la fiecare
punere sub tensiune a unui SC, precum i atunci cnd utilizatorul dorete s rencarce
SO, fiind cunoscut sub numele ncrcare sau lansare n execuie a SO. Pentru lansare
se utilizeaz un mecanism combinat hard i soft, numit bootstrap.
Mecanismul bootstrap intr n lucru la apsarea butonului de pornire <START> i cuprinde
urmtoarele etape:
1. Se citete din memoria ROM un numr de locaii consecutive. Aceste locaii conin
instruciunile de copiere ale programului care va ncrca nucleul SO. Motivul pentru care
acest program este stocat n memoria ROM, este c aceasta nu trebuie s fie iniializat i c
procesul respectiv se afl la o adres fix, de unde poate fi lansat n cazul punerii sub tensiune
sau re-setrii sistemului. De asemenea, deoarece ROM este o memorie read-only, ea nu
poate fi virusat.
2. Se lansez n execuie programul citit la pasul anterior, care citete de pe un disc un
program mai complex, care ncarc nucleul sistemului de operare.
3. Se lanseaz n execuie programul citit la pasul anterior care va ncrca nucleul sistemului
de operare.
Observaie. Se pune firesc ntrebarea, de ce programul care ncarc nucleul SO nu este citit
din memoria ROM? Rspunsul este c instalarea unui alt sistem de operare, ar nsemna
modificarea acestui program, deci a coninutului memoriei ROM, care este o problem destul
de costisitoare.
S ne reamintim...
Calculatoarele furnizeaz un mecanism prin care diferite
componente (hard sau soft) ntrerup evoluia normal a
procesorului, pentru a semnala acestuia diverse evenimente
aprute. Rolul principal al ntreruperilor este de a mbuntii utilizarea
procesorului.
Apelurile de sistem furnizeaz o interfa ntre un proces i sistemul de operare.
Prin intermediul acestora, un program utilizator comunic cu SO i cere anumite
servicii de la acesta.
n cadrul sistemelor de operare, procesul reprezint o entitate activ, un program n
execuie ale crui instruciuni sunt parcurse secvenial i executate de ctre unitatea
central a calculatorului.
Sistemele de operare moderne sunt realizate pentru a lucra pe o clas de sisteme de
calcul, care n multe cazuri difer prin configuraia lor. Sistemul trebuie s fie
generat(sau configurat) pentru fiecare sistem de calcul n parte, proces care se

18

numete generarea sistemului.


nlocuii zona punctat cu termenii corespunztori.
1. Cnd se lanseaz execuia unei operaii de I/O, ....... nu trebuie s atepte
terminarea ei; n acest timp, el poate servi un alt ..........i i se va transmite cnd s-a
terminat de efectuat operaia de ............. printr-o .............
2. Apelurile de sistem furnizeaz o .........ntre un proces i .......................
3 .n cadrul sistemelor de operare, procesul reprezint o .........., un program
n ...........ale crui instruciuni sunt parcurse ............ i executate de ctre ..............
4. Unul dintre serviciile de baz ale unui ............ este acela de a se putea .......... de
pe disc n ............. i de a se .............. n execuie.
M1.U1.11. Test de evaluare a cunotinelor
Marcai varianta corect.
1. Monitorul rezident:
a) Realizeaz prelucrarea serial a joburilor.
b) Permite alocarea memoriei cu partiii
fixe.

c)
Lucreaz
n
regim
de
multiprogramare.
d) Execut operaiile de I/O n paralele
cu efectuarea unor calcule.

2. Conceptul de spooling a aprut odat cu:


a) Apariia hard-discurilor.
b) Apariia generaiei a II-a de
calculatoare.
3. Controller-ul de unitate este:
a) O component software.

c) Apariia benzilor magnetice.


d) Apariia cartelelor perforate.

c) O interfa hardware a unitii de


I/O respective.
d) Un registru al unitii centrale.

b) O component a CPU.
4. Nucleul SO este:
a) Componenta SO utilizat n execuia
c) Componenta SO utilizat n
proceselor.
administrarea unitilor.
b) Componenta SO executat n mod
d) Componenta SO executat n mod
supervizor.
utilizator.
5. Un proces este:
a) Un program scris ntr-un limbaj de
c) Un program n execuie.
programare.
b) Un fiier executabil.
d) Un buffer.
6. Care dintre componentele sistemului de operare sunt scrise n limbajul de asamblare al
calculatorului gazd:
a) Nucleul
c) Driverele de memorie.
b) Bibliootecile
d) Driverele de dispozitiv
7. Instruciunile care pot fi executate numai n modul supervizor se numesc:
a) Instruciuni cod main.
c) Instruciuni privilegiate.
b) Instruciuni de asamblare.
d) Instruciuni de comutare.
8. Rolul principal al ntreruperilor este de:
a) A mbuntii utilizarea procesorului.
c) A mbuntii utilizarea sistemului
de operare.
19

b) A mbuntii utilizarea nucleului.

d) A mbuntii utilizarea sistemului


de fiiere.

9. Apelurile de sistem furnizeaz:


a) O interfa ntre un proces i
c) O interfa ntre un proces i CPU.
controllerul de unitate.
b) O interfa ntre un proces i sistemul
d) O interfa ntre un proces i un
de operare.
disc
10. Programul care ncarc nucleul sistemului de operare se citete:
a) Din memoria RAM.
c) Din memoria ROM.
b) De la tastatur.
d) De pe un disc.
M1.U1.12. Rezumat. Evoluia sistemelor de calcul, reflectat n cele patru
generaii de calculatoare existente pn n prezent, este strns legat i de evoluia
componentelor software, n care sistemul de operare ocup un loc central. Dac
primele calculatoare electronice aprute nu au beneficiat de un sistem de operare,
odat cu generaia a doua de calculatoare apare conceptul de monitor rezident.
Acesta era o form rudimentar de sistem de operare, care a permis prelucrarea
serial a lucrrilor i automatizarea nlnuirii fazelor unei lucrri.
Multiprogramarea, aprut odat cu generaia a treia de calculatoare, a permis
utilizarea mult mai eficient a unitii centrale a unui sistem de calcul. Apar
conceptele de driver de unitate i ntrerupere, care permit o manipulare mai
eficient i facil a unitilor de I/O. De asemenea, apar conceptul de spooling,
care permite o utilizare mai eficient a resurselor unui SC. Odat cu generaia a
patra de calculatoare, apar noi concepte cum ar fi time-sharing, redirectarea i
legarea n pipe, care urmresc interactivitatea sistemelor i un timp de rspuns ct
mai mic. Conceptul de lucarare(job) este nlocuit cu cel de proces(task) i apare
conceptul de multi-tasking.
Prezentarea arhitecturii Von Neumann a unui sistem de calcul, care a rmas un
model viabil i pentru calculatoarele din zilele noastre este util n nelegerea
modului de interaciune dintre sistemul de operare i componentele hardware ale
sistemului de calcul. Pe baza acestui model, se poate face o difereniere a funciilor
i componentelor unui sistem de operare. Astfel, n ceea ce privete execuia
proceselor, se prezint pe scurt ce face CPU i care este rolul sistemului de operare
n gestiunea proceselor, aspect care va fi detaliat ntr-un capitol special. De
asemenea, legat de administrarea unitilor, se scoate n eviden rolul
controllerelor de unitate, ca i componente hard precum i al celor de interfa
software. De asemenea, tot legat de executarea unor operaii de I/O, se prezint
rolul nucleului unui sistem de operare.
Autoncrcarea, generarea i configurarea sistemelor de operare reprezint concepte
care au fost dezvoltate n timp i prin care este optimizat activitatea sistemului de
operare.

20

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