|
Sistemul de operare reprezinta ansamblul de programe care asigura utilizarea optima a resurselor fizice si logice ale unui sistem de calcul[62] . El are rolul de a gestiona functionarea componentelor hardware ale sistemului de calcul, de a coordona si controla executia programelor si de a permite comunicarea utilizatorului cu sistemul de calcul. Folosirea hardware-ului unui sistem de calcul ar fi dificila si ineficienta in lipsa unui sistem de operare. Sistemul de operare este componenta software care coordoneaza si supravegheaza intreaga activitate a sistemului de calcul si asigura comunicarea utilizatorului cu sistemul de calcul, trebuind sa fie capabil sa realizeze o interfata intre calculatorul propriu-zis si utilizator El este interpretul cerintelor utilizatorului, exprimate intr-un limbaj de comanda, executand aceste cerinte prin intermediul instructiunilor masina.
Un sistem de operare performant trebuie sa posede urmatoarele atribute:
Timp de raspuns exprima durata intervalului delimitat de lansarea unei cereri de serviciu si achitarea acesteia de sistem.
Simultaneitatea utilizarii: exprima gradul in care un sistem poate lucra in acelasi timp pentru mai multi utilizatori sau sa execute mai multe lucrari ale aceluiasi utilizator.
Utilitate: sa satisfaca toate cerintele utilizatorului asigurand o interfata facila cu programele de aplicatii.
Generalitate: sa poata raspunde corect la toate cerintele formulate si deci sa permita rezolvarea unor probleme cat mai variate ale utilizatorului.
Eficienta: sa asigure utilizarea optima a resurselor fizice si logice ale sistemului de calcul.
Transparenta si vizibilitate: capacitatea de a permite utilizatorilor sa obtina anumite informatii despre modul cum opereaza sistemul, informatii suplimentare care pot duce la obtinerea unei utilizari mai eficiente.
Flexibilitate: posibilitatea modificarii sistemului de operare in functie de cerintele utilizatorului.
Opacitate: din punct de vedere al utilizatorului trebuie sa existe numai necesitatea de cunoastere la nivel de interfata, fara a patrunde la structurile inferioare, care pentru utilizator reprezinta "cutia neagra" a sistemului de operare.
Securitate: sistemul de operare trebuie protejat impotriva unor incercari voluntare sau involuntare de distrugere prin programele utilizatorilor.
Integritate: sistemul de operare impreuna cu aplicatiile concepute pentru el trebuie sa poata comunica cu alte sisteme de operare sau cu programe concepute sub alte sisteme de operare. Aceasta calitate este cu adevarat pusa in valoare in cazul lucrului in retelele de calculatoare.
Capacitate: posibilitatea sistemului de operare de a suplini unele facilitati necesare, dar care nu pot fi realizate fizic datorita unor restrictii hardware.
Fiabilitate si disponibilitate: capacitatea sistemului de operare de a cadea foarte rar in pana, de a izola eventualele erori ce pot apare si de a continua activitatea in conditii de capacitate si eficienta redusa.
Serviabilitatea: posibilitatea sistemului de operare de a furniza utilizatorului informatiile necesare pentru o depanare cat mai rapida a programelor.
Extensibilitate: adaugarea de noi facilitati care sa tina pasul cu cerintele utilizatorilor.
Interoperabilitatea: sistemul de operare trebuie sa admita accesul la structurile de date care au fost construite sub un alt sistem de operare. Pentru a permite integrarea si interoperabilitatea au fost definite standarde internationale privind specificatiile unui sistem de operare.
Pentru a fi acceptat de utilizator un sistem de operare trebuie sa indeplineasca urmatoarele conditii:
sa fie usor de utilizat;
sa necesite resurse hardware minimale;
sa existe un numar cat mai mare de aplicatii care sa ruleze sub acel sistem de operare;
sa aiba un cost de achizitie si de intretinere cat mai scazut.
In practica sunt utilizate numeroase sisteme de operare, fiind acceptate mai multe criterii de grupare a acestora. Cel mai adesea clasificarile au in vedere: configuratiile calculatoarelor pe care sunt instalate, gradul de partajabilitate a resurselor, tipurile de interactiuni permise si organizarea interna a programelor componente, numarul prelucrarilor executate[63] .
1. Dupa configuratiile hardware pe care le deservesc, sistemele de operare pot fi:
a. Sisteme de operare pentru calculatoare medii/mari (mainframe-uri);
b. Sisteme de operare pentru minicalculatoare;
c. Sisteme de operare pentru microcalculatoare.
Sistemele de operare pentru mainframe-uri se caracterizeaza prin posibilitati de lucru seriale si/sau interactive, multitasking, sunt sisteme de operare puternice care pot gestiona lucrul cu un numar mare de periferice, orientate pentru prelucrari complexe si pentru volume mari de date si dispun de un limbaj de comanda pentru utilizatori specializati.
Sistemele de operare pentru minicalculatoare folosesc cu prioritate tehnicile time-sharing si multiprogramare, permitand partajarea resurselor pentru lucrul interactiv multiutilizator si planificarea unitatii centrale pentru servirea tuturor utilizatorilor. Ele sunt interactive, multiuser si multitasking; folosesc un limbaj de comanda pentru utilizatori avizati; procedurile de incarcare la conectarea sistemului si de instalare a sistemului de operare sunt mai laborioase; sunt mai rigide, in cazul modificarii configuratiei hardware; asigura un sistem de prioritati de executie dezvoltat; sunt orientate pentru lucrul cu mai multi utilizatori, oferind un sistem complex de protectie a informatiei sunt orientate pentru lucrul cu multe terminale, putand indeplini functia de concentrator de date.
Sistemele de operare pentru microcalculatoare sunt cele mai folosite la ora actuala, deoarece pot fi achizitionate intr-o configuratie minima, la un pret accesibil utilizatorilor si sunt usor de exploatat. Pot fi instalate atat pe sisteme de calcul individuale, cat si pe sisteme de calcul cuplate in retea. Ele sunt puternic interactive, cu un limbaj de comanda accesibil sau cu interfata grafica utilizator; unele sunt monouser si monotasking (MS-DOS), altele multitasking (Windows), eventual si multiuser (Unix); sunt usor configurabile, oferind proceduri automate pentru incarcarea sau pentru instalarea sistemului de operare; ocupa un spatiu redus in memoria interna;
2. Dupa gradul de partajare a resurselor sunt:
a. Sisteme de operare monoutilizator;
b. Sisteme de operare multiutilizator;
Sistemele de operare monoutilizator sunt cele mai simple sisteme de operare si permit executarea la un moment dat, a unui singur program care ramane activ in memoria interna, de la lansare si pana la terminarea sa. In cazul unor sisteme de calcul medii/mari, aceste sisteme de operare admit in plus tehnica swapping (transfer date), prin care un program este executat pe portiuni, alternand momentele de prelucrare si de stocare in memoria interna, cu cele de evacuare pe disc. In timpul evacuarii, in memoria interna este incarcat un alt program care si el se supune tehnicii swapping.
Sistemele de operare multiutilizator au in vedere partajarea memoriei, a unitatii centrale de prelucrare, a perifericelor sau a altor tipuri de resurse, intre utilizatorii conectati la un moment dat. Aceste sisteme lucreaza in multiprogramare folosind si tehnici de gestiune si protectie a utilizatorilor.
3. Dupa tipurile de interactiuni permise, sistemele de operare se clasifca in:
a. Sisteme de operare seriale;
b. Sisteme de operare interactive;
c. Sisteme de operare in timp real.
Sistemele de operare seriale sunt acele sisteme de operare pentru care gradul de interactiune cu utilizatorul, in timpul prelucrarilor, este practic nul. De cele mai multe ori, interfata dintre sistemul de operare si utilizator nu dispune de un limbaj de comanda accesibil utilizatorului obisnuit, motiv pentru care comunicarea dintre utilizator si sistem nu este directa, ci mediata de persoane specializate (operatori de calculator). In timpul executiei lucrarii sale, utilizatorul furnizeaza datele care se prelucreaza odata cu formularea cererii de prelucrare si primeste rezultatele prelucrarii la incheierea executiei.
Sistemele de operare interactive permit comunicarea directa intre utilizator si sistemul de calcul, prin intermediul unui limbaj dedicat acestui scop (limbajul de comanda al sistemului de operare sau interfata grafica utilizator), utilizatorul putand interveni in timpul executiei programului. In functie de unele rezultate intermediare, utilizatorul poate decide modul de continuare a activitatii. Cu aceste sisteme este posibila si gestionarea terminalelor de teletransmisiuni cuplate la un calculator gazda sau organizate intr-o retea de calculatoare. Sistemele de operare interactive pot fi monouser sau multiuser.
Exemplu: Windows este un sistem interactiv monouser; Unix este un sistem interactiv multiuser.
Sistemele de operare in timp real permit deservirea, in timp prestabilit, a fiecarei operatii cerute de utilizator.
4. Dupa numarul prelucrarilor executate simultan, exista:
a. Sisteme de operare monotasking;
b. Sisteme de operare multitasking.
Pentru utilizarea eficienta a resurselor sistemului de calcul, unele sisteme de operare pot gestiona executia concurenta a mai multor procese, asigurand proceselor din sistem accesul concurent la resursele sistemului sau partajarea resurselor. Aceasta inseamna ca, la un moment dat, in sistem se pot afla in executie mai multe procese care concureaza intre ele pentru accesul la resursele sistemului, iar sistemul de operare gestioneaza resursele sistemului pentru satisfacerea cat mai multor cereri ale acestor procese pentru alocarea de resurse. O caracteristica importanta a unui sistem de operare este masura in care poate asigura executia concurenta a proceselor. Dupa acest criteriu, sistemele de operare pot fi:
Sistemele de operare monotasking executa un singur task (lucrare, sarcina, program) la un moment dat; ele nu asigura executia concurenta si nici partajarea resurselor intre mai multe procese. Sub controlul unui sistem de operare monotasking, la un moment dat, in sistemul de calcul se poate executa un singur program; acesta ramane activ din momentul lansarii lui in executie si pana la terminarea lui completa; cat timp este in executie, programul are acces la toate resursele sistemului de calcul.
Exemplu: sistemele de operare MS-DOS si CP/M sunt sisteme de operare monotasking; in timpul executarii unui program, sistemul de operare pierde controlul asupra sistemului, in favoarea programului aflat in executie, care preia controlul pana in momentul incheierii executiei sale.
Sistemele de operare multitasking sunt acele sisteme de operare care asigura executia concurenta a mai multor procese care exista concomitent in sistem.
Fata de sistemele de operare monotasking, aceste sisteme trebuie sa asigure si partajarea timpului intre programele ce se executa simultan, precum si gestiunea alocarii resurselor sistemului de calcul, atat hardware cat si software.
Exemplu: sistemele de operare Windows, Unix sunt sisteme multitasking.
In ceea ce priveste evolutia sistemelor de calcul, in prezent se constata tendinta de apropiere a performantelor sistemelor de operare pentru sisteme de calcul mari de cele ale sistemelor de operare pentru mini sau microcalculatoare. In acelasi timp, se realizeaza o integrare functionala tot mai accentuata a diferitelor tipuri de sisteme de calcul in platforme de lucru comune, de obicei prin conectarea acestora in retele de calculatoare. Cel mai elocvent exemplu in aceasta directie este reteaua Internet care realizeaza legatura intre cele mai diferite tipuri de sisteme de calcul, functionand sub controlul unor sisteme de operare diverse.
De asemenea, se urmareste dezvoltarea de sisteme de operare portabile, adica care functioneaza pe platforme hardware diferite. Un exemplu in acest sens este sistemul de operare UNIX.
O alta directie este dezvoltarea de familii de sisteme de operare. Un exemplu este familia sistemelor de operare Windows care cuprinde sisteme de operare interactive, multitasking, asigurand si functiile pentru lucrul in retea de calculatoare; intre aceste sisteme de operare, unele sunt specializate pentru un anumit mod de utilizare, de exemplu: Windows NT Server, pentru server de retea sau Windows NT Workstation pentru statii de lucru din retea.