Sisteme de operare; definiii, componente, clasificri
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. e scurt, sistemul de operare este componenta software care coordoneaz i supra!egheaz ntreaga acti!itate a sistemului de calcul i asigur comunicarea utilizatorului cu sistemul de calcul. "in punctul de !edere al interaciunii cu componentele hardware ale sistemului de calcul i dup modul de implementare a software-ului, sistemul de operare este organizat pe dou ni!eluri# a. nivelul fizic include componenta firmware a sistemului de calcul$ acest ni!el ofer ser!icii pri!ind lucrul cu componentele hardware ale sistemului de calcul i cuprinde acele elemente care depind de structura hardware a sistemului. %ot n ni!elul fizic sunt incluse programe a cror execuie este indispensabil, de exemplu programul care lanseaz ncrcarea automat a sistemului de operare, la pornirea calculatorului. &a acest ni!el, comunicarea cu sistemul de calcul se realizeaz prin intermediul sistemului de ntreruperi, prin care se semnaleaz anumite e!enimente aprute n sistem$ la apariia unei ntreruperi, controlul este dat unor rutine de pe ni!elul urmtor al sistemului de operare$ Exemplu : la sistemele de calcul compatibile ', componenta sistemului de operare de pe ni!elul fizic este componenta ()*-+,)-. .ceasta include programe grupate dup funcia lor n # programele care se execut la pornirea sistemului de calcul # programul )-% /ower-)n -elf-%est0, care !erific starea de funcionare a sistemului de calcul i programele de iniializare a acti!itii sistemului /rutina de ncrcare a primului sector al discului sistem0 $ rutinele care fac posibil utilizarea componentelor fizice ale sistemului de calcul, rutine numite drivere fizice $ ele ofer ser!icii pentru lucrul cu configuraia hardware standard a sistemului de calcul # consola, tastatura, imprimanta, perifericele standard i ceasul sistemului. .!anta1ul acestei soluii este c asigur independena software-ului de pe ni!elul logic fa de caracteristicile constructi!e ale componentelor hardware de baz, ele fiind tratate unitar, prin intermediul dri!erelor. b. nivelul logic include partea de programe a sistemului de operare i ofer utilizatorului mi1loacele 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$ in!ers, comunicarea se realizeaz prin intermediul mesa1elor transmise de sistemul de operare ctre utilizator. rogramele ni!elului logic adreseaz dispoziti!ele hardware prin intermediul programelor ni!elului fizic al sistemului de operare i din acest moti! ele sunt independente de structura hardware a sistemului de calcul # ni!elul fizic constituie o interfa ntre hardware i ni!elul logic al sistemului de operare. "in punct de !edere 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. Resursele unui sistem de calcul; gestionarea resurselor entru a executa un program, ntr-un sistem de calcul sec!enial cu program memorat, este necesar ncrcarea acestui program n memoria intern a sistemului de calcul. -ub controlul unitii centrale de prelucrare /2'0 sunt executate, sec!enial, instruciunile programului. "up caz, executarea unei instruciuni program poate presupune# alocarea unitii aritmetico-logice /2.&0, pentru efectuarea de operaii aritmetice sau logice asupra datelor prelucrate de program$ alocarea unui dispoziti! 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 mane!rate de program$ accesarea unei anumite structuri de date /de exemplu un fiier din memoria extern0$ apelul, pentru execuie, a unui alt program, ncrcat n memoria intern sau memorat n memoria extern a sistemului de calcul, etc. 3ntotdeauna, execuia unui program presupune alocarea unei anumite zone din memoria intern a sistemului de calcul. 3ntotdeauna, execuia unui program presupune afectarea unei perioade din timpul de lucru al 2'. 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 sec!en de acti!iti care se execut la un moment dat n sistemul de calcul i care se caracterizeaz prin# prelucrrile care se realizeaz, determinate de sec!ena de instruciuni care controleaz procesul contextul de lucru asupra cruia acioneaz procesul, prin intermediul prelucrrilor, i care include resursele alocate procesului. entru 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 c4t din resurs este disponibil pentru c4t timp poate fi alocat resursa dac resursa este de1a alocat altui proces, dac ea mai este necesar procesului cruia i este alocat. (ezult astfel funciile care trebuiesc ndeplinite de componenta sistemului de operare cu rol n gestionarea resurselor sistemului de calcul# 5. e!idena resurselor sistemului de calcul n fiecare moment, prin nregistrarea fiecrei resurse, a strii ei /alocat sau liber0 i a gradului ei de ocupare /c4t din resurs este alocat0$ 6. 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 c4t din resurs se aloc n ce moment se face alocarea pentru c4t timp se face alocarea resursei. -trategiile de alocare difer n funcie de sistemul de operare i de resurs$ 7. alocarea efecti! a resursei, cu actualizarea informaiilor legate de starea resursei$ 8. dezalocarea resursei care poate fi fcut# la iniiati!a procesului care a solicitat-o, atunci c4nd ea nu mai este necesar procesului la iniiati!a sistemului de operare, pentru a fi alocat i altor procese. .ceast ultim !ariant este utilizat numai de anumite tipuri de sisteme de operare. Componenta de comand i control a sistemului de operare .cti!itatea de lansare n execuie a unui program, acti!itatea 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 e!enimentelor deosebite care apar n timpul execuiei programelor asigurarea proteciei informaiilor mane!rate de di!erse programe /aceste programe pot fi ale sistemului de operare sau programe utilizator0. 'onform acestor funcii, componenta de comand i control a sistemului de operare !a include# nucleul sistemului de operare, cu funcia de coordonare a acti!itii sistemului de calcul i a celorlalte componente ale sistemului de operare. .ceast component este rezident n memoria intern pe toat durata funcionrii sistemului de calcul i se mai numete monitorul rezident al sistemului de operare. c4te 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. Componenta de servicii a sistemului de operare 'omponenta de ser!icii a sistemului de operare s-a dez!oltat odat cu cerinele utilizatorilor sistemelor de calcul. 9radul de accesibilitate al unui sistem de calcul, ca i complexitatea sarcinilor pe care utilizatorul le poate rezol!a cu a1utorul lui, sunt influenate de existena i eficiena programelor de sistem incluse n componenta de ser!icii. rogramele de ser!icii se execut sub supra!egherea programelor de comand i control, ca orice program de aplicaie. .ceast component ofer ser!icii diferite, de la un sistem de operare la altul, sau chiar ntre !ariante diferite ale aceluiai sistem de operare. 'omponenta de ser!icii 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, asigur4nd 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 /92, - 9raphical 2ser ,nterface0 $ funcia de nlnuire prin date a comenzilor sistemului de operare /mecanismul pipe0, 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 <elp-ul sistemului de operare$ funcia de tipul : plug and pla= ; 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 zecimal0 conform rii selectate $ funcii pentru configurarea personalizat a mediului de lucru cu sistemul de calcul, de exemplu pentru utilizatori cu opiuni speciale de mane!rare a echipamentelor /tastatur, mouse, etc.0 Obiectivele i funciile unui sistem de operare )biecti!ele 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 !itezei 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 obiecti!e 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 inter!enite n structura hardware sau cu necesitile de exploatare a sistemului. "e exemplu, sistemul de operare ")- se poate configura dinamic prin intermediul fiierului ')>F,9.-?- care se consult la fiecare ncrcare a sistemului de operare i care permite instalarea altor dri!ere de echipamente dec4t cele standard i definirea unor parametri de funcionare ai sistemului, permi4nd 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 ni!el fizic, pentru a permite utilizatorului tratarea echipamentelor periferice la ni!el logic, adic independent de caracteristicile constructi!e ale lor. .ceast funcie permite degre!area utilizatorului de sarcina tratrii specifice a fiecrui tip de echipament periferic n parte. "e 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 ni!el fizic al echipamentului, numit dri!er de imprimant i de componenta sistemului de operare care trateaz operaiile de ieire prin intermediul imprimantei# dri!erul portului paralel $ oferirea unei interfee cu utilizatorul, prin intermediul unui limba1 specific, numit limba1ul de comand al sistemului de operare$ prin intermediul acestui limba1, utilizatorul transmite comenzi sistemului de operare$ ele sunt traduse i lansate n execuie de programul interpretor de comenzi al sistemului de operare. 3n sistemele de operare mai noi, interfaa cu utilizatorul este asigurat folosind metode grafice e!oluate i principii noi de comunicare, rezultatul fiind o modalitate mult mai AprietenoasB de dialog cu utilizatorul$ o astfel de interfa se numete interfa grafic cu utilizatorul /9raphical 2ser ,nterface0$ 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 2', a memoriei interne, accesul la fiiere, accesul la echipamentele periferice,etc. pe toat durata execuiei unui program, n scopul utilizrii c4t mai eficiente a acestor resurse. 3n 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 obiecti!elor de eficien de mai sus$ asigurarea proteciei ntre utilizatori, acolo unde sistemul de operare permite accesul concomitent al mai multor utilizatori /programe0 la resursele sistemului de calcul, i asigurarea proteciei ntre programe, fie c este !orba de programe utilizator sau programe ale sistemului de operare. .ceast protecie se refer la e!itarea 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 ni!elul 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.0 sau erori logice, care pot s apar n timpul executrii unui program /de exemplu# operaii interzise, ca mprirea la C, tentati!a de acces n zone prote1ate ale memoriei interne, tentati!a de execuie a unor instruciuni pri!ilegiate, etc.0$ funcii auxiliare, cum ar fi# contabilizarea acti!itii sistemului de calcul, 1urnalizarea comenzilor adresate interpretorului de comenzi al sistemului de operare, 1urnalizarea erorilor, etc. Clasificarea sistemelor de operare din punctul de vedere al eecuiei proceselor 3n general, programele utilizeaz n mod diferit resursele unui sistem de calcul /unele ocup mai puin memorie intern dec4t altele, unele execut mai multe operaii de intrare@ieire, timp n care 2' este utilizat mai puin, altele fac prelucrri complexe asupra datelor, utiliz4nd intens unitatea aritmetico-logic, etc0. entru utilizarea eficient a resurselor sistemului de calcul, unele sisteme de operare pot gestiona execuia concurent a mai multor procese, asigur4nd proceselor din sistem accesul concurent la resursele sistemului sau parta1area resurselor. .ceasta 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 c4t mai multor cereri ale acestor procese pentru alocarea de resurse. ) caracteristic important a unui sistem de operare este msura n care poate asigura execuia concurent a proceselor. "up acest criteriu, sistemele de operare pot fi# monotas!ing, care nu asigur execuia concurent i nici parta1area resurselor ntre mai multe procese. -ub controlul unui sistem de operare monotasDing, la un moment dat, n sistemul de calcul se poate executa un singur program$ acesta rm4ne acti! din momentul lansrii lui n execuie i p4n la terminarea lui complet$ c4t timp este n execuie, programul are acces la toate resursele sistemului de calcul. Exemplu: sistemele de operare *--")- i '@* sunt sisteme de operare monotasDing$ n timpul executrii unui program, sistemul de operare pierde controlul asupra sistemului, n fa!oarea programului aflat n execuie, care preia controlul p4n n momentul ncheierii execuiei sale. multitas!ing sunt acele sisteme de operare care asigur execuia concurent a mai multor procese care exist concomitent n sistem. Exemplu: sistemele de operare Eindows, 2nix sunt sisteme multitasDing. .plicaia Eindows 7.x rulat sub sistemul de operare monotasDing *--")- permite exploatarea n regim multitasDing a aplicaiilor Eindows. 3n plus fa de sistemele de operare monotasDing, pentru un sistem de operare multitasDing trebuiesc definite strategiile de alocare a resurselor la procesele concurente, strategii care !or fi folosite de componentele sistemului de operare pentru gestionarea resurselor. Clasificarea sistemelor de operare dup gradul de interaciune cu utilizatorul 2n sistem de operare are rolul de a interfaa comunicarea ntre utilizator i sistemul de calcul. %endina actual n cererea utilizatorilor este de a crete at4t gradul de interaciune cu sistemul de calcul c4t 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. e de alt parte, din punctul de !edere al gradului de utilizare i al accesibilitii sistemului de calcul, o caracteristic important este numrul de utilizatori care pot a!ea acces, la un moment dat, la sistem. "in punctul de !edere 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. "e cele mai multe ori, interfaa dintre sistemul de operare si utilizator nu dispune de un limba1 de comand accesibil utilizatorului obinuit, moti! pentru care comunicarea dintre utilizator i sistem nu este direct ci mediat de persoane specializate ca operatori de calculator. 3n 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 limba1 dedicat acestui scop /limba1ul de comand al sistemului de operare sau interfaa grafic utilizator0. 3n plus, utilizatorul poate urmri modul n care se execut programul su i poate influena, n anumite condiii, execuia acestuia. 2n sistem de operare interacti! presupune o arhitectur a sistemului de calcul care s cuprind echipamente standard de intrare@ieire dedicate comunicrii utilizatorului cu sistemul de operare /terminale ,@)0$ aceste echipamente cuprind, de obicei, o tastatur, ca echipament standard de intrare i un dispoziti! de !izualizare a informaiilor de ieire /un displa= sau o mini- imprimant0. -istemele de operare interacti!e pot fi# o monouser, c4nd comunicarea cu sistemul de calcul este posibil, la un moment dat, numai pentru un singur utilizator, prin intermediul consolei sistemului de calcul$ o multiuser, c4nd sistemul de operare poate gestiona comunicarea concomitent cu mai muli utilizatori, conectai la sistemul de calcul prin intermediul echipamentelor terminale de intrare@ieire. Exemplu: *--")- este un sistem interacti! monouser$ 2nix este un sistem interacti! multiuser. Clasificarea sistemelor de operare dup configuraia "ard#are deservit -e 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 deser!esc. -tructura 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. e de alt parte, un sistem de calcul puternic, ce permite prelucrri complexe, are ne!oie de un sistem de operare la fel de puternic, capabil s asigure o bun coordonare a acti!itii sistemului de calcul i o gestionare optim a resurselor acestuia. "up configuraia hardware deser!it, sistemele de operare sunt# sisteme de operare pentru microcalculatoare# o sunt puternic interacti!e, cu un limba1 de comand accesibil sau cu interfa grafic utilizator$ o unele sunt monouser i monotasDing /*--")-0, altele multitasDing /Eindows0, e!entual i multiuser /2nix0$ o sunt uor configurabile, oferind proceduri automate pentru ncrcarea sau pentru instalarea sistemului de operare$ o ocup un spaiu redus n memoria intern$ o suport dez!oltri pentru a permite conectarea n reele de calculatoare sau ca terminale la sisteme de calcul mari$ o au funcia de gestionare a informaiei dez!oltat n direcia mane!rrii unui numr mare de fiiere de dimensiuni mici$ sisteme de operare pentru minicalculatoare# o sunt interacti!e, multiuser i multitasDing$ o folosesc un limba1 de comand pentru utilizatori a!izai$ 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 dez!oltat$ o orientate pentru lucrul cu mai muli utilizatori, oferind un sistem complex de protecie a informaiei$ o orientate pentru lucrul cu multe terminale, put4nd ndeplini funcia de concentrator de date$ sisteme de operare pentru calculatoare mainframe# o seriale sau interacti!e, multitasDing$ o limba1 de comand pentru utilizatori specializai$ o gestioneaz un numr mare de echipamente periferice$ o orientate pentru prelucrri complexe i pentru !olume mari de date. 3n 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. 3n 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. 'el mai eloc!ent exemplu n aceast direcie este reeaua ,nternet care realizeaz legtura ntre cele mai diferite tipuri de sisteme de calcul, funcion4nd sub controlul unor sisteme de operare di!erse. "in punctul de !edere al dez!oltrii sistemului de operare, tendina actual este de dez!oltare a sistemelor de operare portabile, adic acele sisteme de operare care funcioneaz pe platforme hardware diferite. 2n exemplu n acest sens este sistemul de operare 2>,F. ) alt direcie este dez!oltarea de familii de sisteme de operare, de exemplu familia sistemelor de operare Eindows, n care au fost dez!oltate sisteme de operare interacti!e, multitasDing, asigur4nd i funciile pentru lucrul n reea de calculatoare$ ntre aceste sisteme de operare, unele sunt specializate pentru un anumit mod de utilizare, de exemplu# Eindows >% -er!er, pentru ser!er de reea sau Eindows >% EorDstation pentru staii de lucru din reea.