Documente Academic
Documente Profesional
Documente Cultură
Sistemul de gestiune a
fisierelor
Administratorul
memoriei
Procesor
(Procesoare)
Administrarea
resurselor hardware
Memoria
intern
Uniti
Hardware
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
13
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
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
c)
Lucreaz
n
regim
de
multiprogramare.
d) Execut operaiile de I/O n paralele
cu efectuarea unor calcule.
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
20