Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » referate » informatica » calculatoare
Structura cu niveluri ierarhizate in sistemele de operare

Structura cu niveluri ierarhizate in sistemele de operare




STRUCTURA CU NIVELURI IERARHIZATE

Pentru majoritatea sistemelor de operare care lanseaza in executie milioane de instructiuni, nu este suficienta numai programarea modulara.

Programarea modulara a facut in schimb sa se intensifice folosirea conceptului de nivel ierarhic si de abstractizare a informatiei. Structura ierarhica a sistemelor moderne de operare ii separa functiile dupa complexitatea lor si dupa nivelul lor de abstractizare.

Sistemul de calcul poate fi privit ca un ansamblu de niveluri ierarhizate.



Fiecare nivel executa un set de functii cerute de sistemul de operare.

Fiecare nivel elibereaza nivelul inferior de a executa mai multe functii primitive si ascunde detaliile acestor functii fata de nivelul superior catre care furnizeaza diferite servicii, in mod ideal, intr-un sistem, nivelurile ar trebui sa fie definite astfel incat o modificare intr-un nivel sa nu ceara modificari intr-un alt nivel, in acest mod, orice problema poate fi descompusa intr-un numar de mai multe subprobleme de administrare a sistemului.

Fiecare nivel este construit pentru a rezolva anumite obiective si poate ii controlat prin anumite operatii.

La nivelurile inferioare, unele parti din sistemul de operare trebuie sa interactioneze direct cu componentele hardware, unde evenimentele se produc la un interval de timp foarte mic (cateva miliardimi dintr-o secunda).

La nivelurile superioare, parti ale sistemului de operare comunica cu utilizatorul, care emite comenzi la intervale mai mari de timp (de obicei cate o comanda la cateva secunde).

Nivelurile pe care este structurat sistemul de calcul sunt prezentate in continuare. Ele corespund nivelurilor controlate in calculator de catre programele sistemului de operare.

Corespunzator acestor niveluri din sistemul de calcul, se construiesc si nivelurile sistemului de operare. Metoda prin care aceste niveluri sunt implementate in sistemele de operare moderne difera de la un sistem la altul.

Modelul definit contine urmatoarele niveluri:

Nivelul 1. Este alcatuit din circuitele electronice, care formeaza registre, locatii de memorare, porturi logice si magistrale. Operatiile prin care pot fi controlate aceste componente sunt, de exemplu, actiunile de stergere a unui registru (initializare), de citire a continutului unei locatii de memorare, de transfer de date sau de activare.

Nivelul 2. Este format din setul de instructiuni ale procesorului. Obiectivul sau este de a interpreta microprogramele, datele si tablourile de date. Operatiile care pot fi executate la acest nivel sunt cele permise de setul de instructiuni ale limbajului masina, ca de exemplu adunarea, scaderea, incarcarea, saltul si memorarea.

Nivelul 3. Introduce conceptul de procedura sau subrutina. Obiectivul acestui nivel este de a implementa procedurile si stiva apelurilor de proceduri. Operatiile care se pot executa sunt apelul unei proceduri (cal!) si revenirea in programul apelant (return

Nivelul 4. Introduce intreruperile, care determina procesorul sa salveze contextul curent si sa apeleze o rutina de tratare a intreruperii. Operatiile care se executa sunt cele de apelare si reincarcare a programelor de tratare a intreruperilor.

Aceste prime patru niveluri nu sunt parti ale sistemului de operare. Ele fac parte din componentele hardware ale procesorului. Uneori, elemente ale sistemului de operare pot sa apara incepand de la aceste niveluri, cum sunt de exemplu rutinele de tratare a intreruperilor, incepand cu nivelul 5, apar sistemul de operare si conceptele asociate multiprogramarii.

Nivelul 5. Notiunea de proces, ca fiind program in executie, este introdusa de la acest nivel. Pentru a putea gestiona procese multiple, una dintre cerintele fundamentale ale unui sistem de operare este capacitatea de a suspenda executia unui proces si de a relua executia procesului din punctul in care l-a intrerupt. Aceasta cerinta necesita inregistrarea hardware a informatiilor salvate, astfel incat sa se poata comuta executia de la un proces la altul, in plus, daca procesele au nevoie sa coopereze intre ele, este necesara o metoda de sincronizare. Legat de aceasta sincronizare a proceselor, cea mai simpla tehnica si un concept important al arhitecturii sistemului de operare o reprezinta semaforul (semaphore Operatiile care se executa la acest nivel sunt de

suspendare (suspend

reluare (resume),

asteptare (wait) si

semnalizare (signal).

Nivelul 6. Se ocupa de dispozitivele folosite pentru memoria externa. La acest nivel sunt implementate functiile pentru pozitionarea capetelor de citire/scriere, pentru transferul blocurilor de date si pentru canalele de date. Nivelul 6 este legat de nivelul 5 pentru a planifica operatia si pentru a semnaliza procesul care primeste informatiile despre terminarea operatiei. Nivelurile urmatoare primesc de la acest nivel adresele datelor pe disc. La acest nivel se executa operatii de citire, scriere, alocare, eliberare



Nivelul 7. Creeaza un spatiu de adrese logice pentru procese, introducand conceptul de memorie virtuala. La acest nivel se organizeaza spatiul de adrese virtuale sub forma de blocuri care pot fi manipulate intre memoria interna si memoria externa. Mai des se folosesc urmatoarele trei metode: metoda paginii de dimensiune fixa, metoda segmentelor de lungime variabila si metoda care le combina pe primele doua. Cand blocul de care este nevoie nu se gaseste in memoria interna, acest nivel necesita un transfer de la nivelul 6. Se executa operatii de citire, scriere si extragere.

Pana la acest nivel, sistemul de operare se ocupa de resurse care au un singur procesor, incepand de la nivelul 8, sistemul de operare se ocupa de obiecte externe cum sunt dispozitivele periferice, retelele si calculatoarele atasate la retea, incepand de la acest nivel, obiectele manipulate sunt obiecte logice si se numesc obiecte care pot fi partajate intre procese, pe acelasi calculator sau pe mai multe calculatoare.

Nivelul 8. Se ocupa cu comunicarea informatiilor si a mesajelor intre procese. Deoarece nivelul 5 furnizeaza un mecanism primitiv, bazat pe semnale, necesar pentru a sincroniza procesele, nivelul 8 se ocupa de partajarea informatiei folosind canalele de comunicare. Unul dintre cele mai puternice mecanisme este conducta (pipe) sau indirectarea, care este un canal logic prin care se controleaza fluxul de date transmis intre doua procese. Indirectarea este definita astfel: iesirea unui proces devine intrare pentru un alt proces. Poate fi folosita, de asemenea, pentru a lega de procese dispozitivele externe sau fisierele. Pentru a realiza indirectarea, se foloseste un fisier intermediar. Daca procesul A vrea sa transmita date catre procesul B, el va scrie aceste date intr-un fisier intermediar considerat ca fisier de iesire. La randul sau, procesul B va prelua datele de intrare din fisierul intermediar pe care il va considera ca un fisier de intrare.

La nivelul 8, se executa operatii de creare, distrugere, deschidere, inchidere, citire si scriere

Nivelul 9. Asigura, prin intermediul Sistemului de fisiere, memorarea informatiilor

pe termen lung. Fisierele sunt identificate printr-un nume. La acest nivel, datele din memoria externa sunt vazute in termeni abstracti, ca entitati de dimensiune variabila. Aceasta este in contrast cu punctul de vedere hardware care foloseste termeni ca piste, sectoare si blocuri de dimensiune fixa, implementate prin nivelul 6. Operatiile folosite la acest nivel sunt cele de creare, distrugere, deschidere, inchidere, citire si scriere

Nivelul 10. Furnizeaza accesul la dispozitivele externe (monitor, tastatura, imprimanta,) folosind interfete standardizate. Operatiile folosite la acest nivel sunt cele de creare, distrugere, deschidere, inchidere, citire si scriere.

Nivelul 11. Asigura intretinerea asocierilor intre identificatorii externi si identificatorii interni pentru obiectele si resursele sistemului. Identificatorul extern este un nume care poate fi folosit de o aplicatie sau de un utilizator. Identificatorul intern este o adresa sau un alt indicator care poate fi folosit de nivelurile inferioare ale sistemului de operare pentru a localiza sau a controla un obiect. Aceste asocieri sunt intretinute intr-un catalog (director). Elementele acestui catalog cuprind nu numai asocieri interne-externe, dar si alte caracteristici de exploatare, cum sunt de exemplu drepturile de acces la acel obiect. Operatiile folosite la acest nivel sunt cele de creare, distrugere, alocare, cautare si listare.

Nivelul 12. Furnizeaza facilitati complete pentru suportul proceselor Utilizatorului La nivelul 5 sunt definite numai registrul procesului (care contine informatii necesare pentru intretinerea procesului) si logica pentru terminarea proceselui. La nivelul 12, toate informatiile au nevoie de un suport pentru o administrare ordonata a proceselor. Aceasta include spatiul de adrese virtuale ale proceselor, o lista cu obiecte si procese care pot sa interactioneze si constrangerile interactionarii, parametrii transferati procesului dupa creare si alte caracteristici ale procesului de care are nevoie sistemul de operare ca sa poata controla procesul. Operatiile folosite la acest nivel sunt cele de terminare, distrugere, suspendare si reluare.

Nivelul 13. Furnizeaza o interfata a sistemului de operare pentru utilizator. Se mai numeste si Shell (in engleza inseamna cochilie, scoica) deoarece separa utilizatorul de detaliile sistemului de operare. El prezinta sistemul de operare ca pe o colectie de servicii, asigurandu-i utilizatorului un mediu de lucru. Aceasta interfata accepta comenzi ale utilizatorului sau declaratii ale limbajului de control al lucrarilor, le interpreteaza si creeaza si controleaza procesele de care este nevoie.

Acesta este un model teoretic de sistem de operare care furnizeaza o descriere a structurii putand fi folosit ca ghid pentru construirea si implementarea unui sistem de operare.



Primul model structurat de sistem de operare a fost sistemul THE construit in 1968 de E. W. Dijkstra si un grup de studenti de la Technische Hegeschool Eindhoven. Acesta

era un sistem de operare cu prelucrare pe loturi (batch) pentru un calculator Dutch cu o memorie interna de 32 Ko si cu o unitate centrala care folosea un cuvant de 27 de cifre binare. Sistemul avea sase niveluri:

Nivelul 0 la care erau implementate mecanismele de alocare a procesorului si de comutare intre procese, prin care se asigura lucrul in multiprogramare. Comutarea intre procese se facea fie in urma unui semnal de intrerupere, fie dupa expirarea timpului de prelucrare alocat procesului.

Nivelul 1 la care era implementat mecanismul pentru administrarea memoriei. Prin acest mecanism se aloca procesului spatiu in memoria interna si, pentru procesele care nu aveau suficient loc in memoria interna, li se alocau pagini de 512 kcuvinte in memoria externa in care se pastrau parti din ele.

Nivelul 2 la care era implementat mecanismul de tratare a comunicatiei intre proces si operatorul de la consola sistemului.

Nivelul 3 la care era implementat sistemul de administrare a dispozitivelor de intrare-iesire si a bufferelor de memorie folosite pentru transferul datelor.

Nivelul 4 la care erau implementate programele utilizator.

Nivelul 5 la care era implementat procesul operatorului de sistem.

Numarul de niveluri folosit este diferit de la un sistem de operare la altul.

De exemplu:

a) in sistemul de operare Unix, nucleul este structurat pe doua niveluri:

Kernel dependent de masina care contine rutinele de tratare a intreruperilor, driverele de dipozitive periferice care asigura transferul de intrare-iesire la nivel fizic si o parte de software pentru administrarea memoriei.

Kernel independent de masina care contine rutinele de tratare a apelurilor de sistem, software pentru administrarea si planificarea proceselor, software care asigura indirectarea, driverele de dipozitive periferice care asigura transferul de intrare-iesire la nivel logic, software care asigura paginarea, semnalele si schimbul de date intre memoria interna si memoria externa (swap) si sistemul | de gestiune a fisierelor.

b) Sistemul de operare MS-DOS este structurat pe doua niveluri:

BIOS (Basic Input Output System) este format la randul sau din doua componente. Componenta BIOS implementata de constructorul calculatorului intr-un bloc de 64 ko din memoria ROM (ROM-BIOS); contine drivere de dipozitive periferice care asigura transferul de intrare-iesire la nivel fizic si care izoleaza restul sistemului de operare de hardware (in aceasta componenta sunt implementate apelurile de citire sau scriere la adrese absolute de pe disc, apelurile de citire a caracterelor de la tastatura sau de scriere a caracterelor pe ecran).

Componenta BIOS implementata in fisierul io.sys contine interfata care asigura apelarea procedurilor din componenta ROM-BIOS. Prin intermediul acestei interfete, nucleul are acces la serviciile implementate in ROM-BIOS.

Nucleul contine un software pentru administrarea proceselor, pentru administrarea memoriei si sistemul de gestiune al fisierelor. El este memorat in fisierul msdos.sys.

Componenta shell (interpretorul de comenzi) nu face practic parte din sistemul de operare si poate fi inlocuita de utilizator. Interpretorul de comenzi standard este memorat in fisierul command.com.







Politica de confidentialitate







creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.