DESCRIEREA COMPONENTEI SOFTWARE A UNUI SISTEM DE CALCUL
Un sistem de calcul constituie un ansamblu functional destinat prelucrarii automate a informatiilor. Pentru realizarea acestui obiectiv sistemul de calcul are nevoie atât de echipamente (componentele hardware) cât
Figura 4.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:
-Hardware
-Software
-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 încarcate în memoria fixa ROM de catre producatorul sistemului de calcul. Aceasta componenta se afla la limita dintre hardware si software, reprezentând software-ul integrat în partea de hardware.
Componenta firmware a unui sistem de calcul, setul de instructiuni microprogramate încarcate în 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 în posibilitatea adaptarii secventei de programe fixe din ROM la încarcarea 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 între hardware si software, oferind componentei software functii de baza pentru utilizarea hardware-ului. În acest fel se realizeaza independenta componentelor software fata de caracteristicile hardware specifice sistemului de calcul, eliberând în acelasi timp componentele software de detalii legate de modul de lucru al hardware-ului. Fiind realizata prin microprogramare dinamica, componenta firmware (BIOS) permite modi 141y2418b ficarea unor parametri de functionare ai PC-ului într-o secventa speciala derulata în timpul procedurii de încarcare 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. Într-o traducere mot a mot, sotftware-ul înseamna "partea moale" a calculatorului, spre deosebire de hardware, "partea tare". Componenta software a unui sistem de calcul cuprinde la rândul ei programe grupate în mai multe categorii, dupa natura problemelor pe care le rezolva. Aceste categorii sunt (Figura 4.1.):
Software-ul de baza, care este alcatuit din programele care asigura serviciile generale si care se adreseaza tuturor utilizatorilor sistemului de calcul;
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. În acest sens avem:
Sistemul de operare, care actioneaza ca o interfata între sistemul de calcul si utilizator. Sistemul de operare are rolul de a coordona si supraveghea functionarea sistemului de calcul si de a realiza comunicarea între utilizator si sistemul de calcul;
o programele editoare folosesc pentru introducerea si modificarea interactiva a instructiunilor;
Programele editoare de texte (programe interactive, destinate introducerii, modificarii, formatarii si tiparirii textelor).
În categoria software-ului utilitar intra:
o Suprafete de operare - sunt aplicatii specifice sistemelor interactive, care înlocuiesc 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 în 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, în special componenta sistemului de operare, vine si ea în întâmpinarea acestei probleme, realizând emulari ale functiunilor sistemelor de operare anterioare în noile sisteme de operare.
Software-ul de aplicatie are foarte multe categorii în care poate fi clasificat, parerile referitoare la clasificare fiind împartite. Una din clasificari permite împartirea software-ului de aplicatie astfel:
software cu destinatie stiintifica.
o software de proces (software pentru urmarirea proceselor industriale)
În ultimul timp se constata o deplasare a ponderii de interes de la componentele financiar-contabile spre componentele de conducere. Au aparut în 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. În 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 în etaje succesive a organizarii software-ului au aparut specializari profesionale distincte (figura 4.1.).
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 întraga activitate. Folosirea hardware-ului unui sistem de calcul ar fi dificila si ineficienta în 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 întreruperi, care semnalizeaza aparitia unor evenimente interne sau externe sistemului de calcul. De exemplu la calculatoarele compatibile PC, în componenta ROM-BIOS sunt grupate, dupa functia lor, urmatoarele programe:
programe care executa pornirea sistemului de calcul;
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 între hardware si nivelul logic al sistemului de operare (figura 4.2.)
Figura 4.2. Legatura între nivele fizic si logic ale sistemului de
operare
Din punct de vedere functional, programele sistemului de operare se împart în doua categorii:
componentele de comanda si control, care cuprind programe care au rolul de a asigura utilizarea eficienta a resurselor sistemului de calcul;
Functia sistemului de operare privind optimizarea exploatarii unui sistem de calcul este împartita între componenta de comanda si control si componenta de servicii conform figurii 4.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 în timpul executiei unui program. Gestionarea resurselor sistemului de calcul este principala sarcina a sistemului de operare.
În general, pentru a executa un program într-un sistem de calcul secvential cu program memorat este necesara încarcarea acestui program în memoria interna a sistemului de calcul si sub controlul unitatii centrale de prelucrare sunt executate secvential instructiunile programului.
Figura 4.3. Optimizarea exploatarii resurselor sistemului de calcul.
În 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;
Executarea unei instructiuni program presupune mai întâi alocarea unor resurse:
alocarea unitatii aritmetice logice pentru efectuarea de operatii aritmetice sau logice asupra datelor;
Pentru a realiza alocarea unei resurse la un proces, sistemul de operare trebuie sa aiba raspuns la urmatoarele întrebari (de la caz la caz):
daca resursa ceruta exista în sistem;
Rezulta asadar functiile care trebuie îndeplinite de componenta sistemului de operare care are rolul de gestionare a resurselor:
evidenta resurselor sistemului de calcul în fiecare moment, prin înregistrarea fiecarei resurse, a starii ei (alocata sau libera) si a gradului ei de ocupare;
o carei solicitari i se aloca resursa;
Alocarea efectiva a resursei, cu actualizarea informatiilor legate de starea resursei.
<Titlu> Componenta de comanda si control a sistemului de operare.
Activitatea de lansare în executie a unui program, activitatea de gestionare a alocarii resurselor, ca si operatiile efectuate la încheierea 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;
Ultimele doua functii se realizeaza în mod specific pentru fiecare tip de resursa în 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 în memoria interna pe toata peioada functionarii unui sistem de calcul. Ea se mai numeste si "monitorul rezident" al sistemului de operare.
o componente de gestionare a întreruperilor.
o componente de gestionare a proceselor.
o componente de gestionare a memoriei.
o componente de gestionare a dispozitivelor periferice.
<Titlu> 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 în 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 încarcator, 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, asigurând astfel comunicarea între utilizator si sistemul de operare.
Functiile realizate de aceasta componenta sunt:
Functia de gestionare a dialogului cu utilizatorul, fie în mod comanda, oferind mecanisme de editare a comenzilor, fie prin intermediul unei interfete grafice.
<Titlu> Obiectivele unui sistem de operare. Obiectivele generale ale unui sistem de operare sunt:
automatizarea operatiilor standard în toate etapele de exploatare a 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.
o contabilizarea activitatii sistemului de calcul.
o jurnalizarea comenzilor adresate interpretorului de comenzi.
o jurnalizarea erorilor etc.
<Titlu> Clasificarea sistemelor de operare din punctul de vedere al executiei proceselor.
În general, programele utilizeaza în 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, asigurând proceselor din sisteme accesul concurent la resursele sistemului sau protejarea resurselor. Aceasta înseamna ca la un moment dat în sistem se pot afla în executie mai multe procese, care concureaza între ele pentru accesul la resursele sistemului, iar sistemul de operare gestioneaza resursele astfel încât sa poata satisface cât mai multe cereri. O caracteristica importanta a unui sistem de operare este masura în care poate asigura executia concurenta a proceselor. Pe baza acestui criteriu sistemele de operare se împart în:
Sisteme de operare monotasking, care nu asigura executia concurenta si nici protejarea resurselor între mai multe procese. Sub controlul unui sistem de operare monotasking, la un moment dat se poate executa doar un singur program. Aceasta ramâne activ din momentul lansarii lui în executie si pâna la terminarea lui completa. Atâta timp cât este în executie, programul are acces la toate resursele sistemului de calcul. Sistemul de operare MS-DOS este un astfel de sistem de operare monotasking. În timpul executarii unui program, sistemul de operare pierde controlul asupra sistemului de calcul în favoarea programului aflat în executie, care preia controlul pâna în momentul încheierii 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.
<Titlu> Clasificarea sistemelor de operare dupa gradul de interactiune cu utilizatorul.
Un sistem de operare are rolul de a interfata comunicarea între utilizator si sistemul de calcul. Tendinta actuala în cererea utilizatorilor este de a creste atât gradul de interactiune cu sistemul de calcul cât si gradul de accesibilitate a interfetei cu sistemul de calcul. Aceste doua tendinte, în 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;
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, în 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 încheierea executiei.
A doua categorie, sistemele de operare interactive, permit comunicarea directa între utilizator si sistemul de calcul prin intermediul unui limbaj dedicat acestui scop. La un astfel de sistem, utilizatorul poate urmari modul în care se executa programul sau si poate influenta, în 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, când comunicarea cu sistemul de calcul este posibila numai pentru un singur utilizator, prin intermediul consolei sistemului de calcul;
Spre exemplu, sistemul de operare MS-DOS este un sistem interactiv monouser, sistemul de operare UNIX este un sistem de operare multiuser.
<Titlu> Clasificarea sistemelor de operare dupa configuratia hardware deservita.
Se obisnuieste împartirea sistemelor de calcul în trei mari categorii, în functie de puterea lor de prelucrare a informatiilor si de capacitatea lor. Corelat cu aceasta împartire, 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, în 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
o Sunt puternic interactive.
o Sunt interactive, multi-user si multitasking
o Sunt sisteme de operare seriale sau interactive si multitasking.
În prezent se constata tendinta de apropiere a performantelor microcalculatoarelor de performantele calculatoarelor superioare lor, în paralel cu tendinta de apropiere a performantelor sistemelor de operare pentru sistemele de calcul mari cu cele ale sistemelor de operare pentru mini sau microcalculatoare. În acelasi timp se realizeaza o integrare functionala tot mai accentuata a diferitelor tipuri de sisteme de calcul în platforme de lucru comune, de obicei prin conectarea acestora în retele de calculatoare. Cel mai elocvent exemplu în aceasta directie este reteaua INTERNET, care realizeaza legatura între 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.
<Titlu> Clasificarea sistemelor de operare din punct de vedere al tehnicilor de prelucrare.
Potrivit acestui criteriu sistemele de operare se împart în:
o Sisteme de operare cu prelucrare pe loturi (batch processing).
o Sisteme de operare în 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.
Sistemele de operare în 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 în supravegherea proceselor industriale, în 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 pâna când taskurile îsi încheie executia în mod normal, si lista task-urilor în asteptare se goleste. Acest tip de sistem de operare este folosit în prelucrarile cu multi utilizatori si cu task-uri de importanta aproximativ egala.
|