Sunteți pe pagina 1din 11

II Sisteme de operare

Sistemul de operare reprezint ansamblul de programe care asigur utilizarea optim a resurselor fizice i logice ale unui sistem de calcul. El are rolul de a gestiona funcionarea componentelor hardware ale sistemului de calcul, de a coordona i controla execuia programelor i de a permite comunicarea utilizatorului cu sistemul de calcul. Folosirea hardware-ului unui sistem de calcul ar fi dificil i ineficient n lipsa unui sistem de operare. Pe scurt, sistemul de operare este componenta software care coordoneaz i supravegheaz ntreaga activitate a sistemului de calcul i asigur comunicarea utilizatorului cu sistemul de calcul. Din punctul de vedere al interaciunii cu componentele hardware ale sistemului de calcul i dup modul de implementare a software-ului, sistemul de operare este organizat pe dou niveluri: a. nivelul fizic include componenta firmware a sistemului de calcul; acest nivel ofer servicii privind lucrul cu componentele hardware ale sistemului de calcul i cuprinde acele elemente care depind de structura hardware a sistemului. Tot n nivelul fizic sunt incluse programe a cror execuie este indispensabil, de exemplu programul care lanseaz ncrcarea automat a sistemului de operare, la pornirea calculatorului. La acest nivel, comunicarea cu sistemul de calcul se realizeaz prin intermediul sistemului de ntreruperi, prin care se semnaleaz anumite evenimente aprute n sistem; la apariia unei ntreruperi, controlul este dat unor rutine de pe nivelul urmtor al sistemului de operare; Exemplu : la sistemele de calcul compatibile PC, componenta sistemului de operare de pe nivelul fizic este componenta ROM-BIOS. Aceasta include programe grupate dup funcia lor n :

programele care se execut la pornirea sistemului de calcul : programul POST (Power-On Self-Test), care verific starea de funcionare a sistemului de calcul i programele de iniializare a activitii sistemului (rutina de ncrcare a primului sector al discului sistem) ; rutinele care fac posibil utilizarea componentelor fizice ale sistemului de calcul, rutine numite drivere fizice ; ele ofer servicii pentru lucrul cu configuraia hardware standard a sistemului de calcul : consola, tastatura, imprimanta, perifericele standard i ceasul sistemului. Avantajul acestei soluii este c asigur independena software-ului de pe nivelul logic fa de caracteristicile constructive ale componentelor hardware de baz, ele fiind tratate unitar, prin intermediul driverelor.

b. nivelul logic include partea de programe a sistemului de operare i ofer utilizatorului mijloacele prin care poate exploata sistemul de calcul; comunicarea utilizatorului cu sistemul de calcul se realizeaz prin comenzi adresate sistemului de operare sau prin intermediul instruciunilor programelor pe care le execut; invers, comunicarea se realizeaz prin intermediul mesajelor transmise de sistemul de operare

ctre utilizator. Programele nivelului logic adreseaz dispozitivele hardware prin intermediul programelor nivelului fizic al sistemului de operare i din acest motiv ele sunt independente de structura hardware a sistemului de calcul : nivelul fizic constituie o interfa ntre hardware i nivelul logic al sistemului de operare. Din punct de vedere funcional, programele sistemului de operare se mpart n dou categorii : a. Componenta de comand i control, care cuprinde programe ce au rolul de a asigura utilizarea eficient a resurselor sistemului de calcul. b. Componenta de servicii, care cuprinde programe destinate minimizrii efortului uman implicat de utilizarea sistemului de calcul.

Funcia sistemului de operare de optimizare a exploatrii unui sistem de calcul este mprit ntre cele dou componente, conform schemei din Figura 2.1. Accesibilitatea, diversitatea i numrul componentelor software crete de la stnga la dreapta, n diagram, n timp ce numrul i nivelul de specializare al utilizatorilor acestor programe scade de la stnga la dreapta. Att pentru proiectarea ct i pentru utilizarea lor, componentele software se sprijin pe alte componente software, aflate la stnga lor, n diagram.

2.1. Resursele unui sistem de calcul, gestionarea resurselor

Pentru a executa un program, ntr-un sistem de calcul secvenial cu program memorat, este necesar ncrcarea acestui program n memoria intern a sistemului de calcul. Sub controlul unitii centrale de prelucrare (UCP) sunt executate, secvenial, instruciunile programului. Dup caz, executarea unei instruciuni program poate presupune:

alocarea unitii aritmetico-logice (UAL), pentru efectuarea de operaii aritmetice sau logice asupra datelor prelucrate de program; alocarea unui dispozitiv periferic, pentru realizarea unui schimb de informaii ntre acesta i memoria intern afectat programului; alocarea de spaiu n memoria extern a sistem de calcul, pentru stocarea informaiilor manevrate de program; accesarea unei anumite structuri de date (de exemplu un fiier din memoria extern); apelul, pentru execuie, a unui alt program, ncrcat n memoria intern sau memorat n memoria extern a sistemului de calcul, etc.

ntotdeauna, execuia unui program presupune alocarea unei anumite zone din memoria intern a sistemului de calcul. ntotdeauna, execuia unui program presupune afectarea unei perioade din timpul de lucru al UCP. Resursele sistemului de calcul, pe care sistemul de operare le pune la dispoziia utilizatorului, se constituie din totalitatea componentelor fizice sau logice ale sistemului de calcul, care pot fi solicitate, la un moment dat, n timpul execuiei unui program. Execuia unui program se definete ca o succesiune de procese care se realizeaz sub controlul sistemului de operare. Procesul reprezint o secven de activiti care se execut la un moment dat n sistemul de calcul i care se caracterizeaz prin:

prelucrrile care se realizeaz, determinate de secvena de instruciuni care controleaz procesul contextul de lucru asupra cruia acioneaz procesul, prin intermediul prelucrrilor, i care include resursele alocate procesului.

Pentru a realiza alocarea unei resurse la un proces, sistemul de operare trebuie s aib rspuns la urmtoarele ntrebri, dup caz:

dac resursa cerut exist n sistem dac ea este disponibil ct din resurs este disponibil pentru ct timp poate fi alocat resursa dac resursa este deja alocat altui proces, dac ea mai este necesar procesului cruia i este alocat. Rezult astfel funciile care trebuiesc ndeplinite de componenta sistemului de

operare cu rol n gestionarea resurselor sistemului de calcul: 1. evidena resurselor sistemului de calcul n fiecare moment, prin nregistrarea fiecrei resurse, a strii ei (alocat sau liber) i a gradului ei de ocupare (ct din resurs este alocat); 2. implementarea unor algoritmi de alocare a resursei, conform unei strategii de alocare stabilite; o strategie de alocare trebuie s rspund la ntrebrile:

crei solicitri i se aloc resursa ct din resurs se aloc n ce moment se face alocarea pentru ct timp se face alocarea resursei. Strategiile de alocare difer n funcie de sistemul de operare i de resurs;

3. alocarea efectiv a resursei, cu actualizarea informaiilor legate de starea resursei; 4. dezalocarea resursei care poate fi fcut:

la iniiativa procesului care a solicitat-o, atunci cnd ea nu mai este necesar procesului la iniiativa sistemului de operare, pentru a fi alocat i altor procese.

Aceast ultim variant este utilizat numai de anumite tipuri de sisteme de operare.

2.2. Componenta de comand i control a sistemului de operare


Activitatea de lansare n execuie a unui program, activitatea de gestionare a alocrii resurselor sistemului de calcul, pe toat durata executrii programului, ca i operaiile efectuate la ncheierea execuiei acestuia, sunt funcii realizate de componenta de comand i control a sistemului de operare. Funciile componentei de comand i control ale sistemului de operare sunt:

planificarea, lansarea i urmrirea execuiei programelor gestionarea resurselor sistemului de calcul depistarea i tratarea evenimentelor deosebite care apar n timpul execuiei programelor asigurarea proteciei informaiilor manevrate de diverse programe (aceste programe pot fi ale sistemului de operare sau programe utilizator).

Conform acestor funcii, componenta de comand i control a sistemului de operare va include:

nucleul sistemului de operare, cu funcia de coordonare a activitii sistemului de calcul i a celorlalte componente ale sistemului de operare. Aceast component este rezident n memoria intern pe toat durata funcionrii sistemului de calcul i se mai numete monitorul rezident al sistemului de operare.

cte o component de gestionare pentru fiecare tip de resurs din sistem.

Funcia de protecie a informaiei ntre procese i funcia de tratare a erorilor se realizeaz n mod specific, pentru fiecare tip de resurs, n cadrul componentei de gestionare a resursei.

2.3. Componenta de servicii a sistemului de operare


Componenta de servicii a sistemului de operare s-a dezvoltat odat cu cerinele utilizatorilor sistemelor de calcul. Gradul de accesibilitate al unui sistem de calcul, ca i complexitatea sarcinilor pe care utilizatorul le poate rezolva cu ajutorul lui, sunt influenate de existena i eficiena programelor de sistem incluse n componenta de servicii. Programele de servicii se execut sub supravegherea programelor de comand i control, ca orice program de aplicaie. Aceast component ofer servicii diferite, de la un sistem de operare la altul, sau chiar ntre variante diferite ale aceluiai sistem de operare. Componenta de servicii a unui sistem de operare poate include:

unul sau mai multe programe ncrctor pentru sistemul de operare, care lanseaz automat programe ale sistemului de operare la pornirea sistemului de calcul ; programe de tip interpretor de comenzi ale sistemului de operare, adic acele programe care preiau comenzile adresate sistemului de operare de ctre utilizator, asigurnd astfel comunicarea ntre utilizator i sistemul de operare; funcia de gestionare a dialogului cu utilizatorul, fie n mod comand, oferind mecanisme de editare a comenzilor, fie n mod grafic, prin intermediul unei interfee grafice cu utilizatorul (GUI - Graphical User Interface) ; funcia de nlnuire prin date a comenzilor sistemului de operare (mecanismul pipe), de interpretare a comenzilor sistemului de operare agregate sub forma unor macrouri sau a unor fiiere de comenzi ; funcia de asisten on line pentru sistemul de operare, cunoscut ca Help-ul sistemului de operare; funcia de tipul plug and play care ofer faciliti de autodetecie a echipamentelor nou instalate n sistem i permite reconfigurarea hardware, cu uurin, a sistemului, ca i notificarea schimbrii configurrii sistemului, de exemplu prin cderea unui echipament din sistem; funcia care ofer suportul pentru utilizarea limbii naionale, adic adaptarea informaiilor cu caracter naional (semn monetar, marc zecimal) conform rii selectate ; funcii pentru configurarea personalizat a mediului de lucru cu sistemul de calcul, de exemplu pentru utilizatori cu opiuni speciale de manevrare a echipamentelor (tastatur, mouse, etc.)

2.4. Obiectivele i funciile unui sistem de operare


Obiectivele generale ale unui sistem de operare sunt:

automatizarea operaiilor standard n toate etapele de exploatare a sistemului de calcul; minimizarea efortului uman pentru utilizarea sistemului de calcul; optimizarea utilizrii resurselor sistemului de calcul; creterea eficienei globale n utilizarea sistemului de calcul prin: o creterea vitezei de execuie a prelucrrilor o reducerea timpului de rspuns al sistemului la solicitrile utilizatorilor o creterea gradului de utilizare a resurselor prin utilizarea lor la capacitate maxim. Funciile prin intermediul crora sistemul de operare realizeaz aceste obiective

sunt:

funcia de instalare automat a unui nou sistem de operare pe un sistem de calcul; funcia de ncrcare n memoria intern a sistemului de operare, la pornirea sistemului de calcul; funcia de configurare dinamic a sistemului de operare, conform cu modificrile intervenite n structura hardware sau cu necesitile de exploatare a sistemului. De exemplu, sistemul de operare DOS se poate configura dinamic prin intermediul fiierului CONFIG.SYS care se consult la fiecare ncrcare a sistemului de operare i care permite instalarea altor drivere de echipamente dect cele standard i definirea unor parametri de funcionare ai sistemului, permind astfel modificarea, extinderea sau mbuntirea capacitilor de funcionare ale sistemului de operare, n cadrul arhitecturii de baz a sistemului de calcul; efectuarea operaiilor de intrare / ieire la nivel fizic, pentru a permite utilizatorului tratarea echipamentelor periferice la nivel logic, adic independent de caracteristicile constructive ale lor. Aceast funcie permite degrevarea utilizatorului de sarcina tratrii specifice a fiecrui tip de echipament periferic n parte. De exemplu, orice tip de imprimant este tratat n acelai mod de ctre utilizator; caracteristicile specifice fiecrui tip n parte sunt tratate de programul specializat de accesare la nivel fizic al echipamentului, numit driver de imprimant i de componenta sistemului de operare care trateaz operaiile de ieire prin intermediul imprimantei: driverul portului paralel ; oferirea unei interfee cu utilizatorul, prin intermediul unui limbaj specific, numit limbajul de comand al sistemului de operare; prin intermediul acestui limbaj, utilizatorul transmite comenzi sistemului de operare; ele sunt traduse i lansate n execuie de programul interpretor de comenzi al sistemului de operare. n sistemele de operare mai noi, interfaa cu utilizatorul este asigurat folosind metode grafice evoluate i principii noi de comunicare, rezultatul fiind o modalitate mult mai prietenoas de dialog cu utilizatorul; o astfel de interfa se

numete interfa grafic cu utilizatorul (Graphical User Interface);

controlul execuiei programelor: sistemul de operare ncarc programul n memoria intern, pentru execuie, l lanseaz n execuie, urmrete execuia n toate etapele sale i ncheie execuia programului; gestionarea alocrii resurselor sistemului de calcul: sistemul de operare gestioneaz alocarea timpului UCP, a memoriei interne, accesul la fiiere, accesul la echipamentele periferice,etc. pe toat durata execuiei unui program, n scopul utilizrii ct mai eficiente a acestor resurse. n cazul n care este posibil executarea simultan a mai multor programe, sistemul de operare realizeaz alocarea resurselor ntre programe pe baza unor criterii de alocare, n scopul optimizrii execuiei programelor, conform obiectivelor de eficien de mai sus; asigurarea proteciei ntre utilizatori, acolo unde sistemul de operare permite accesul concomitent al mai multor utilizatori (programe) la resursele sistemului de calcul, i asigurarea proteciei ntre programe, fie c este vorba de programe utilizator sau programe ale sistemului de operare. Aceast protecie se refer la evitarea cazurilor de interferen ntre mai multe programe n execuie, care ar putea duce la alterarea zonelor de program din memoria intern sau la alterarea, de ctre un program, a datelor utilizate de un alt program; tratarea erorilor: sistemul de operare poate trata erori la nivelul mainii fizice (de exemplu: erori de citire / scriere n memoria extern, erori de acces la un echipament periferic, lipsa din configuraia sistemului de calcul a unui echipament, etc.) sau erori logice, care pot s apar n timpul executrii unui program (de exemplu: operaii interzise, ca mprirea la 0, tentativa de acces n zone protejate ale memoriei interne, tentativa de execuie a unor instruciuni privilegiate, etc.); funcii auxiliare, cum ar fi: contabilizarea activitii sistemului de calcul, jurnalizarea comenzilor adresate interpretorului de comenzi al sistemului de operare, jurnalizarea erorilor, etc.

2.5. Clasificarea sistemelor de operare din punctul de vedere al execuiei proceselor


n general, programele utilizeaz n mod diferit resursele unui sistem de calcul (unele ocup mai puin memorie intern dect altele, unele execut mai multe operaii de intrare/ieire, timp n care UCP este utilizat mai puin, altele fac prelucrri complexe asupra datelor, utiliznd intens unitatea aritmetico-logic, etc). Pentru utilizarea eficient a resurselor sistemului de calcul, unele sisteme de operare pot gestiona execuia concurent a mai multor procese, asigurnd proceselor din sistem accesul concurent la resursele sistemului sau partajarea resurselor. Aceasta nseamn c, la un moment dat, n sistem se pot afla n execuie mai multe procese care concureaz ntre ele pentru accesul la resursele sistemului iar sistemul de operare gestioneaz resursele sistemului pentru satisfacerea ct mai multor cereri ale acestor procese pentru alocarea de resurse. O caracteristic important a unui sistem de operare este msura n care poate

asigura execuia concurent a proceselor. Dup acest criteriu, sistemele de operare pot fi:

monotasking, care nu asigur execuia concurent i nici partajarea resurselor ntre mai multe procese. Sub controlul unui sistem de operare monotasking, la un moment dat, n sistemul de calcul se poate executa un singur program; acesta rmne activ din momentul lansrii lui n execuie i pn la terminarea lui complet; ct timp este n execuie, programul are acces la toate resursele sistemului de calcul.

Exemplu: sistemele de operare MS-DOS i CP/M sunt sisteme de operare monotasking; n timpul executrii unui program, sistemul de operare pierde controlul asupra sistemului, n favoarea programului aflat n execuie, care preia controlul pn n momentul ncheierii execuiei sale.

multitasking sunt acele sisteme de operare care asigur execuia concurent a mai multor procese care exist concomitent n sistem.

Exemplu: sistemele de operare Windows, Unix sunt sisteme multitasking. Aplicaia Windows 3.x rulat sub sistemul de operare monotasking MS-DOS permite exploatarea n regim multitasking a aplicaiilor Windows. n plus fa de sistemele de operare monotasking, pentru un sistem de operare multitasking trebuiesc definite strategiile de alocare a resurselor la procesele concurente, strategii care vor fi folosite de componentele sistemului de operare pentru gestionarea resurselor.

2.6. Clasificarea sistemelor de operare dup gradul de interaciune cu utilizatorul


Un sistem de operare are rolul de a interfaa comunicarea ntre utilizator i sistemul de calcul. Tendina actual n cererea utilizatorilor este de a crete att gradul de interaciune cu sistemul de calcul ct i gradul de accesibilitate al interfeei cu sistemul de calcul; aceste dou tendine, n general contradictorii, determin creterea complexitii componentei sistemului de operare care asigur interfaa cu utilizatorul. Pe de alt parte, din punctul de vedere al gradului de utilizare i al accesibilitii sistemului de calcul, o caracteristic important este numrul de utilizatori care pot avea acces, la un moment dat, la sistem. Din punctul de vedere al accesului utilizatorilor la sistem i al gradului de interaciune cu sistemul, sistemele de operare pot fi:

seriale, acele sisteme de operare pentru care gradul de interaciune cu utilizatorul, n timpul prelucrrilor, este nul. De cele mai multe ori, interfaa dintre sistemul de operare si utilizator nu dispune de un limbaj de comand accesibil utilizatorului obinuit, motiv pentru care comunicarea dintre utilizator i sistem nu este direct ci mediat de persoane specializate ca operatori de calculator. n timpul execuiei

lucrrii sale, utilizatorul pierde total controlul asupra prelucrrii; el furnizeaz datele care se prelucreaz odat cu formularea cererii de prelucrare i primete rezultatele prelucrrii la ncheierea execuiei. interactive: sistemele de operare care permit comunicarea direct ntre utilizator i sistemul de calcul, prin intermediul unui limbaj dedicat acestui scop (limbajul de comand al sistemului de operare sau interfaa grafic utilizator). n plus, utilizatorul poate urmri modul n care se execut programul su i poate influena, n anumite condiii, execuia acestuia. Un sistem de operare interactiv presupune o arhitectur a sistemului de calcul care s cuprind echipamente standard de intrare/ieire dedicate comunicrii utilizatorului cu sistemul de operare (terminale I/O); aceste echipamente cuprind, de obicei, o tastatur, ca echipament standard de intrare i un dispozitiv de vizualizare a informaiilor de ieire (un display sau o mini- imprimant). Sistemele de operare interactive pot fi: o monouser, cnd comunicarea cu sistemul de calcul este posibil, la un moment dat, numai pentru un singur utilizator, prin intermediul consolei sistemului de calcul; o multiuser, cnd sistemul de operare poate gestiona comunicarea concomitent cu mai muli utilizatori, conectai la sistemul de calcul prin intermediul echipamentelor terminale de intrare/ieire.

Exemplu: MS-DOS este un sistem interactiv monouser; Unix este un sistem interactiv multiuser.

2.7. Clasificarea sistemelor de operare dup configuraia hardware deservit


Se obinuiete mprirea sistemelor de calcul n trei categorii mari, n funcie de puterea lor de prelucrare a informaiei i de capacitatea lor; corelat cu aceast mprire se clasific i sistemele de operare, dup configuraia hardware pe care o deservesc. Structura sistemului de operare este influenat de structura sistemului de calcul pentru c, n general, s-a cutat ca punctele mai slabe hardware s fie compensate prin funcii suplimentare asigurate de software, n particular, de sistemul de operare. Pe de alt parte, un sistem de calcul puternic, ce permite prelucrri complexe, are nevoie de un sistem de operare la fel de puternic, capabil s asigure o bun coordonare a activitii sistemului de calcul i o gestionare optim a resurselor acestuia. Dup configuraia hardware deservit, sistemele de operare sunt:

sisteme de operare pentru microcalculatoare: o sunt puternic interactive, cu un limbaj de comand accesibil sau cu interfa grafic utilizator; o unele sunt monouser i monotasking (MS-DOS), altele multitasking (Windows), eventual i multiuser (Unix); o sunt uor configurabile, oferind proceduri automate pentru ncrcarea sau pentru instalarea sistemului de operare; o ocup un spaiu redus n memoria intern;

suport dezvoltri pentru a permite conectarea n reele de calculatoare sau ca terminale la sisteme de calcul mari; o au funcia de gestionare a informaiei dezvoltat n direcia manevrrii unui numr mare de fiiere de dimensiuni mici; sisteme de operare pentru minicalculatoare: o sunt interactive, multiuser i multitasking; o folosesc un limbaj de comand pentru utilizatori avizai; o procedurile de ncrcare la conectarea sistemului i de instalare a sistemului de operare sunt mai laborioase; o sunt mai rigide, n cazul modificrii configuraiei hardware; o asigur un sistem de prioriti de execuie dezvoltat; o orientate pentru lucrul cu mai muli utilizatori, oferind un sistem complex de protecie a informaiei; o orientate pentru lucrul cu multe terminale, putnd ndeplini funcia de concentrator de date; sisteme de operare pentru calculatoare mainframe: o seriale sau interactive, multitasking; o limbaj de comand pentru utilizatori specializai; o gestioneaz un numr mare de echipamente periferice; o orientate pentru prelucrri complexe i pentru volume mari de date.
o

n prezent se constat tendina de apropiere a performanelor microcalculatoarelor de cele ale calculatoarelor superioare lor, n paralel cu tendina de apropiere a performanelor sistemelor de operare pentru sisteme de calcul mari de cele ale sistemelor de operare pentru mini sau microcalculatoare. n acelai timp, se realizeaz o integrare funcional tot mai accentuat a diferitelor tipuri de sisteme de calcul n platforme de lucru comune, de obicei prin conectarea acestora n reele de calculatoare. Cel mai elocvent exemplu n aceast direcie este reeaua Internet care realizeaz legtura ntre cele mai diferite tipuri de sisteme de calcul, funcionnd sub controlul unor sisteme de operare diverse. Din punctul de vedere al dezvoltrii sistemului de operare, tendina actual este de dezvoltare a sistemelor de operare portabile, adic acele sisteme de operare care funcioneaz pe platforme hardware diferite. Un exemplu n acest sens este sistemul de operare UNIX. O alt direcie este dezvoltarea de familii de sisteme de operare, de exemplu familia sistemelor de operare Windows, n care au fost dezvoltate sisteme de operare interactive, multitasking, asigurnd i funciile pentru lucrul n reea de calculatoare; ntre aceste sisteme de operare, unele sunt specializate pentru un anumit mod de utilizare, de exemplu: Windows NT Server, pentru server de reea sau Windows NT Workstation pentru staii de lucru din reea. Exemple de sisteme de operare:

Windows Vista Ultimate SP1 English DVD Sistem de operare Microsoft Windows XP Home Edition SP2b EN OEM Sistem de operare Microsoft Windows XP Media Center Edition 2005 SP2b EN OEM