Administratie | Alimentatie | Arta cultura | Asistenta sociala | Astronomie |
Biologie | Chimie | Comunicare | Constructii | Cosmetica |
Desen | Diverse | Drept | Economie | Engleza |
Filozofie | Fizica | Franceza | Geografie | Germana |
Informatica | Istorie | Latina | Management | Marketing |
Matematica | Mecanica | Medicina | Pedagogie | Psihologie |
Romana | Stiinte politice | Transporturi | Turism |
Sistemul de operare reprezinta ansamblul de programe care asigura utilizarea optima a resurselor fizice si logice ale unui sistem de calcul[1]. 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.
Sistemele de operare au aparut si evoluat in directa legatura cu arhitectura sistemelor electronice de calcul: aparitia de noi dispozitive hardware a provocat dezvoltarea sistemelor de operare, dupa cum si cresterea performantelor sistemelor de operare a determinat imbunatatirea parametrilor hardware.
La primele calculatoare electronice programatorul era si operator prin intermediul consolei. Acesta era asistat de un rudiment de sistem de operare sub forma unor mici programe, in format binar, aflate pe suporturi de hartie care erau incarcate atunci cand era nevoie. Desigur era o folosire ineficienta a calculatorului intrucat unitatea centrala (care era foarte scumpa) nu lucra in timpul cand programatorul/operator gandea ce sa faca in continuare sau executa diferite manevre. Ideea reducerii timpului de asteptare a condus la introducerea unor concepte noi, ce s-au finalizat cu aparitia sistemelor de operare.
Primele sisteme de operare asigurau executarea secventiala pe loturi de programe (batch-processing) in regim de monoprogramare. Ele asigurau automatizarea unor lucrari repetitive, oricare ar fi programele de executat (de exemplu eliberarea zonelor de memorie ocupate, verificarea amplasarii corecte a fisierelor cerute pe suporturile din unitatile periferice, asigurarea ca unitatile periferice sunt gata pentru lucru etc.). Incredintand calculatorului sarcina coordonarii propiilor sale lucrari s-a ameliorat viteza de lucru si siguranta functionarii. De asemenea, executia unui program poate determina aparitia unor erori sau incidente (de exemplu lipsa hartiei la imprimanta, lipsa dischetei in unitate etc.). Multe din aceste incidente sunt repetitive si se poate incredinta calculatorului reperarea, semnalarea lor operatorului si in unele cazuri, tratarea lor dupa o solutie programata.
In multiprogramare problemele se complica si mai mult cand in memorie coexista simultan mai multe programe ce trebuie executate. Sincronizarea lucrarilor trebuie realizata la nivelul microsecundelor si nu poate fi atribuita operatorului uman. Ea este realizata prin programe si inclusa in sistemul de operare.
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
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.
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.
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.
Pentru a raspunde rolului de interfata intre utilizatori si partea hardware a sistemului electronic de calcul si pentru a gestiona eficient resursele, majoritatea sistemelor de operare au in structura lor doua componente majore: programe de comanda-control si programe de servicii.
Componenta de comanda si control cuprinde programe ce au rolul de a asigura utilizarea eficienta a resurselor sistemului de calcul. Resursele sistemului de calcul pe care sistemul de operare le pune la dispozitia utilizatorului se constituie din totalitatea componentelor fizice sau logice ale sistemului de calcul, care pot fi solicitate, la un moment dat, in timpul executiei unui program.
Functiile componentei de comanda si control ale sistemului de operare sunt:
Componenta de comanda si control a sistemului de operare include:
Astfel, in categoria programelor de comanda si control intra:
Programe de gestiune intreruperi care reprezinta un ansamblu de subrutine activate la aparitia unui anumit semnal fizic de intreruperi.
Sistemul de intreruperi reprezinta o combinatie de instrumente hardware si software care asigura comunicarea intre componentele functionale elementare ale unui sistem de calcul prin intermediul intreruperilor. Intreruperea reprezinta suspendarea temporara a executiei procesului care are alocata UCP, in momentul in care apare un eveniment in sistem, in scopul tratarii acestui eveniment de catre UCP. Pentru ca o intrerupere sa fie functionala, este necesar sa poata fi indeplinite doua conditii:
UCP sa dispuna de capacitatea de a fi intrerupta, adica sa fie posibil ca UCP sa fie alocata altui proces, inainte de incheierea executiei procesului caruia ii este alocata, la un moment dat;
sa existe posibilitatea de a conserva parametrii procesului suspendat, pentru ca acesta sa poata fi continuat ulterior, din punctul in care a fost intrerupt.
Programe de gestiune procese care creeaza procese si rezolva probleme privind cooperarea si concurenta acestora.
Programe de gestiune a memoriei care aloca necesarul de memorie interna solicitat de procese si asigura protectia memoriei interprocese.
Proceduri de tratare a intrarilor si iesirilor la nivel fizic care asigura efectuarea operatiunilor elementare de I/E cu toate tipurile de periferice din sistem, realizand, unde este posibil, desfasurarea simultana a uneia sau mai multor operatiuni de I/E cu prelucrarile realiozate de procesorul central.
Programe de gestiune a fisierelor care reprezinta o colectie de module prin care se asigura deschiderea, inchiderea si accesul utilizatorului la datele din fisiere.
Programe de planificare a lucrarilor si de alocare a resurselor.
Programe de gestiune tehnica a sistemului de operare care tin evidenta erorilor hardware si la cerere furnizeaza informatii asupra gradului de utilizare a componentelor sistemului electronic de calcul.
Programe de statistica a sistemului de operare care tin evidenta utilizatorilor, a lucrarilor executate de acestia si a resurselor consumate.
Programele de servicii asigura sub supravegherea programelor de control, dezvoltarea programelor de aplicatii si exploatarea celorlalte facilitati oferite de sistemul de operare.
Componenta de servicii a sistemului de operare s-a dezvoltat odata cu cerintele utilizatorilor sistemelor de calcul. Gradul de accesibilitate al unui sistem de calcul, ca si complexitatea sarcinilor pe care utilizatorul le poate rezolva cu ajutorul lui sunt influentate de existenta si eficienta programelor de sistem incluse in componenta de servicii. Programele de servicii se executa sub supravegherea programelor de comanda si control, ca orice program de aplicatie.
Aceasta componenta ofera servicii diferite, de la un sistem de operare la altul, sau chiar intre variante diferite ale aceluiasi sistem de operare.
Programele de serviciu pot fi grupate astfel:
Programele translatoare traduc programele sursa in programe obiect (asambloare/macroasambloare, compilatoare, interpretoare) ale caror instructiuni in limbaj masina pot fi executate de sistemul de calcul. O succinta comparatie dintre asamblor, compilator si interpretor indica urmatoarele:
Asamblorul este determinat de limbajul masina, specific fiecarui sistem de calcul, iar compilatorul este specific unui anumit limbaj, independent de sistemul de calcul;
Asamblorul usureaza scrierea programelor folosind simboluri in locul limbajului masina, in timp ce compilatorul ofera posibilitatea scrierii de programe pentru orice sistem de calcul ce dispune de compilatorul respectiv;
Asamblorul translateaza o definitie simbolica a programului sursa intr-o definitie din programul obiect, in timp ce compilatorul translateaza mai multe definitii din programul obiect. Ca urmare, memoria este mai putin ocupata de asamblor, dar compilatorul este mai puternic datorita includerii intr-o definitie-sursa a mai multor definitii-obiect;
Executia repetata a unui program este facilitata de compilator care realizeaza translatarea o singura data, in timp ce interpretorul translateaza de fiecare data programul.
Editoarele de legaturi prelucreaza programul obiect rezultat in urma compilarii, transformandu-l in program executabil. Editorul de legaturi realizeaza urmatoarele functii:
stabilirea legaturii intre module in vederea constituirii programului executabil;
includerea in programul executabil a unor componente din bibliotecile sistem;
includerea unor componente ale sistemului de operare care faciliteaza punerea la punct si depanarea programelor utilizator.
Programele de incarcare sunt programe ce asigura incarcarea programelor executabile in memoria interna, initializand executia. Incarcarea se poate face in mai multe variante:
imediat dupa translatare, cand incarcatorul este inclus in compilator (compilatoare de tip LOAD and GO);
in momentul link-editarii, cand incarcatorul este inclus in editorul de legaturi;
dupa link-editare, cand incarcatorul este independent
Programele de depanare ofera mijloace de verificare si corectare a operatiilor realizate de programul curent:
suspendarea executiei in punctele prestabilite;
realizarea de modificari si corectii aditionale la reluarea programului;
examinarea si modificarea, dupa caz, a programului existent in memoria interna.
Editoarele de texte permit editarea textelor, crearea si actualizarea programelor, a fisierelor de date, fisierelor de comenzi etc.
Programele de bibliotecare asigura crearea, gestionarea si intretinerea bibliotecii sistem (formata din module ale sistemului de operare) si a bibliotecilor utilizator. Bibliotecile de programe sunt colectii de programe organizate sub forma unor fisiere partajate in scopul utilizarii lor ulterioare. Bibliotecarul este apelat implicit de catre sistemul de operare in etapele de punere la punct a programelor si explicit de catre utilizator prin comenzi specifice limbajului de comanda. Ca exemple de bibliotecare putem aminti: LBR - sub MS-DOS, AR (Archive) - sub UNIX.
Mediile de programare permit automatizarea procesului de construire si testare a programelor. In componenta lor intra un editor de texte, un compilator, un editor de legaturi, un depanator.
Suprafetele de operare ofera o gama variata de servicii ce inlesnesc executarea rapida a lucrarilor de rutina. Intra in aceasta categorie programe de serviciu de tipul: Norton Commander, Win Commander, Windows Explorer.
Un sistem electronic de calcul poate sa lucreze in doua moduri:
modul supervizor (kernel) cand controlul este detinut de catre sistemul de operare,
modul utilizator (user) cand controlul este detinut de un program de aplicatii.
Interfata dintre nucleul sistemului si programele de aplicatii este asigurata printr-un set de instructiuni extinse pe care sistemul de operare le poate executa. Ele sunt cunoscute si sub numele de apeluri sistem. Pentru fiecare apel exista cate o procedura in biblioteca de proceduri a sistemului de operare, astfel incat atunci cand un program utilizator emite un apel, sistemul de operare va lansa in executie o procedura din biblioteca. Prin aceste proceduri sistemul de operare ofera programelor de aplicatii diferite servicii, dintre care amintim:
servicii video care stabilesc modul de lucru al monitorului, pozitia cursorului, tipul cursorului, scrierea unui sir de caractere pe ecran etc.
servicii de disc care asigura citirea si scrierea sectoarelor, verificarea sectoarelor, stabilirea tipului de discheta etc.
servicii pentru tastatura care asigura stabilirea starii tastaturii, citirea unei taste etc.
Apelurile de sistem creeaza, sterg si folosesc diferite resurse software pe care le administreaza sistemul de operare. Cele mai importante dintre acestea sunt procesele. Procesul este format din programul executabil, datele si stiva de date a programului, registrele folosite de program si alte informatii necesare lansarii in executie a programului. Periodic sistemul de operare decide oprirea executiei unui proces pentru lansarea in executie a altui proces, asigurand partajarea timpului de lucru al procesorului intre mai multe programe. Reluarea unui proces oprit temporar are loc exact din starea in care a fost suspendat. Din aceasta cauza, toate informatiile despre proces sunt pastrate de catre sistemul de operare in tabelele proceselor.
Sistemul de operare apare ca un ansamblu de programe destinat sa raspunda la urmatoarele obiective:
usurarea utilizarii sistemului electronic de calcul prin preluarea lucrarilor de rutina, repetitive, precum si printr-un dialog suplu utilizator-sistem (prin intermediul unui limbaj de comanda);
utilizarea eficienta a resurselor sistemului electronic de calcul
cresterea eficientei globale in utilizarea sistemului de calcul prin cresterea vitezei de executie a prelucrarilor, reducerea timpului de raspuns al sistemului la solicitarile utilizatorilor, cresterea gradului de utilizare a resurselor prin utilizarea lor la capacitate maxima.
Apropierea utilizatorului de calculator solicita o interfata om‑calculator prietenoasa si, in acelasi timp, performanta. Pana la Windows limbajul de comanda al sistemelor de operare asigura un dialog de tip text (linie de comanda), uneori greoi si dificil de asimilat. Produse‑program ca Norton Commander au asigurat imbunatatirea dialogului prin faptul ca linia de comanda se construia prin selectii ale componentelor aparute in panourile de pe ecran. Primele versiuni WINDOWS asigurau o interfata grafica performanta pentru dialogul om‑calculator, dar ele nu inlocuiau sistemul de operare MS-DOS, ci reprezentau extensii ale acestuia.
Preocuparile de imbunatatire a interfetei om‑calculator au avut in vedere urmatoarele obiective:
suprimarea limbajului de comanda din sistemul de operare;
utilizarea unei interfete standardizate, oricare ar fi calculatorul utilizat;
asigurarea unei interfate suficient de evolutiva pentru a lua in considerare noutatile versiunilor ulterioare ale sistemului de operare;
interfata destul de facila pentru a putea fi utilizata de oricine, de la expert la profan.
Interfata WIMP[3] (Windows, Icones, Mouse, Pull‑down menus) raspunde acestor obiective prin componentele care-i dau denumirea: ferestre, icon-uri (pictograme), utilizarea mouse-ului si a meniurilor derulante. Aceast tip de interfata a fost realizat prima data de firma XEROX la PARC (Palo Alto Research Center), California. Ideea a fost preluata de Steve Jobs si a fost aplicata la calculatoarele LISA si apoi la MacIntosh. Principiul de baza consta in stabilirea unui dialog om‑calculator prin intermediul obiectelor afisate in fereastra activa. Fiecare obiect are asociate anumite comenzi care pot fi apelate cu ajutorul mouse-ului. Alte facilitati ale interfetei WIMP sunt:
ferestre tip termometru care indica modul cum progreseaza prelucrarea in curs (vezi comanda Copy sub Windows);
ferestre de alerta, cu mai multe nivele. Orice actiune ce prezinta un risc de pierdere a informatiei este sistematic supusa confirmarii utilizatorului (vezi stergerea fisierelor in Word).
Rolul sistemului de operare este de a asigura utilizarea eficienta a resurselor sistemului electronic de calcul, facilitand sarcinile utilizatorului. Sistemul de operare gestioneaza alocarea timpului UCP, a memoriei interne, accesul la fisiere, accesul la echipamentele periferice, etc. pe toata durata executiei unui program, in scopul utilizarii cat mai eficiente a acestor resurse. In cazul in care este posibila executarea simultana a mai multor programe, sistemul de operare realizeaza alocarea resurselor intre programe pe baza unor criterii de alocare, in scopul optimizarii executiei programelor. De asemenea, el trebuie sa asigure protectia intre utilizatori acolo unde sistemul de operare permite accesul concomitent al mai multor utilizatori (programe) la resursele sistemului de calcul, precum si protectia intre programe, fie ca este vorba de programe utilizator sau programe ale sistemului de operare. Aceasta protectie se refera la evitarea cazurilor de interferenta intre mai multe programe in executie, care ar putea duce la alterarea zonelor de program din memoria interna sau la alterarea, de catre un program, a datelor utilizate de un alt program.
Sistemul de operare poate trata erorile fizice (de exemplu, erori de citire/scriere in memoria externa, erori de acces la un echipament periferic, lipsa din configuratia sistemului de calcul a unui echipament, etc.) sau erorile logice care pot sa apara in timpul executarii unui program (de exemplu, operatii interzise, ca impartirea la 0).
Sistemele de operare pot avea si functia de asistenta « on line », cunoscuta ca Help-ul sistemului de operare, precum si functia de tipul « plug and play » care ofera facilitati de autodetectie a echipamentelor nou instalate in sistem si permite reconfigurarea hardware, cu usurinta, a sistemului, ca si notificarea schimbarii configurarii sistemului, de exemplu prin caderea unui echipament din sistem
Sistemul de operare indeplineste si o serie de functii auxiliare, cum ar fi: contabilizarea activitatii sistemului de calcul, jurnalizarea comenzilor adresate interpretorului de comenzi al sistemului de operare, jurnalizarea erorilor, etc.
Operatiunile realizate de sistemele de operare pentru a-si realiza obiectivele pot fi grupate astfel
gestiunea lucrarilor;
gestiunea intrarilor si iesirilor;
gestiunea fisierelor;
comunicarea cu utilizatorul.
O lucrare reprezinta un ansamblu de activitati delimitate prin comenzi specifice limbajului de comanda. Lucrarea cuprinde mai multe etape care se succed intr-o ordine prestabilita de utilizator. O etapa din lucrare poate fi descompusa la nivel inferior in procese care, in functie de logica lucrarii, se pot executa secvential sau concurent. Divizarea lucrarilor in procese asigura o utilizare mai eficienta a sistemului electronic de calcul, dar determina cresterea complexitatii sistemului de operare prin adaugarea de noi functii: alocarea resurselor la nivel de proces, sincronizarea proceselor, transmiterea informatiilor la procese.
Gestiunea lucrarilor este asigurata de un program specific (supervizor, monitor) care realizeaza gestiunea resurselor fizice ale calculatorului si coordonarea generala a derularii lucrarilor. Acest program coordoneaza si controleaza orice activitate derulata de alte programe ale sistemului de operare, indeplinind doua subfunctii esentiale:
gestiunea sarcinilor de indeplinit care determina care sunt programele sau modulele de program ce se vor executa;
gestiunea resurselor (mijloacelor) necesare executiei unui program incarcat in memoria principala.
Fiecare lucrare dispune la un moment dat de un spatiu de memorie si trebuie sa se supravegheze ca nici o alta sarcina sa nu patrunda in partitia alocata. Exista mai multe sisteme de gestiune a memoriei: partitii fixe, partitii variabile, paginare etc.
Exemplu: O cerere prioritara pornind de la un terminal poate obliga supervizorul sa elibereze o zona de memorie, deci sa suspende executia in curs si sa evacueze unele programe in memoria auxiliara, pastrand imaginea exacta din momentul aparitiei cererii.
Echipamentele periferice sunt foarte diverse (terminal, unitati de discuri, imprimante etc.) si functioneaza cu performante diferite de ale unitatii centrale. Schimburile de informatii intre periferice si unitatea centrala sunt intermediate de unitatile de intrare/iesire (canale, memorii tampon etc.) si necesita numeroase comenzi si controale succesive prin intermediul sistemului de operare.
Gestiunea intrarilor/iesirilor joaca un rol important in aplicatiile de gestiune. In practica, in momentul cand prin programul utilizatorului se solicita o operatie de I/E, gestionarul de I/E (numit adesea IOCS-INPUT OUTPUT CONTROL SYSTEM sau BIOS - Basic Input Output System) preia sarcinile legate de citirea si scrierea informatiilor pe unitatile periferice. In multe sisteme de operare gestionarul de I/E ofera posibilitati complementare cum sunt: gestiunea independenta a I/E, gestiunea mesajelor etc.
De exemplu, in sistemele de operare UNIX si MS‑DOS exista facilitati SPOOLing pentru listarile la imprimanta (comanda externa PRINT din MS‑DOS).
Gestiunea independenta a I/E (SPOOL-Simultaneous Peripheral Operations On Line) are la baza principiul separarii totale a operatiilor de I/E de operatiile de prelucrare. Toate datele de intrare sunt stocate pe disc magnetic pe masura preluarii lor si toate datele de iesire vor fi stocate tot pe disc si vor fi, mai tarziu, imprimate. In acest timp, unitatea centrala efectueaza alte lucrari.
Din tehnica SPOOL decurge un dublu avantaj:
pentru unitatea centrala operatiile de I/E se realizeaza numai printr-un schimb unic cu unitatea de discuri magnetice, iar viteza de lucru este ridicata;
daca un periferic de iesire este la un moment dat indisponibil prelucrarea va fi executata in continuare deoarece iesirea va avea loc pe disc.
Gestiunea mesajelor se aplica la calculatoarele interconectate in retea sau la calculatoarele care lucreaza cu mai multe terminale. Mesajele trebuie sa fie controlate si, eventual, aranjate intr-un fir de asteptare pus la dispozitia programului coordonator.
In aplicatiile economice unde operatiile de I/E sunt numeroase, calitatea gestiunii I/E prin sistemul de operare este un criteriu important al eficientei sistemului.
Sistemul de operare, programele utilizatorului sunt stocate si manipulate de sistemul electronic de calcul cu ajutorul fisierelor. Sistemul de operare simplifica accesul la fisiere asigurand totodata si protectia datelor.
Anumite fisiere sunt prezente permanent in memoria principala si se numesc rezidente in memorie (este vorba de nucleul sistemului de operare). Alte fisiere sunt memorate pe suporturi magnetice si sunt apelate in memoria interna numai cand sunt necesare (celelalte componente ale sistemului de operare, fisierele de date etc.). De aici apar probleme privind partajarea memoriei intre diferite fisiere care trebuie sa fie usor apelate in caz de nevoie si partajarea fisierelor intre mai multi utilizatori pe baza unor prioritati de acces.
Sistemul de gestiune al fisierelor (gestionarul de fisiere) este o componenta a sistemului de operare care realizeaza urmatoarele activitati:
Gestiunea fisierelor stocate in memoriile auxiliare. De exemplu, in sistemul de operare Windows fiecare utilizator dispune de o lista a fisierelor sale intr-un catalog (folder). Fiecare fisier este identificat printr-un nume si are anumite atribute (de exemplu, fisier read-only, fisier sistem, fisier ascuns aplicatiilor obisnuite), sunt stabilite drepturi de partajare a fisierului, de exemplu in cadrul unei retele de calculatoare, sunt oferite informatii de adresa care permit localizarea fisierului pe disc, informatii privind tipul fisierului, informatii despre date calendaristice, de exemplu: data cand a fost creat fisierul, data ultimei actualizari, data ultimei consultari
Protectia datelor. Gestiunea drepturilor de acces permite protejarea fisierelor contra modificarilor neautorizate sau contra distrugerilor datorate altor utilizatori. Protectia contra distrugerilor accidentale, datorate incidentelor hardware si software, se realizeaza prin copii de siguranta. De exemplu, fisierele backup (.BAK) retin penultima versiune a unui fisier. Uneori se recurge la salvarea fisierelor pe suporturi magnetice sau optice in scopul pastrarii acestora.
Gestiunea bibliotecilor de programe. De obicei un program este realizat pentru a fi executat de mai multe ori. Dupa obtinerea formatului executabil programul este stocat intr-o biblioteca de programe alaturi de altele, inclusiv cele ale sistemului de operare care nu sunt rezidente in memorie. Aceasta biblioteca este stocata, in general, pe discuri magnetice. Simpla precizare a numelui programului determina incarcarea sa in memorie.
Dialogul utilizator-calculator se realizeaza prin intermediul unor linii de comanda ce folosesc comenzi definite strict printr-un limbaj de comanda (de exemplu in MS-DOS prin comenzi interne si comenzi externe). Cu ajutorul limbajului de comanda utilizatorul specifica:
delimitarea lucrarilor;
structura lucrarilor;
necesarul de resurse fizice;
informatii privind seturile de date asociate lucrarii.
Fiecare comanda este recunoscuta de programe specializate numite interpretoare de comenzi (de exemplu, COMMAND.COM in MS-DOS). Aceste programe declanseaza operatiile curente activand alte module ale sistemului de operare. Comunicarea om-calculator se realizeaza si prin afisarea unor mesaje de raspuns pe ecran.
Un alt aspect al comunicatiei se refera la legatura intre programele utilizatorului si sistemul de operare. Modalitatile curente ale acestui dialog depind de tipul limbajului de programare utilizat si de tipul sistemului de operare. Ca regula generala aceste functii nu sunt standardizate decat pentru un limbaj de programare sub un sistem de operare. Aceasta explica de ce un program nu este executabil decat pe un calculator ce are sistemul de operare pentru care a fost scris programul.
Acest document nu se poate descarca
E posibil sa te intereseze alte documente despre:
|
Copyright © 2024 - Toate drepturile rezervate QReferat.com | Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site. { Home } { Contact } { Termeni si conditii } |
Documente similare:
|
ComentariiCaracterizari
|
Cauta document |