Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Descrierea componentei software a unui sistem de calcul

DESCRIEREA COMPONENTEI SOFTWARE A UNUI SISTEM DE CALCUL

1. Ierarhia componentelor software.

Un sistem de calcul constituie un ansamblu functional destinat prelucrarii automate a informatiilor. Pentru realizarea acestui obiectiv sistemul de calcul are nevoie atat de echipamente (componentele hardware) cat


Figura 1. Componentele software ale unui sistem de calcul

si de un set de programe care determina prelucrarile care se fac asupra informatiilor prin intermediul componentelor fizice ale sistemului de calcul. Conform celei mai generale clasificari, componentele unui sistem de calcul pot apartine uneia dintre urmatoarele categorii:



o       Hardware

o       Software

o       Firmware

Hardware-ul reprezinta componenta fizica a unui sistem de calcul, adica ansamblul de echipamente care alcatuiesc sistemul de calcul.

Firmware-ul este componenta de programe incarcate in memoria fixa ROM de catre producatorul sistemului de calcul. Aceasta componenta se afla la limita dintre hardware si software, reprezentand software-ul integrat in partea de hardware.

Componenta firmware a unui sistem de calcul, setul de instructiuni microprogramate incarcate in memoria fixa ROM, defineste un anumit mod de functionare si implicit de utilizare a sistemului de calcul. Din acest motiv, firmware-ul trebuie sa fie suficient de redus pentru a nu particulariza excesiv sistemul de calcul. Prin utilizarea unor memorii cu citire-scriere nevolatile alaturi de memoria ROM se obtin componente cu microprogramare dinamica. Aceasta consta in posibilitatea adaptarii secventei de programe fixe din ROM la incarcarea sistemului de operare.

Componenta ROM-BIOS a sistemelor de calcul compatibile PC este o componenta firmware realizata prin microprogramare dinamica. Rolul componentei BIOS este de interfata intre hardware si software, oferind componentei software functii de baza pentru utilizarea hardware-ului. In acest fel se realizeaza independenta componentelor software fata de caracteristicile hardware specifice sistemului de calcul, eliberand in acelasi timp componentele software de detalii legate de modul de lucru al hardware-ului. Fiind realizata prin microprogramare dinamica, componenta firmware (BIOS) permite modificarea unor parametri de functionare ai PC-ului intr-o secventa speciala derulata in timpul procedurii de incarcare a sistemului de operare la pornirea sistemului de calcul.

Software-ul reprezinta ansamblul de programe care fac posibila realizarea functiei sistemului de calcul, de prelucrare a informatiilor, si care constituie suportul logic de functionare a unui sistem de calcul. Intr-o traducere mot a mot, sotftware-ul inseamna "partea moale' a calculatorului, spre deosebire de hardware, 'partea tare". Componenta software a unui sistem de calcul cuprinde la randul ei programe grupate in mai multe categorii, dupa natura problemelor pe care le rezolva. Aceste categorii sunt (Figura 1.):

  1. Software-ul de baza, care este alcatuit din programele care asigura serviciile generale si care se adreseaza tuturor utilizatorilor sistemului de calcul;
  2. Software-ul utilitar (sistem de programare utilitare), care include programe cu grad mare de generalitate, puse la dispozitia utilizatorilor pentru a realiza anumite prelucrari specifice asupra informatiilor, prelucrari comune tuturor utilizatorilor.
  3. Software-ul de aplicatie, constituit din programe ale utilizatorilor, care rezolva probleme cu un nivel redus de generalitate, specifice fiecarui utilizator.

Software-ul de baza reprezinta totalitatea programelor care fac posibila functionarea si utilizarea unui sistem de calcul. El include programe ierarhizate dupa natura problemelor pe care le rezolva si dupa importanta lor. In acest sens avem:

  • Sistemul de operare, care actioneaza ca o interfata intre sistemul de calcul si utilizator. Sistemul de operare are rolul de a coordona si supraveghea functionarea sistemului de calcul si de a realiza comunicarea intre utilizator si sistemul de calcul;
  • Sistemul de programare cuprinde componentele software, care permit utilizatorului sa realizeze programe executabile pentru sistemul de calcul respectiv. Sistemul de programe cuprinde pachete de programe dedicate specifice fiecarui limbaj de programare folosit de utilizator. Spre exemplu:
    • programele editoare folosesc pentru introducerea si modificarea interactiva a instructiunilor;
    • programe translatoare specifice pentru fiecare limbaj de programare, sunt acele aplicatii care transforma "programele sursa" scrise intr-un limbaj de programare in "programe-obiect", scrise in limbaj-masina;
    • programe editoare de legaturi, adica aplicatiile care transforma programele din format obiect in programe executabile, realizand, daca este cazul, integrarea mai multor module-obiect intr-un singur program executabil;
    • programe de depanare, interactive sau nu, care permit monitorizarea erorilor;
    • aplicatii complexe numite medii de programare, care includ toate functiile componentelor prezentate anterior, cu scopul de a genera un program executabil intr-un mediu integrat.
  • Programele editoare de texte (programe interactive, destinate introducerii, modificarii, formatarii si tiparirii textelor).

In categoria software-ului utilitar intra:

    • programele care permit exploatarea componentelor hardware ale sistemelor de calcul in conditii optime. Aceste programe pot utiliza verificarea starii de functionare a echipamentelor hardware, configurarea parametrilor de functionare, optimizarea modului de utilizare a componentelor hardware ale sistemelor de calcul.
    • Medii de prelucrare complexa a datelor, organizate sub forma de text, imagine, sunet sau sub forma de tabele. Aceste instrumente software pot fi folosite direct de utilizatori neprofesionisti pentru dezvoltarea unor aplicatii sau pot fi folosite de proiectantii de software ca instrumente de mare productivitate.
    • Suprafete de operare - sunt aplicatii specifice sistemelor interactive, care inlocuiesc dialogul utilizatorului cu sistemul prin intermediul limbajului de comanda al sistemului de operare cu interfete de lucru "prietenoase".

Software-ul de aplicatie este construit din programe ale utilizatorilor care rezolva probleme cu un nivel redus de generalizare si care permite utilizarea sistemului de calcul in cele mai diverse domenii: economice, industriale, sociale, medicale etc. Executia programelor dintr-o anumita categorie se sprijina pe serviciile oferite de categoriile precedente. Astfel software-ul de aplicatie este dependent de tipul software-ului de baza pentru care a fost proiectat. La nivelul utilizatorilor, acesta dependenta creaza deseori multe probleme. Din aceasta cauza, o trasatura importanta a software-ului de aplicatie este portabilitatea, adica acea caracteristica ce permite rularea software-ului de aplicatie fara transformari pe diverse sisteme de operare.

Software-ul de baza, in special componenta sistemului de operare, vine si ea in intampinarea acestei probleme, realizand emulari ale functiunilor sistemelor de operare anterioare in noile sisteme de operare.

Software-ul de aplicatie are foarte multe categorii in care poate fi clasificat, parerile referitoare la clasificare fiind impartite. Una din clasificari permite impartirea software-ului de aplicatie astfel:

  • software cu destinatie stiintifica.
  • software cu destinatie economica.
    • software de proces (software pentru urmarirea proceselor industriale)
    • software de gestiune (care vizeaza functiunile financiare, contabile si de conducere ale intreprinderii).

In ultimul timp se constata o deplasare a ponderii de interes de la componentele financiar-contabile spre componentele de conducere. Au aparut in acesta categorie asa-numitele sisteme informatice pentru sprijinirea deciziei, sisteme informatice pentru conducere.

Accesibilitatea, gradul de diversitate si numarul programelor creste de la componenta firmware catre componenta software de aplicatie. In acelasi timp, nivelul de specializare al celor carora li se adreseaza creste de la componenta software de aplicatie catre componenta firmware. Pe baza acestei structuri in etaje succesive a organizarii software-ului au aparut specializari profesionale distincte (figura 1.).


2. Sistemul de operare

Sistemul de operare reprezinta ansamblul de programe care asigura folosirea optima a resurselor fizice si logice ale unui sistem de calcul. El are rolul de a coordona si controla executia programelor si de a permite comunicarea utilizatorului cu sistemul de calcul. Pe scurt, sistemul de operare este acea parte a componentei sistemului de calcul care coordoneaza si supravegheaza intraga activitate. Folosirea hardware-ului unui sistem de calcul ar fi dificila si ineficienta in lipsa unui sistem de operare accesibil utilizatorilor. Din punct de vedere al interactiunii cu componentele hardware, sistemul de operare este organizat pe doua nivele:

1. Nivelul fizic, care include componenta firmware a sistemului de calcul. Acest nivel ofera servicii privind lucrul cu componentele hradware. La acest nivel comunicarea sistemului de operare cu sistemul de calcul se realizeaza prin intermediul asa-numitului sistem de intreruperi, care semnalizeaza aparitia unor evenimente interne sau externe sistemului de calcul. De exemplu la calculatoarele compatibile PC, in componenta ROM-BIOS sunt grupate, dupa functia lor, urmatoarele programe:

  • programe care executa pornirea sistemului de calcul;
  • programe care verifica starea de functionare a sistemului de calcul;
  • programe de initializarea a activitatii sistemului de calcul;
  • rutinele, care coordoneaza rularea componentelor fizice ale sistemului de calcul, numite si "drivere fizice"; ele ofera servicii pentru lucrul cu tastatura, imprimanta si cu perifericele nestandard.

2.Nivelul logic include partea de operare a sistemului de calcul si ofera utilizatorului mijloacele prin care poate exploata sistemul de calcul. Comunicarea utilizatorului cu sistemul de calcul se realizeaza prin intermediul comenzilor si instructiunilor din programele pe care le executa. Comunicarea inversa, sistem de calcul utilizator, se realizeaza prin mesajele transmise de sistemul de operare utilizatorului.



Programele nivelului logic adreseaza dispozitivele hardware prin intermediul programelor nivelului fizic al sistemului de operare, si din acest motiv ele sunt independente de structura hardware a sistemului de calcul.

Nivelul fizic constituie asadar o interfata intre hardware si nivelul logic al sistemului de operare (figura 2.)


Figura 2. Legatura intre nivele fizic si logic ale sistemului de operare

Din punct de vedere functional, programele sistemului de operare se impart in doua categorii:

  • componentele de comanda si control, care cuprind programe care au rolul de a asigura utilizarea eficienta a resurselor sistemului de calcul;
  • componentele de servicii, care cuprind programe destinate minimizarii efortului uman implicat in utilizarea sistemului de calcul.

Functia sistemului de operare privind optimizarea exploatarii unui sistem de calcul este impartita intre componenta de comanda si control si componenta de servicii conform figurii 3. 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. Gestionarea resurselor sistemului de calcul este principala sarcina a sistemului de operare.

In general, pentru a executa un program intr-un sistem de calcul secvential cu program memorat este necesara incarcarea acestui program in memoria interna a sistemului de calcul si sub controlul unitatii centrale de prelucrare sunt executate secvential instructiunile programului.

Figura 3. Optimizarea exploatarii resurselor sistemului de calcul.

In detaliu, executia unui program se defineste ca o succesiune de activitati care se desfasoara la un moment dat sub controlul sistemului de operare, activitati numite procese si care se caracterizeaza prin:

  • prelucrarile pe care le realizeaza, determinate de programul de executie, din care a derivat procesul;
  • contextul de lucru, care consta din resursele alocate procesului.

Executarea unei instructiuni program presupune mai intai alocarea unor resurse:

  • alocarea unitatii aritmetice logice pentru efectuarea de operatii aritmetice sau logice asupra datelor;
  • alocarea unui dispozitiv periferic pentru transferul de informatii intre acesta si memoria interna;
  • alocarea de spatiu in memoria interna;
  • accesarea unei anumite structuri de date din memoria externa;
  • apelul pentru executie al unui alt program. Intotdeauna executia unui alt program presupune alocarea unei anumite zone din memoria interna a sistemului de calcul si, simultan, afectarea unei perioade din timpul de lucru al unitatii centrale de prelucrare.

Pentru a realiza alocarea unei resurse la un proces, sistemul de operare trebuie sa aiba raspuns la urmatoarele intrebari (de la caz la caz):

  • daca resursa ceruta exista in sistem;
  • daca resursa este disponibila;
  • cat din resursa este disponibila;
  • pentru cat timp poate fi alocata resursa;
  • daca resursa este alocata, daca ii mai este necesara procesului caruia ii este alocat (eliberarea resursei).

Rezulta asadar functiile care trebuie indeplinite de componenta sistemului de operare care are rolul de gestionare a resurselor:

  1. evidenta resurselor sistemului de calcul in fiecare moment, prin inregistrarea fiecarei resurse, a starii ei (alocata sau libera) si a gradului ei de ocupare;
  2. implementarea unor algoritmi de alocare a resurselor conform unei strategii de alocare stabilite. O strategie de alocare trebuie sa raspunda la intrebarile:
    • carei solicitari i se aloca resursa;
    • cat din resursa se aloca;
    • in ce moment se face alocarea
    • pentru cat timp se face alocarea resursei
  1. Alocarea efectiva a resursei, cu actualizarea informatiilor legate de starea resursei.
  2. Eliberarea resursei, care poate fi facuta la initiativa procesului care a solicitat-o, atunci cand ea nu mai este necesara procesului sau la initiativa sistemului de operare, pentru a fi alocata altor procese. Aceasta ultima varianta este utilizata numai de anumite tipuri de sisteme de operare.

Componenta de comanda si control a sistemului de operare. Activitatea de lansare in executie a unui program, activitatea de gestionare a alocarii resurselor, ca si operatiile efectuate la incheierea executiei acestuia sunt functii realizate de componenta de comanda si control a sistemului de operare. Functiile componentei de comanda si control sunt:

  • planificarea, lansarea si urmarirea executarii programelor;
  • gestionarea resurselor;
  • depistarea si tratarea evenimentelor deosebite care apar pe parcursul executiei programelor;
  • asigurarea protectiei informatiei memorate de diverse programe;
  • protectia intre procese;
  • tratarea erorilor.

Ultimele doua functii se realizeaza in mod specific pentru fiecare tip de resursa in cadrul componentei de gestionare a resurselor. Conform acestor functii, componenta de comanda si control a sistemului de operare cuprinde:

  • Nucleul sistemului de operare, care are functia de coordonare a activitatii sistemului de calcul. Aceasta componenta este rezidenta in memoria interna pe toata peioada functionarii unui sistem de calcul. Ea se mai numeste si "monitorul rezident" al sistemului de operare.
  • Cate o componenta de gestionare pentru fiecare tip de resursa din sistem:

o       componente de gestionare a intreruperilor.

o       componente de gestionare a proceselor.



o       componente de gestionare a memoriei.

o       componente de gestionare a dispozitivelor periferice.

Componenta de servicii a sistemului de operare. Aceasta s-a dezvoltat odata cu cerintele utilizatorilor. 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 aplicatii. Aceasta componenta ofera servicii diferite de la un sistem de operare la altul sau chiar de la versiuni diferite ale aceluiasi sistem de operare. Componenta de servicii a unui sistem de operare poate include:

  • program incarcator, care lanseaza programe ale sistemului de operare la pornirea sistemului de calcul;
  • program de tip 'interpretor de comenzi', care traduce comenzile lansate de utilizator sistemului de operare, asigurand astfel comunicarea intre utilizator si sistemul de operare.

Functiile realizate de aceasta componenta sunt:

  • Functia de gestionare a dialogului cu utilizatorul, fie in mod comanda, oferind mecanisme de editare a comenzilor, fie prin intermediul unei interfete grafice.
  • Functia de inlantuire prin date a comenzilor sistemului de operare, de agregare a comenzilor sistemului de operare, sub forma unor macrouri sau a unor fisiere de comenzi.
  • Functia de asistenta on-line, cunoscuta si sub numele de "help-ul" sistemului de operare.
  • Functia de tipul 'plug and play' realizeaza actiunea de autodetectie a echipamentelor nou instalate in sistem, permite reconfigurarea cu usurinta a sistemului, si notificarea schimbarii configurarii sistemului, de exemplu la caderea unui echipament.
  • Functia care ofera suportul pentru utilizarea limbii nationale, adica adaptarea informatiilor cu caracter national (simbol monetar, marca zecimala, data calendaristica, etc.)

Obiectivele unui sistem de operare. Obiectivele generale ale unui sistem de operare sunt:

  • automatizarea operatiilor standard in toate etapele de exploatare a sistemului de calcul;
  • minimizarea efortului uman pentru utilizarea sistemului de calcul;
  • optimizarea utilizarii resurselor sistemului de calcul si cresterea gradului de accesibilitate la resurse;
  • cresterea eficientei globale in utilizarea sistemului de calcul.

Functiile prin intermediul carora sistemul de operare realizeaza aceste obiective sunt:

  • Functia de instalare automata a unui sistem de operare pe un sistem de calcul.
  • Functia de incarcare a sistemului de operare la pornirea sistemului de calcul.
  • Functia de reconfigurare dinamica a sistemului de operare, conform cu modificarile intervenite in structura hardware sau cu necesitatile de exploatare a sistemului. Spre exemplu sistemul de operare MS-DOS se poate configura dinamic prin intermediul fisierului "config.sys", care se consulta la fiecare incarcare a sistemului de operare.
  • Functia de efectuare a operatiilor de intrare-iesire la nivel fizic, pentru a permite utilizatorilor lucrul cu dispozitivele periferice la nivel logic, adica independent de caracteristicile constructive ale echipamentelor. Aceasta functie permite degrevarea utilizatorului de sarcina tratarii fiecarui dispozitiv specific in parte (vezi perifericul imprimanta, care este vazut la fel de utilizator, indiferent de producatorul echipamentului). Aceasta se realizeaza prin intermediul driver-ului de imprimanta, instalat la conectarea dispozitivului imprimanta.
  • Functia de oferire a unor interfete cu utilizatorul, prin folosirea unui limbaj specific, numit limbajul sistemului de operare. Prin intermediul acestui limbaj, utilizatorul transmite comenzi sistemului de operare, care sunt traduse si lansate in executie de un program numit interpretor de comenzi. O alta modalitate de dialog cu sistemul de operare este interfata grafica, care apare la sistemele de operare moderne si care permite o comunicare "prietenoasa" cu sistemul de calcul.
  • Functia de control a executiei programelor. Sistemul de operare incarca programul in memoria interna, il lanseaza in executie si incheie executarea programului.
  • Functia de gestionare si alocare a resurselor, prin care sistemul de operare gestioneaza alocarea timpului la unitatea centrala. a memoriei interne, a accesului la fisiere, a accesului la echipamentele periferice,etc. In cazul in care este posibila executarea simultana a mai multor programe, sistemul de operare realizeaza alocarea resurselor pe baza unor criterii de prioritate.
  • Functia de asigurare a protectiei intre utilizatori, in cazul in care sistemul de operare este de tip "multiuser", si aigurarea protectiei intre programe, fie ca sunt programe ale utilizatorilor, sau sunt programe ale sistemului de operare.
  • Functia de tratare a erorilor sistemului de operare poate trata erori la nivelul echipamentelor fizice sau erori logice, care pot apare la executarea unor programe. Ex. impartirea cu 0. incercarea de a accesa zone protejate din memorie, executarea unor instructiuni privilegiate etc.
  • Functii auxiliare:

o       contabilizarea activitatii sistemului de calcul.

o       jurnalizarea comenzilor adresate interpretorului de comenzi.

o       jurnalizarea erorilor etc.

Clasificarea sistemelor de operare din punctul de vedere al executiei proceselor. In general, programele utilizeaza in mod diferit resursele unui sistem de calcul. Unele ocupa mai putina memorie ca altele, unele au mai multe operatii de intrare-iesire, etc. Pentru utilizarea eficienta a resurselor sistemului de calcul, unele sisteme de operare pot gestiona executia concurenta a mai multor procese,asigurand proceselor din sisteme accesul concurent la resursele sistemului sau protejarea 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 gestionaeza resursele astfel incat sa poata satisface cat mai multe cereri. O caracteristica importanta a unui sistem de operare este masura in care poate asigura executia concurenta a proceselor. Pe baza acestui criteriu sistemele de operare se impart in:

  • Sisteme de operare monotasking, care nu asigura executia concurenta si nici protejarea resurselor intre mai multe procese. Sub controlul unui sistem de operare monotasking, la un moment dat se poate executa doar un singur program. Aceasta ramane activ din momentul lansarii lui in executie si pana la terminarea lui completa. Atata timp cat este in executie, programul are acces la toate resursele sistemului de calcul. Sistemul de operare MS-DOS este un astfel de sistem de operare monotasking. In timpul executarii unui program, sistemul de operare pierde controlul asupra sistemului de calcul in favoarea programului aflat in executie, care preia controlul pana in momentul incheierii executiei sale. Un alt exemplu de sistem de operare monotasking este sistemul CP/M, utilizat pe calculatoare dota tate cu procesor din categoria I 8080.
  • Sistemele de operare multitasking sunt acele sisteme de operare care asigura executia concurenta a mai multor procese care exista concomitent in sistem. Spre exemplu pachetul WINDOWS 3.X, rulat sub sistemul de operare MS-DOS, permite exploatarea in regim multitasking a aplicatiilor WINDOWS. Varianta ulterioara, WINDOWS 95, devine sistem de operare, ea ruland independent fara a fi sub controlul altui sistem de operare. In plus, fata de sistemele de operare monotasking, sistemele multitasking trebuie sa-si defineasca strategiile de alocare a resurselor pe care le pot folosi. SWAPPING-ul este mecanismul care permite gestionarea executiei in paralel a mai multor procese. In acest sens un proces in executie poate fi evacuat temporar in memoria externa, cu memorarea starii sale din momentul evacuarii. In locul lui este incarcat un alt proces, care poate fi si el executat partial, apoi evacuat, incarcandu-se in locul lui un alt proces etc. In acest fel in sistem se executa in paralel mai multe procese, alternand momentele de executie cu cele de evacuare, pana la executia lor completa. Cat timp un proces este incarcat in memoria interna si se executa, el are acces la toate resursele sistemului, exact ca la sistemele de operare monotasking.

Clasificarea sistemelor de operare dupa gradul de interactiune cu uilizatorul. Un sistem de operare are rolul de a interfata comunicarea intre utilizator si sistemul de calcul. Tendinta actuala in cererea utilizatorilor este de a creste atat gradul de interactiune cu sistemul de calcul cat si gradul de accesibilitate a interfetei cu sistemul de calcul. Aceste doua tendinte, in general contradictorii, determina cresterea complexitatii componentei sistemului de operare, de interfata cu utilizatorul. Pe de alta parte, din punct de vedere al gradului de utilizare si al accesibilitatii, o caracteristica importanta este numarul de utilizatori care pot avea acces simultan la un sistem de calcul. Din acest punct de vedere, sistemele de operare pot fi:



  • sisteme de operare seriale, pentru care gradul de interactiune cu utilizatorul este nul;
  • sisteme de operare interactive.

De cele mai multe ori interfata dintre sistemele 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 este mediata de persoane specializate (cum ar fi operatori calculator). La astfel de sisteme, in timpul executiei lucrarii sale, utilizatorul pierde total controlul asupra prelucrarii; el furnizeaza datele care se prelucreaza odata cu formularea cererii de prelucrare, si primeste rezultatele la incheierea executiei.

A doua categorie, sistemele de operare interactive, permit comunicarea directa intre utilizator si sistemul de calcul prin intermediul unui limbaj dedicat acestui scop. La un astfel de sistem, utilizatorul poate urmari modul in care se executa programul sau si poate influenta, in anumite conditii, executia acestuia. Un sistem de operare interactiv presupune o arhitectura a sistemului de calcul care sa cuprinda echipamente standard de intrare-iesire, dedicate comunicarii utilizatorului cu sistemul de calcul. Aceste echipamente de intrare-iesire cuprind de obicei o tastatura (ca echipament standard de intrare), un dispozitiv de vizualizare a informatiilor de iesire (cum ar fi display-ul sau masina de scris/imprimanta). Sistemele de operare interactive pot fi:

  • monouser, cand comunicarea cu sistemul de calcul este posibila numai pentru un singur utilizator, prin intermediul consolei sistemului de calcul;
  • multiuser, cand sistemul de operare poate gestiona comunicarea concomitent cu mai multi utilizatori, prin intermediul echipamentelor terminale.

Spre exemplu, sistemul de operare MS-DOS este un sistem interactiv monouser, sistemul de operare UNIX este un sistem de operare multiuser.

Clasificarea sistemelor de operare dupa configuratia hardware deservita. Se obisnuieste impartirea sistemelor de calcul in trei mari categorii, in functie de puterea lor de prelucrare a informatiilor si de capacitatea lor.Corelat cu aceasta impartire, se clasifica si sistemele de operare dupa configuratia hardware pe care o deservesc.

Structura sistemelor de operare este influentata de structura sistemului de calcul, pentru ca, in general, s-a cautat ca punctele mai slabe ale hardware-ului sa fie compensate prin functii suplimentare, asigurate de sistemul de operare.

Pe de alta parte, un sistem de calcul puternic care permite prelucrari complexe, are nevoie de un sistem de operare la fel de puternic, capabil sa asigure o buna coordonare a activitatii sistemului de calcul si o gestionare optima a resurselor. Dupa configuratia hardware deservita, sistemele de operare sunt:

  • Sisteme de operare pentru microcalculatoare
    • Sunt puternic interactive.
    • Au un limbaj de comanda accesibil si unele chiar interfete grafice.
    • Unele dintre ele sunt multiuser si multitasking.
    • Sunt usor configurabile, oferind proceduri automate pentru instalarea si incarcarea sistemului de operare.
    • Ocupa un spatiu redus in memoria interna.
    • Suporta dezvoltari pentru a permite conectarea in retele de calculatoare sau ca terminale la sistemele de operare mari.
    • Au functia de gestionare a informatiei dezvoltata in directia manevrarii unui numar mare de fisiere de mici dimensiuni.
  • Sisteme de operare pentru minicalculatoare.
    • Sunt interactive, multiuser si multitasking.
    • Folosesc un limbaj de comanda pentru utilizatori avizati.
    • Procedurile de instalare sunt mai laborioase.
    • Sunt mai rigide in cazul modificarii configuratiei hardware.
    • Asigura un sistem de prioritati de executie dezvoltat.
    • Ofera un sistem complex de protectie a informatiei.
    • Sunt orientate spre lucrul cu multe terminale, putand indeplini functia de concentrator de date.
  • Sisteme de operare pentru calculatoare mainframe.
    • Sunt sisteme de operare seriale sau interactive si multitasking.
    • Limbajul de comanda pentru utilizatori este adresat specialistilor.
    • Gestioneaza un numar mare de echipamente periferice.
    • Sunt orientate pentru prelucrari complexe si pentru volume mari de date.

In prezent se constata tendinta de apropiere a performantelor microcalculatoarelor de performantele calculatoarelor superioare lor, in paralel cu tendinta de apropiere a performantelor sistemelor de operare pentru sitemele de calcul mari cu 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 diverse tipuri de calculatoare, functional sub controlul unor sisteme de operare diverse.

Din punct de vedere al dezvoltarii sistemelor de operare, tendinta actuala este de dezvoltare a sistemelor de operare portabile, adica acele sisteme de operare care functioneaza pe platforme hardware diferite. Un astfel de sistem de operare este sistemul UNIX.

Clasificarea sistemelor de operare din punct de vedere al tehnicilor de prelucrare. Potrivit acestui criteriu sistemele de operare se impart in:

o       Sisteme de operare cu prelucrare pe loturi (batch processing).

o       Sisteme de operare in timp real.

o       Sisteme de operare time-sharing (cu parta-jarea timpului).

  • Sistemele de operare batch-processing (cu prelucrarea pe loturi) folosesc notiunea de tren de lucrari, adica succesiunea tuturor lucrarilor care trebuie executate. Urmatoarea lucrare se va executa numai dupa terminarea celei anterioare.
  • O dezvoltare a sistemelor batch-processing au constituit-o sistemele care lucreaza in multiprogramare, in care resursele sistemului erau impartite catre partitii fixe. In fiecare din aceste partitii executandu-se prelucrari pe loturi.
  • Sistemele de operare in timp real sunt bazate pe sistemul de prioritate al taskurilor, resursele sistemului de calcul fiind alocate task-ului (lucrarii) cu cea mai mare prioritate la momentul respectiv. Datorita particularitatilor lor, aceste sisteme au fost folosite preponderent in supravegherea proceselor industriale, in care evenimentelor externe importante li se asociau task-uri cu prioritate maxima.

Sistemele de operare time-sharing, permit accesul fiecarui task la resursele sistemului pentru o perioada fixa de timp. Dupa scurgerea perioadei alocate, indiferent daca task-ul respectiv s-a terminat sau nu, este evacuat si lansat urmatorul s.a.m.d. La terminarea listei task-urilor care trebuie executate se reia procesul cu primul task din lista. Ciclul se repeta pana cand taskurile isi incheie executia in mod normal, si lista task-urilor in asteptare se goleste. Acest tip de sistem de operare este folosit in prelucrarile cu multi utilizatori si cu task-uri de importanta aproximativ egala.