Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Tehnici de exploatare a sistemelor de calcul

calculatoare



+ Font mai mare | - Font mai mic



Tehnici de exploatare a sistemelor de calcul

1. Tehnica monoprogramarii



2. Tehnica multiprogramarii

Tehnica SPOOLING

4. Exploatarea sistemelor de calcul in time-sharing

5. Exploatarea sistemelor de calcul in timp real

6. Exploatarea sistemelor in retea de calculatoare

Tehnici de exploatare a sistemelor de calcul

Functia sistemului de operare de optimizare a utilizarii resurselor sistemului de calcul este realizata in mod diferit, de catre sistemul de operare, in functie de tehnica de exploatare a sistemului de calcul folosita.

Tehnica de exploatare a unui sistem de calcul se refera la modalitatile utilizate de sistemul de operare pentru planificarea executiei programelor si pentru gestionarea resurselor solicitate.

Trebuie avute in vedere urmatoarele aspecte legate de executia programelor:

resursele sistemului sunt folosite neuniform in timpul executiei unui program: in orice moment al executiei unui program vor exista resurse neutilizate de catre acesta;

caracterul secvential al executiei unui program impune o anumita ordine in utilizarea resurselor; rezulta ca, la un moment dat, executia unui program poate fi conditionata de existenta si de disponibilitatea unei resurse solicitate;

  • diferitele componente ale sistemului de calcul, care concura la executarea unui program, au viteze de lucru diferite; asta inseamna ca activitatea unei componente hardware poate sa fie temporizata de viteza de lucru a alteia, cu care colaboreaza in timpul executiei programului (de exemplu, preluarea datelor de pe un suport de memorie externa este mult mai lenta decat prelucrarea lor, de exemplu utilizand UAL).

Rezulta ca, in general, se poate obtine o utilizare mai eficienta a resurselor in conditiile partajarii resurselor intre mai multe programe care se executa concurent. In aceste conditii se poate obtine o reducere a timpilor de neutilizare pentru fiecare resursa din sistem si o micsorare a timpului total de executie, pentru acelasi volum de lucrari executate.

Din acest motiv, s-au dezvoltat mai multe tehnici de exploatare a sistemelor de calcul, care sa asigure executia cat mai eficienta a programelor. Fiecare tehnica de exploatare a sistemelor de calcul se particularizeaza prin obiectivele pe care si le propune, in functie de care sunt definite componentele sistemului de operare cu rol in gestionarea resurselor, care fac parte din componenta de comanda si control a sistemului de operare.

1. Tehnica monoprogramarii

Monoprogramarea este o tehnica de exploatare pentru sistemele seriale. Obiectivul acestei tehnici este automatizarea lansarii in executie a lucrarilor (programelor). Pentru aceasta, lucrarile sunt organizate secvential, in loturi de lucrari si lansate automat in executie.

Lansarea in executie a unei lucrari se face, in cadrul lotului din care face parte, secvential, adica respectand conditiile:

o lucrare se lanseaza in executie numai dupa incheierea executiei lucrarii care o precede;

  • ordinea de lansare in executie a lucrarilor este strict ordinea in care se afla lucrarile in lotul de lucrari;
  • la un moment dat, toate resursele sistemului sunt puse la dispozitia lucrarii aflate in executie.

Putem spune, deci, ca planificarea executiei lucrarilor se face prin intermediul lotului de lucrari. Acest mod de organizare a prelucrarilor se numeste prelucrare batch (pe loturi sau pachete), iar sistemele de operare care utilizeaza aceasta tehnica de exploatare se numesc sisteme de operare batch (BPS - Batch Processing Systems).

Lansarea in executie a lucrarilor din lotul de lucrari se face automat, sub controlul componentei sistemului de operare numita monitor de inlantuiri.

Modul de exploatare batch a sistemului de calcul a fost caracteristic perioadei pana la sfarsitul anilor '70, cand suportii de memorie externa ofereau, in general, posibilitatea organizarii secventiale a datelor (banda magnetica reprezenta suportul principal de memorie externa).

In prezent, modul de exploatare in loturi poate fi folosit atunci cand anumite seturi de prelucrari se executa periodic, in aceeasi ordine, si cand nu este necesara coordonarea interactiva a executiei lor.

Exemplu: sub MS-DOS pot fi generate fisiere de comenzi care definesc o secventa de programe si o ordine de executie a lor; un astfel de fisier de comenzi defineste un lot de lucrari care poate fi executat prin lansarea in executie a fisierului de comenzi.

Avantajul utilizarii modului de prelucrare in monoprogramare este realizarea automatizarii lansarii in executie a lucrarilor.

Inconvenientele sunt determinate de:

timpul mare de raspuns al sistemului (toti utilizatorii primesc rezultatul prelucrarilor numai dupa executarea intregului lot);

  • eficienta scazuta in utilizarea resurselor sistemului (toate resursele sunt afectate, pe rand, cate unei singure lucrari in executie).

Cresterea eficientei sistemelor batch se poate realiza prin implementarea unor metode software care sa diminueze decalajul de performanta intre componentele hardware ale sistemului de calcul. De exemplu, pentru micsorarea timpului de asteptare al UCP in cazul operatiilor de intrare/iesire, se pot folosi urmatoarele solutii:

utilizarea bufferelor de intrare/iesire. Acestea sunt zone din memoria interna dedicate pentru schimbul de informatii cu echipamentele de intrare/iesire. Schimbul de date cu echipamentele I/O se realizeaza in doi pasi:

o        un pas rapid, intre memoria interna si buffer, sub controlul UCP

    • un pas mai lent, la viteza echipamentului I/O, intre buffer si echipamentul I/O, sub controlul unitatii de canal corespunzatoare dispozitivului I/O; acest pas nu necesita controlul UCP care, in acest timp, isi poate continua activitatea.
  • in sistemele moderne, viteza operatiilor I/O se poate mari utilizand functii cache de citire/scriere. Memoria cache a dispozitivului periferic poate fi o memorie dedicata sau poate fi o zona din memoria RAM. Transferul de date cu dispozitivul periferic se face prin intermediul memoriei cache, tot in doi pasi; diferenta fata de lucrul cu bufferele I/O consta in faptul ca, in cazul utilizarii memoriei cache, apare functia de predictie care stabileste care este volumul de date, din vecinatatea datelor care se transfera, care are cea mai mare probabilitate de a fi solicitat in urmatorul interval de timp; aceste date vor fi transferate in avans, intre dispozitivul I/O si memoria cache. Programul care controleaza acest transfer si care asigura si functia de predictie face parte din sistemul de operare.

Exemplu: la MS-DOS, variantele mai mari de 5.0, este programul SMARTDRV; la Windows95 este programul VCache.

2. Tehnica multiprogramarii

Am vazut ca executia concurenta a programelor permite o utilizare mai eficienta a resurselor sistemului de calcul.

Multiprogramarea este tehnica de exploatare a sistemelor de calcul care permite existenta simultana in memoria interna a mai multor programe care se executa concurent, in partitii fixe de memorie, cu restrictia ca ele sa nu foloseasca in acelasi timp aceeasi resursa.

Obiectivul multiprogramarii este de a face posibila executia unui numar mai mare de programe intr-un interval de timp, prin optimizarea utilizarii resurselor sistemului de calcul.

Organizarea executiei in multiprogramare a lucrarilor se face dupa urmatoarele reguli:

lucrarile sunt organizate in loturi;

  • fiecare lot de lucrari are afectata o partitie fixa in memoria interna;

O partitie de memorie trebuie sa fie o zona contigua de memorie, adica o zona de memorie formata numai din locatii de memorie adiacente. O partitie are o anumita lungime si o adresa fixa.

in cadrul fiecarui lot, lucrarile sunt executate secvential, fiind lansate automat in executie; pentru fiecare program lansat in executie se genereaza un proces in partitia corespunzatoare lotului;

  • sub controlul sistemului de operare, UCP comuta de la o partitie la alta, pentru a realiza executarea concurenta a proceselor; comutarea se face in momentul in care UCP nu este utilizata de procesul respectiv (de exemplu, UCP asteapta terminarea unei operatii I/O); comutarea intre procese se face in urma unor evenimente interne proceselor care se executa (evenimente generate de procese);
  • fiecare partitie are asociata o prioritate de executie;
  • resursele sistemului de calcul sunt alocate proceselor, conform solicitarilor acestora si in functie de disponibilitatea resurselor; in cazul solicitarii unei resurse care nu este disponibila, procesul respectiv intra in asteptare, pana la eliberarea resursei; ordinea de alocare a resurselor intre procesele care solicita aceeasi resursa este determinata de prioritatea de executie determinata de prioritatea partitiei (procesele cu prioritate mai mare au acces la aceeasi resursa inaintea celor cu prioritate mai mica);
  • sistemul de calcul dispune de un sistem de intreruperi, prin intermediul caruia se semnaleaza aparitia unui eveniment care poate fi cauza comutarii intre procese.

Functiile pe care le asigura un sistem de operare in multiprogramare sunt:

lansarea automata in executie a lucrarilor unui lot, prin intermediul monitorului de inlantuiri, ca la sistemele in monoprogramare;

  • gestionarea executiei concurente a proceselor incarcate in cele n partitii, prin alocarea succesiva a UCP fiecaruia; comutarea intre procese are loc la momentele determinate de procese; componenta sistemului de operare care gestioneaza comutarea intre procese a UCP este numita planificator al procesorului (CPU Scheduller);
  • gestionarea alocarii aceleiasi resurse intre mai multe procese, conform prioritatii partitiilor;
  • asigurarea protectiei intre lucrarile incarcate in memoria interna pentru executie, astfel incat executia unui proces sa nu altereze rezultatele executiei celorlalte procese.

Se observa o crestere a complexitatii sistemului de operare, comparativ cu sistemele de operare in monoprogramare.

Ca efect al utilizarii multiprogramarii se poate constata:

o utilizare mai eficienta a resurselor sistemului, in primul rand a resurselor critice: UCP si memoria interna

  • cresterea volumului de lucrari executate intr-un anumit interval de timp.

Numarul si dimensiunea partitiilor din sistem depinde de capacitatea memoriei interne. Rezulta de aici principalul inconvenient al multiprogramarii: numarul si dimensiunea programelor care pot fi executate concomitent este limitat de numarul si dimensiunea partitiilor definite in sistem. Pentru inlaturarea acestui inconvenient se poate recurge la cresterea capacitatii memoriei interne, fizic sau logic.

O metoda de marire logica a capacitatii memoriei interne este prin utilizarea procedeului de swapping; o alta este prin utilizarea memoriei virtuale. Ambele metode sunt folosite pentru realizarea prelucrarilor concurente, in sistemele interactive.

Swapping-ul este o metoda de lucru cu memoria interna, care permite gestionarea executiei in paralel a mai multor procese. Intr-un sistem care utilizeaza swapping-ul, un proces in executie poate fi evacuat temporar in memoria externa, cu memorarea starii sale in momentul evacuarii (prin intermediul indicatorilor de stare ai procesului); in locul lui este incarcat in memoria interna un alt proces care poate fi si el executat partial si evacuat apoi in memoria externa, in favoarea altui proces, samd. 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 (ca la sistemele monotasking).

Conceptul de memorie virtuala porneste de la considerentul ca, pentru un program in executie, un numar relativ redus de instructiuni succesive sunt utilizate la un moment dat, in timpul prelucrarii. Intregul program poate fi incarcat in memoria externa, numita memorie virtuala, iar in memoria interna se incarca numai secvente contigue de program, numite pagini (in cazul organizarii paginate a memoriei virtuale) sau segmente (in cazul organizarii segmentate), de dimensiuni relativ reduse. In timpul executiei programului au loc schimburi permanente intre memoria virtuala si memoria interna, pentru a incarca in memoria interna pagina sau segmentul dorite. Avantajele care decurg din utilizarea memoriei virtuale sunt:

creste numarul proceselor care se pot executa simultan, pentru aceeasi capacitate a memoriei interne, determinand astfel o mai buna utilizare a resurselor sistemului de calcul;

  • dispar restrictiile privind lungimea maxima a unui program, in functie de capacitatea memoriei interne; utilizand memoria virtuala, programele pot fi oricat de mari si ele pot fi executate si pe sisteme mici.

Tehnica SPOOLING

Tehnica SPOOLING (Simultaneus Peripheral Operations On-Line) reprezinta un mod eficient de exploatare a sistemelor de calcul seriale, bazat pe principiul separarii operatiilor de intrare de operatiile de iesire si de restul prelucrarilor si pe executarea lor in paralel.

Executarea lucrarilor se face in multiprogramare, cu respectarea unor reguli suplimentare:

se definesc in memoria externa periferice virtuale corespunzatoare perifericelor standard I/O utilizate in lucrarile care se executa;

  • in timpul executiei unei lucrari, dispozitivul standard I/O solicitat este inlocuit, prin redirectare, cu perifericul virtual corespunzator; ca urmare, lucrul UCP cu informatiile de intrare/iesire este mult mai rapid, pentru ca rata de schimb a informatiei cu un suport magnetic este mult mai buna decat in cazul dispozitivelor I/O (care depind de componente mecanice, de factorul uman, etc.);
  • conversia de suport pentru informatiile de intrare/iesire intre dispozitivele periferice lente si perifericele virtuale rapide, definite in memoria externa, se poate face:

o        on-line, prin organizarea in sistem a doua partitii speciale, una pentru operatiile de intrare si a doua pentru operatiile de iesire;

    • off-line, adica in afara timpului destinat executiei propriu-zise a lucrarilor, alegand ca variante de lucru:

utilizarea unui sistem de calcul mai slab, dedicat operatiilor de conversie de suport (culegere date de la terminale, editare rapoarte la imprimanta, etc.)

      • utilizarea aceluiasi sistem de calcul in momente de incarcare minima (de exemplu in schimbul de noapte).

Pentru utilizarea tehnicii SPOOLING este nevoie de o memorie externa de capacitate mare, direct adresabila, unde sa fie organizate perifericele virtuale.

Efectele utilizarii tehnicii SPOOLING sunt:

cresterea randamentului de exploatare a unui sistem serial cu 40-50%, in primul rand prin scaderea timpilor de asteptare ai UCP

  • cresterea randamentului de utilizare a echipamentelor I/O; acestea sunt utilizate in reprize dar intr-o repriza sunt utilizate la capacitatea maxima.

Exemplu: tehnica SPOOLING se foloseste sub MS-DOS pentru listarile la imprimanta, utilizand comanda Print care poate fi executata in paralel cu alte lucrari in executie, conform tehnicii de exploatare in multiprogramare.

4. Exploatarea sistemelor de calcul in time-sharing

Exploatarea in time-sharing (cu 'partajarea timpului') porneste de la un obiectiv asemanator cu exploatarea in multiprogramare: executarea concurenta a proceselor, cu partajarea resurselor sistemului de calcul, de aceasta data in cazul sistemelor interactive, multiuser. Obiectivul este reducerea timpului de raspuns al sistemului, pentru servirea cererilor cat mai multor utilizatori.

Caracteristic exploatarii in time-sharing este faptul ca fiecare proces din sistem are alocata, in mod ciclic, o cuanta de timp, in care dispune de resursele sistemului; la consumarea cuantei respective, un alt proces primeste controlul pentru o alta cuanta de timp, samd. Aceasta schema de executie in paralel a proceselor permite unui mare numar de procese sa fie in sistem, la un moment dat, in diverse stadii ale executiei lor. Evenimentul care determina comutarea intre procese nu mai este determinat de proces ci este determinat de consumarea timpului de executie afectat procesului.

Segmentul de timp alocat unui proces nu este fix si poate sa difere de la un proces la altul; el se determina dupa anumite criterii, cum ar fi: numarul de procese din sistem, natura lor, etc.

Criteriile de impartire a timpului intre procese au in vedere:

minimizarea timpului necesar comutarii intre procese (o cuanta prea mica de timp pentru executie duce la cresterea timpului necesar comutarii intre procese in comparatie cu timpul de executie propriu-zisa a proceselor)

  • minimizarea timpului de executie a fiecarui proces (o cuanta prea mare de timp de executie pentru un proces duce la cresterea timpului de asteptare pentru celelalte procese din sistem).

Metoda de alocare a resurselor intre mai multe procese, prin impartirea timpului de alocare in cuante si alocarea resursei fiecarui proces cate o cuanta de timp se numeste multiplexarea resurselor.

Tehnica time-sharing este utilizata in sisteme interactive, in care importanta lucrarilor care se executa in sistem este relativ aceeasi. In cazul sistemelor multiuser, ea face posibila conectarea simultana la sistem a unui mare numar de utilizatori si tratarea tuturor cererilor acestora in conditii asemanatoare. Accesul utilizatorilor la sistem se face prin intermediul terminalelor I/O de la care pot trimite comenzi sau lansa in executie programe si la care pot primi mesaje de la sistem sau pot extrage rezultatele prelucrarilor.

Obiectivul principal al exploatarii in time-sharing este satisfacerea tuturor cererilor utilizatorilor conectati la sistem si reducerea timpului de raspuns al sistemului.

Consultarea starii terminalelor de intrare-iesire, pentru identificarea unor noi cereri utilizator se face utilizand metoda polling : sunt parcurse circular terminalele conectate la sistemul de calcul si, prin intermediul unei instructiuni de test, este verificata starea fiecarui terminal; daca este identificata aparitia unei cereri la un terminal, atunci aceasta este tratata, generandu-se un proces. Consultarea starii terminalelor este facuta in paralel cu executarea proceselor. Terminalele sunt inspectate circular, in asa fel incat starea fiecarui terminal este testata periodic.

Caracteristic activitatii de polling este frecventa cu care se face consultarea unui terminal:

o frecventa prea mica poate duce la intarzierea raspunsului sistemului la solicitarile utilizatorilor

  • o frecventa prea mare implica afectarea unui timp prea mare acestei operatii, in detrimentul prelucrarilor propriu-zise solicitate de procesele in executie.

Functiile pe care le realizeaza un sistem in time-sharing sunt:

consultarea starii terminalelor prin polling si lansarea in executie a proceselor, in momentul identificarii unei noi cereri la un terminal;

  • planificarea alocarii UCP la procesele in executie, circular, cate o cuanta de timp pentru fiecare proces;
  • executarea fiecarui proces pana la consumarea cuantei de timp sau pana la completarea sa (executia sa completa), caz in care procesul este distrus si se activeaza un alt proces in executie;
  • alocarea resurselor la fiecare proces prin multiplexarea resurselor;
  • in cazul in care memoria interna devine insuficienta fata de numarul de procese care sunt lansate in executie, ca urmare a cererilor formulate de la terminale, sistemul poate utiliza tehnica swapping, pentru evacuarea temporara a unor procese din memoria interna sau poate folosi memoria virtuala;
  • comutarea intre procese se face la initiativa sistemului de operare, la consumarea cuantei de timp afectate procesului; comutarea intre procese se face cu memorarea starii procesului intrerupt, pentru a fi posibila reluarea lui; comutarea intre procese poate necesita si transferuri intre memoria interna si memoria externa, daca procesul care se activeaza a fost evacuat in memoria externa;
  • este asigurata protectia intre procesele concurente, in cazul resurselor utilizate de mai multe procese;

Necesitati hardware pentru sistemele de calcul exploatate in time-sharing:

dispozitiv de timp care sa genereze intreruperi la incheierea unei cuante de timp, ca semnal pentru comutarea intre procese

  • memorie interna de capacitate mare, pentru a scadea necesitatea folosirii memoriei externe ca extensie logica a memoriei interne, reducand necesitatea schimburilor cu memoria externa la comutarea intre procese
  • UCP rapida, pentru scaderea timpului de raspuns la cererile utilizator si pentru realizarea unei comutari rapide intre procese.

Exemplu: de sistem in time-sharing este sistemul de operare Unix.

5. Exploatarea sistemelor de calcul in timp real

Sistemele de operare in timp real sunt sisteme care permit sa se urmareasca si sa se controleze evenimente din mediul extern sistemului de calcul, in momentul producerii acestora, preluand datele de intrare de la locul producerii lor si furnizand informatii de iesire la locul desfasurarii evenimentelor. Avantajul utilizarii unui sistem in timp real este capacitatea sa de a furniza la timp informatii intr-un mediu de date care se modifica foarte rapid.

Caracteristicile sistemelor in timp real sunt urmatoarele:

informatiile de intrare sunt preluate in momentul si la locul generarii lor, prin intermediul unor dispozitive de intrare specializate; aceste dispozitive de intrare pot fi situate local sau la distanta fata de sistem de calcul care prelucreaza datele, numit sistem de calcul "central";

  • la primirea informatiilor de intrare, sistemul transmite mesaje de raspuns catre utilizatorul care a generat informatiile; raspunsul este trimis prin intermediul acelorasi terminale sau al altora;
  • timpul de raspuns al sistemului este resursa critica in sistemele in timp real; el trebuie sa se incadreze sub o anumita limita, determinata in functie de procesul urmarit.

Obiectivul principal al sistemelor in timp real este ca timpul de raspuns al sistemului sa fie suficient de scurt in raport cu procesul real care produce datele furnizate sistemului de calcul.

Clasificarea sistemelor in timp real, dupa masura timpului de raspuns:

Sisteme in-line (sisteme de proces) - sunt sistemele in timp real cu ajutorul carora se realizeaza urmarirea unui proces (un proces de fabricatie, o reactie chimica, etc.). Timpul de raspuns se masoara in secunde. Aceste sisteme primesc datele de intrare de la echipamente specializate numite traductoare; traductoarele preiau valorile parametrilor procesului, in timpul desfasurarii lui, si le convertesc intr-un format convenabil prelucrarii lor in sistemul de calcul.

La primire, sistem de calcul prelucreaza aceste date si genereaza un raspuns; raspunsul sistemului de calcul poate constitui o comanda pentru un dispozitiv integrat in proces sau se poate adresa utilizatorului uman, ca suport in luarea unei decizii.

Exemplu : pot utiliza sisteme in-line sistemele de supraveghere a proceselor de productie.

Sisteme tranzactionale - sunt sistemele in timp real orientate pentru prelucrarea unui volum mare de date de aceeasi natura (de exemplu: evidenta vanzarilor intr-un mare magazin, eliberarea biletelor cu locuri rezervate, etc.). Timpul de raspuns se masoara in minute.

Datele sunt primite de sistemul de calcul de la terminale prin intermediul unor mesaje cu format fix, numite tranzactii. Tranzactiile trebuie sa aiba un format accesibil utilizatorului. Ca raspuns, utilizatorul poate primi informatii de sinteza, in legatura cu datele prelucrate, lansand comenzi de interogare (cereri) tot de la terminal; si comenzile de interogare au un format fix, predefinit.

Numarul si tipurile mesajelor si comenzilor cu care poate lucra utilizatorul este limitat, pentru a usura utilizarea lor.

Scopul acestor sisteme este de a asigura prelucrarea unui numar mare de tranzactii, asigurand o viteza mare de raspuns.

Exemplu : sistemele tranzactionale sunt utilizate pentru sisteme informatice bancare, pentru sisteme de urmarire operativa a productiei, sisteme de rezervare a locurilor la societati de transport aerian, feroviar, etc.

Sistemele in timp real sunt sisteme interactive multiuser. Ele trebuie sa realizeze prelucrarea concomitenta a intrarilor primite de la un mare numar de dispozitive de intrare. Prelucrarea fiecarei intrari se face prin generarea in sistem a unui proces.

Functiile unui sistem in timp real sunt:

sa gestioneze cererile de la toate dispozitivele de intrare din sistem, lansand imediat cate un proces;

  • sa asigure executarea concurenta a proceselor din sistem, urmarind reducerea timpului total de executie a fiecarui proces;
  • sa asigure accesul concurent la resursele sistemului de calcul;
  • sa asigure protectia intre procesele din sistem.

Planificarea executiei proceselor in sistemele in timp real trebuie sa tina seama de obiectivul principal al acestor sisteme: minimizarea timpului de raspuns. Comutarea intre procese se face la momente determinate prin intermediul sistemului de intreruperi iar ordinea de activare a proceselor este stabilita prin nivelul prioritatilor atasate lor. Pentru a gestiona executia proceselor, sistemul in timp real trebuie sa asigure urmatoarele functii:

stabilirea prioritatilor de executie a proceselor, dupa urmatorul algoritm: fiecare proces primeste o prioritate la intrarea lui in sistem; aceasta prioritate poate fi modificata pana la incheierea executiei procesului. De exemplu, daca durata de executie a procesului depaseste durata maxima de executie stabilita de monitor, acesta micsoreaza prioritatea de executie a procesului, pentru a permite executarea cu prioritate a proceselor care se incadreaza in limita de timp stabilita; in acest fel se garanteaza servirea tuturor cererilor primite in sistem in mod optim, tinand cont de resursa critica: timpul de raspuns.

  • gestionarea intreruperilor, conform urmatoarelor reguli:

o        planificatorul actioneaza de cate ori se produce in sistem un "eveniment" semnalat de o intrerupere;

    • intreruperile pot fi generate:
      • de un dispozitiv de intrare, pentru initierea unui proces
      • de ceasul de timp real, in cazul depasirii duratei limita de executie a unui proces
      • de incheierea unei operatii de I/O sau a executiei unui proces;
    • la aparitia unei intreruperi, planificatorul preda controlul altui proces, in functie de prioritatea procesului.

Optimizarea exploatarii sistemelor in timp real se poate realiza prin:

organizarea de buffere multiple de I/O, care sa permita reducerea timpilor de asteptare ai UCP, in timpul transferului de informatii cu terminalele de intrare/iesire; se are in vedere faptul ca la sistemul de calcul este conectat un numar mare de dispozitive I/O, ceea ce face necesar lucrul cu un numar corespunzator de buffere de I/O;

  • utilizarea programelor reentrante: este vorba despre programele care concura la executarea tranzactiilor. Este frecvent cazul in care, de la mai mu0lte dispozitive de intrare, sunt initiate concomitent cereri care trebuiesc prelucrate de acelasi program; in acest caz, ar trebui incarcate in memoria interna atatea copii ale programului cate executii ale sale au fost lansate prin cererile in curs de onorare. Este foarte convenabil, in aceasta situatie, sa se poata utiliza un program reentrant.

Un program reentrant este un program care, odata incarcat pentru executie in memoria interna, se poate afla, la un moment dat, in mai multe faze ale executiei sale, deci imaginea sa din memoria interna poate fi folosita in comun de mai multe procese care executa programul respectiv.

Pentru a fi reentrant, un program trebuie sa se compuna dintr-o parte fixa, care cuprinde, de obicei, instructiunile, si o parte variabila, care contine, de exemplu, datele asupra carora opereaza instructiunile. Daca fiecarui proces care initiaza executia programului i se rezerva in memoria interna o zona proprie pentru partea variabila a programului reentrant, atunci partea fixa a programului poate fi folosita in comun de toate procesele.

In acest fel se realizeaza o economie a spatiului ocupat de procese in memoria interna; implicit, se reduce numarul de operatii de transfer cu memoria externa, in cazul in care se utilizeaza memoria virtuala sau swapping-ul, pentru a putea incarca in memoria interna noi procese.

Necesitati hardware pentru sistemele in timp real:

Sistemele in timp real presupun stabilirea unei comunicatii directe, in ambele sensuri, intre utilizator si sistem; in acest scop sunt necesare echipamente specifice:

o        dispozitive periferice de intrare care, in functie de modul de preluare a datelor, pot fi :

terminale, care preiau datele introduse de operatorul uman,

      • traductoare, in cazul sistemelor de proces, care colecteaza datele de intrare automat, de la anumiti senzori;
    • dispozitive periferice de iesire:

terminale standard, care prezinta informatia de iesire operatorului uman,

      • echipamente analogice sau digitale care actioneaza direct asupra dispozitivelor de reglare a procesului controlat;
    • linii de comunicatie care stabilesc legatura fizica intre sistemul de calcul si dispozitivele periferice;
    • unitati pentru controlul transmisiei la distanta, care supervizeaza procesul de comunicatie pe linii, eliberand UCP pe timpul transmisiei de date.
  • Sistemele in timp real presupun memorarea unui volum mare de date si accesul rapid la aceste informatii. Sistemul de calcul trebuie sa fie echipat cu memorie externa de mare capacitate si viteza de acces.

Pentru un sistem in timp real, sistemul de calcul trebuie sa dispuna de un dispozitiv de timp, ceasul de timp real, pentru a masura durata de executie a proceselor si pentru a sesiza depasirea duratei maxime de executie a unui proces.

  • Echipamentele unui sistem de calcul exploatat in timp real trebuie sa se caracterizeze printr-o mare siguranta in functionare. In acest scop se practica:

o        dublarea sau triplarea unitatilor vitale ale sistemului de calcul, cu posibilitatea de comutare automata intre ele, in caz de defect; de exemplu:

sisteme de calcul dotate cu un procesor de rezerva

      • sistem de calcul cu memoria externa "in oglinda", adica scrierea in memoria externa se face concomitent pe doua unitati care au acelasi mod de adresare (pentru sistemele tranzactionale);
    • se memoreaza pe suport extern toate tranzactiile realizate in sistem, procedeu numit "jurnalizarea tranzactiilor"; in caz de incident, datele pot fi recuperate prin reluarea tranzactiilor din jurnal si prelucrarea lor (pentru sistemele tranzactionale).

6. Exploatarea sistemelor in retea de calculatoare

Cel mai simplu mod de utilizare a unui sistem de calcul este prin furnizarea datelor de intrare la locul unde este instalat sistemul si preluarea rezultatelor prelucrarilor din acelasi loc. In cazul in care acest loc nu coincide cu locul unde se produc datele de intrare, sau cu locul unde sunt utilizate rezultatele prelucrarilor, atunci trebuie gasita o modalitate convenabila de colectare a datelor si de distribuire a rezultatelor. Un exemplu in acest sens sunt sistemele in time-sharing sau in timp real, care folosesc in acest scop echipamente cu rol de terminal de intrare/iesire.

O alta problema o constituie tendinta de "diviziune a muncii" in sistemele mari de prelucrare automata a datelor, in asa fel incat fiecare componenta din sistem sa aiba functii de prelucrare specifice si sa colaboreze cu celelalte componente, in scopul realizarii unor prelucrari complexe ale datelor. Exista sisteme de prelucrare automata a datelor in care sarcini specifice sunt executate pe calculatoare dedicate, de exemplu:

culegerea datelor se face pe un sistem de calcul la care sunt, de regula, conectate mai multe terminale;

prelucrarile complexe asupra datelor se executa pe sisteme de calcul cu procesor puternic, folosind ca date de intrare datele furnizate de sistemul de culegere a datelor

  • imprimarea datelor se face prin intermediul unui alt sistem de calcul mai slab, dar care are conectate echipamentele periferice de iesire necesare.

Un sistem informatic astfel organizat asigura utilizarea cu eficienta maxima a echipamentelor si, totodata, un timp de raspuns foarte bun, in toate etapele prelucrarii informatiilor. Si in acest caz, principala problema care trebuie rezolvata este realizarea transferului de date intre sistemele de calcul care realizeaza prelucrarea lor, in toate etapele.

Transferul de date trebuie sa se realizeze in conditii optime de viteza si de siguranta (adica datele sa fie transmise corect, complet si la timp).

Folosirea sistemelor de calcul in conjunctie cu comunicatia de date la distanta a dus la crearea unor sisteme de prelucrare automata a datelor de mare putere.

Un sistem de prelucrare automata a datelor care are asigurata comunicarea de date la distanta cu alte echipamente, prin cel putin o linie de comunicatie reprezinta un sistem de teleprelucrare a datelor.

Tehnica transmiterii datelor la distanta, prin intermediul liniilor de comunicatie se numeste teletransmisie.

Daca printre echipamentele unui sistem de teleprelucrare figureaza cel putin doua calculatoare atunci sistemul se numeste retea de calculatoare.

Un mediu de teleprelucrare a datelor reprezinta un ansamblu de mijloace hardware si software care permit prelucrarea la distanta a informatiei.

Intr-un mediu de teleprelucrare a datelor sunt realizate doua categorii de functii:

functii comune oricarui sistem de prelucrare automata a datelor:

o        colectarea datelor

    • stocarea datelor
    • prelucrarea datelor
    • difuzarea rezultatelor
    • asigurarea protectiei datelor
  • functii specifice teletransmisiei:

o        gestionarea transmisiei de date prin caile de comunicatie

    • conversii de date intre formatul specific transmisiei de date si formatul de reprezentare interna a datelor in sistemul de calcul
    • transferul fizic al datelor
    • controlul, detectia si tratarea erorilor de transmisie.

Retelele de calculatoare au inregistrat o dezvoltare spectaculoasa in ultimii ani, datorita:

cresterii necesitatii de realizare a schimburilor informationale la distanta in sistemele informatice

avantajelor oferite de sistemele de prelucrare distribuita a datelor

  • progreselor realizate in domeniul tehnologiilor folosite in telecomunicatii
  • progreselor inregistrate in crearea suportului software pentru lucrul in retea de calculatoare, inclusiv prin dezvoltarea sistemelor de operare pentru retele de calculatoare.

Sistemele de operare in retea controleaza functionarea componentelor hardware si software ale sistemului de calcul, in conditiile specifice lucrului intr-o retea de calculatoare, precum si accesul utilizatorilor la resursele retelei, permitand partajarea acestor resurse.

Sistemele de operare proiectate pentru gestionarea lucrului in retea trebuie sa asigure cateva functii suplimentare, fata de celelalte functii ale unui sistem de operare. Aceste functii se refera la:

Comunicarea intre nodurile retelei (nodurile retelei sunt sistemele de calcul din retea). Aceasta functie trebuie sa asigure transferul de date intre sistemele de calcul din retea, utilizand un set de reguli care reglementeaza comunicarea in retea, set de reguli numit protocol de retea; problema transferului de date este complexa si implica:

o        realizarea legaturii punctuale intre doua sisteme de calcul: un sistem transmite date si celalalt le receptioneaza

o        asigurarea transferului de date intre doua noduri, prin intermediul altor noduri

o        operatii de selectie a traseului pe care sa se faca transferul de date intre doua sisteme de calcul din retea (functii de rutare)

o        operatii de conversie a datelor in si din formatul specific transmiterii datelor in retea, codificarea sau impachetarea datelor, conform anumitor reguli, numite protocoale de comunicatie, etc.

o        mecanisme de detectare si tratare a erorilor de transmisie

o        autentificarea proceselor implicate in transfer, cu verificarea drepturilor de acces in retea, etc.

Partajarea resurselor unui sistem de calcul intre nodurile retelei. Se numeste host un nod al retelei care permite partajarea resurselor sale de catre celelalte noduri din retea.

Partajarea propriilor resurse de catre un nod presupune gestionarea cererilor multiple si simultane de acces la resursele partajate, care pot sa apara de la celelalte noduri din retea. Aceasta inseamna ca sistemul host trebuie sa fie un sistem multitasking si multiuser.

Exemplul 1: O "masina" DOS este un sistem monotasking, monouser si deci nu poate sa isi partajeze resursele intr-o retea. Din acest motiv, intr-o retea, o masina DOS va functiona doar ca simplu nod (poate folosi resursele partajate de alte noduri), nu ca host.

Cu toate acestea, intr-o retea Windows 11, implementata sub MS-DOS, orice nod este host. Acest lucru este posibil pentru ca Windows 11 aduce in sistemul de operare o componenta de retea, care constituie o dezvoltare a sistemului de operare ce include functiile necesare lucrului in retea, inclusiv cea care face posibila partajarea resurselor.

Exemplul 2: Optiunea Sharing (utilizare in comun) din meniul de context al unor obiecte Windows permite definirea modului de partajare a resursei respective in cadrul retelei

Accesarea resurselor partajate din retea se refera la capacitatea unui nod de a avea acces la resursele partajate de un alt nod din retea.

Pentru a permite accesul la o resursa partajata din retea, se definesc, pentru aceasta resursa, drivere virtuale, care sunt declarate pe sistemul nodului care utilizeaza resursa partajata. Aceste drivere se refera deci la resurse care nu exista fizic in sistemul de calcul respectiv dar exista fizic pe host. Definirea unei corespondente intre unitatile fizice partitionate, din retea, si driverele virtuale definite pe nodul local se numeste operatie de mapare.

Gestionarea driverelor virtuale este realizata de o componenta de retea specializata, instalata pe fiecare nod.

Exemplul 1: Optiunea Map Network Drive (Mapare unitate de retea) este oferita, in sistemul de operare Windows, de aplicatia Explorer; ea da posibilitatea maparii unei unitati virtuale locale la o unitate din retea. Operatia inversa, de anulare a maparii, se realizeaza cu optiunea Disconnect Network Drive (Deconectare unitate de retea).

Exemplul 2: Sistemul de operare NetWare al firmei Novell este un sistem de operare in retea, dezvoltat pentru o retea locala (LAN), cu un calculator central, numit server , care isi partajeaza resursele celorlalte noduri ale retelei, numite statii de lucru.

NetWare are pe server un sistem de operare propriu, de retea, care emuleaza MS-DOS (adica are inglobate functiile MS-DOS si, in plus, alte functii proprii).

Pe celelalte sisteme din retea, NetWare trebuie sa gaseasca instalat MS-DOS-ul, la care adauga o componenta proprie de retea, care asigura accesul in retea a statiei de lucru respective. Alte sisteme de operare care pot fi instalate pe statiile de lucru, intr-o retea NetWare, sunt Unix sau Windows95.

Componenta care realizeaza functia de partajare a resurselor proprii se incarca numai pe server. Este posibil sa fie partajate numai anumite resurse ale unui server; de exemplu, un sistem host isi poate partaja numai imprimanta si este numit server de imprimanta sau poate partaja suportii de memorie externa si se numeste server de date, etc.

Reteaua NetWare Novell are componente distincte pentru realizarea comunicarii in retea si pentru realizarea accesului de pe statiile de lucru la resursele partajate de pe server.

Identificarea nodurilor retelei si stabilirea drepturilor de acces in retea. Aceste functii sunt implementate pe serverul de retea si presupun asocierea unui sistem de parole fiecarui utilizator din retea, pentru identificarea acestuia; in felul acesta pot fi reglementate drepturile de acces la resursele partajate de server, pentru fiecare utilizator si pot fi definite actiunile permise utilizatorilor din retea.

Mecanismul de identificare a utilizatorilor ofera si posibilitatea urmaririi (inregistrarii) activitatii utilizatorilor in retea.

Exemplul 1:Windows 95, Windows 98 implementeaza o retea in care fiecare nod este host si nu este definit un nod principal (server); in aceasta retea nu sunt asigurate servicii speciale de protectie pentru nici un nod al retelei.

In schimb, Windows NT Server este un sistem de operare pentru un server de retea si are implementata functia de definire si control ale drepturilor de acces.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1922
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved