377
1 SISTEME DE OPERARE Prof. Univ. Dr. Ing. CORNELIA NOVAC-UDUDEC

Sisteme Operare - Novac

Embed Size (px)

DESCRIPTION

Curs facultate anul II. Profesor Novac Ududec

Citation preview

Page 1: Sisteme Operare - Novac

1

SISTEME DE OPERARE

Prof. Univ. Dr. Ing. CORNELIA NOVAC-UDUDEC

Page 2: Sisteme Operare - Novac

2

Cuprins

Sistem de operare – Noţiuni generale Funcţiile unui sistem de operare Componentele unui sistem de operare Servicii pentru aplicaţii Categorii de programe Resursele sistemului de calcul

Page 3: Sisteme Operare - Novac

3

Introducere

Un sistem de calcul nu poate să prelucreze date fără să fie programat;

Un program - succesiune de instrucţiuni ce convergcătre soluţia problemei ce se rezolvă.

Există două categorii de programe:1). Programe de aplicaţii - destinate să rezolveprobleme specifice; acestea efectuează prelucrăriale datelor, în concordanţă cu cerinţele problemei.

Page 4: Sisteme Operare - Novac

4

Introducere

2). Programe de sistem – coordonează operareacircuitelor sistemului, asistând la dezvoltareaprogramelor de aplicaţii; ele sunt proiectate săfaciliteze utilizarea eficientă a resurselorsistemului de calcul şi să ajute la dezvoltarea siexecuţia programelor de aplicaţii.

Programele de sistem sunt scrise pentru anumitecategorii de sisteme de calcul şi nu pot fi folositepe orice calculator;

Sunt furnizate de către producătorii sistemelor de calcul sau alte firme specializate;

Sunt proiectate să corespundă unei game variate de solicitări.

Page 5: Sisteme Operare - Novac

5

Componenta software a unui sistem de calcul

Software de bază - programele care asigură serviciigenerale şi se adresează tuturor utilizatorilor sistemului de calcul. Sistemul de operare (SO) - acţionează ca o interfaţă

între sistemul de calcul şi utilizator. Sistemul de operareare rolul de a coordona şi supraveghea funcţionareacalculatorului şi de a realiza comunicarea între utilizatorşi sistemul de calcul.

Sistemul de programare cuprinde componentele software care permit utilizatorilor să realizeze programe executabileîn sistemul de calcul. Cuprinde pachete de programededicate, specifice fiecărui limbaj de programare folosit de utilizator.

Page 6: Sisteme Operare - Novac

6

Sistemul de programe utilitare(software utilitar), care include programe cu un grad mare de generalitate, puse la dispoziţiautilizatorilor pentru a realiza anumiteprelucrări specifice asupra informaţiilor, prelucrări comune pentru toţi utilizatoriiunui sistem de calcul.

Software de aplicaţie

Page 7: Sisteme Operare - Novac

7

DEFINIŢIE

Un sistem de operare este o colecţieintegrată de programe de sistem, ceoferă utilizatorului posibilitatea folosiriieficiente a sistemului de calcul, concurând la dezvoltarea programelorde aplicaţie.

Page 8: Sisteme Operare - Novac

8

SO – interfaţa între hardware şi utilizator

Se poate aprecia că un sistem de operare acţioneazăca o interfaţa între componenta hardware a unuisistem de calcul şi utilizator, reprezentat prinprogramele sale de aplicaţie (fig.1.1).

Page 9: Sisteme Operare - Novac

9

Organizarea SO

Majoritatea sistemelor de operare suntorganizate pe două niveluri:

1). Nivelul fizic care este mai apropiat de parteade hardware, interferând cu aceasta printr-un sistem de întreruperi ce semnalizează anumiteevenimente deosebite ce au loc în sistem;

În acel moment va da controlul unor rutine de penivelul logic în vederea tratării acestora şi al informării utilizatorului despre cauzele care le-au generat.

Page 10: Sisteme Operare - Novac

10

Organizarea SO

2) Nivelul logic este mai apropiat de utilizator, interferând cu acesta prin:- comenzi ce specifică execuţia anumitorsubfuncţii ale sistemului de operare;- macroinstrucţiuni;- limbaje de programare;- mesaje către utilizator;- întreruperi solicitate de către software.

Page 11: Sisteme Operare - Novac

11

Funcţiile unui sistem de operare Pentru a îndeplini rolul de interfaţă între hardware şi

utilizatori, un sistem de operare trebuie să fie capabil a îndeplini următoarele funcţii:

1). Oferirea posibilităţii de pregătire şi lansare în execuţie a programelor de aplicaţie (fig.1.2.); În acest scop, un sistemde operare trebuie să dispună de cel puţin următoarelecomponente:- un editor de texte pentru a introduce şi modifica un program sursă (PS) scris într-un limbaj de programare;- un translator pentru limbajul de programare folosit(asamblor, compilator sau interpretor), care să traducăinstrucţiunile programului sursă, într-o formă recunoscută de sistemul de calcul (formă binară) - program obiect saumodule obiect (PO);

Page 12: Sisteme Operare - Novac

12

Funcţiile unui sistem de operare

- un editor de legături care să realizezelegătura dintre diverse module obiect, sau săapeleze la module obiect din bibliotecilesistemului, respectiv la modulele obiect din biblioteca utilizatorului - care au fostcatalogate în prealabil, pentru a construistructura pe segmente impusă de sistemul de calcul în vederea execuţiei programelor(program obiect executabil-POE)

Page 13: Sisteme Operare - Novac

13

Page 14: Sisteme Operare - Novac

14

Funcţiile unui sistem de operare

2). Alocarea resurselor necesare execuţieiprogramelor prin:

- identificarea programelor ce se execută şi a necesarului de resurse;

- alocarea memoriei interne şi a dispozitivelorperiferice;

- identificarea şi protecţia colecţiilor de date.

Page 15: Sisteme Operare - Novac

15

Funcţiile unui sistem de operare

3). Acordarea unor facilităţi prin utilitare de interes general: gestiune cataloage (directori, subdirectori) şi

fişiere; creare, modificare, copiere, mutare, ştergere,

recuperare directori şi fişiere; sortare/interclasare; comprimare/decomprimare spaţiu pe suporturile

de memorie externă; depistare şi eliminare viruşi informatici şi altele.

Page 16: Sisteme Operare - Novac

16

Funcţiile unui sistem de operare

4). Planificarea execuţiei mai multor programe(multiprogramare) după anumite criterii, învederea utilizării eficiente a unităţii centralede prelucrare.

Page 17: Sisteme Operare - Novac

17

Funcţiile unui sistem de operare

5). Coordonarea execuţiei mai multorprograme ce se execută simultan, prinurmărirea modului de execuţie a instrucţiunilor programelor, depistarea şitratarea erorilor, lansarea în execuţie a operaţiilor de intrare/ieşire

Page 18: Sisteme Operare - Novac

18

Funcţiile unui sistem de operare

6). Asistarea execuţiei programelor de cătreutilizator, prin comunicaţia sistem de calcul-utilizator atât la nivel hardware cât şi la nivelsoftware.

7). Asigurarea organizării şi protecţieidatelor în memorie.

8). Posibilitatea generării unui sistem de operare pe măsura configuraţiei existente.

Page 19: Sisteme Operare - Novac

19

Componente SO În mod tradiţional, sistemul de operare este

constituit din trei componente: nucleu (denumit şikernel), shell (interpretor de comenzi) şi sistemul de fişiere. Nucleul include funcţiile de nivel jos care vor fi

încărcate în memorie după execuţia procesului de iniţializare a calculatorului.

Un exemplu este modulul care realizează controlul fluxului de date între memorie şi unităţile de I/E. Pentru sistemul de operare MS-DOS, nucleul este fişierul ascuns msdos.sys(ibmdos.com).

Page 20: Sisteme Operare - Novac

20

Componente SO

Shell-ul sau interpretorul de comenzi asigurăinterfaţa între utilizator şi calculator (spreexemplu, shell-ul sistemului de operare MS-DOS este fişierul command.com).

Sistemul de fişiere - reprezintă, pe scurt, modalitatea de organizare a fişierelor pe disc. Există o diversitate de sisteme de fişiere, de la FAT16, FAT32 şi NTFS pentru sistemul de operare Windows până la NFS (Network File System), RFS (Remote File Sharing) şi AFS (Andrew File System) pentru sisteme de operare din familia UNIX.

Page 21: Sisteme Operare - Novac

21

Servicii pentru aplicaţiiUn sistem de operare realizează următoareleservicii pentru aplicaţii:

În cazul sistemelor de operare multitasking, când programe multiple pot fi încărcate înacelaşi timp, sistemul de operare stabileşte ceaplicaţii se vor executa, în ce ordine şi cât timpse alocă fiecărei aplicaţii înainte de a se dacontrolul alteia;

Administrarea memoriei centrale, care estealocată diverselor aplicaţii;

Administrarea intrărilor şi ieşirilor de la/spredispozitivele conectate (hard disc, imprimantă, scanner);

Page 22: Sisteme Operare - Novac

22

Servicii pentru aplicaţii

Emiterea de mesaje către aplicaţii sauutilizatorul interactiv (sau operatorul de sistem) despre starea operaţională şi oriceeroare care poate apare;

Pe calculatoarele care realizează prelucrăriparalele, sistemul de operare poate decide modul în care este divizat programul, astfelîncât să fie executat pe mai multe procesoareîn acelaşi timp.

Page 23: Sisteme Operare - Novac

23

Categorii de programe

Din punct de vedere functional, programele sistemului de operare se împart în douã categorii :

Componenta de comandã si control, care cuprinde programe ce au rolul de a asigura utilizarea eficientã a resurselor sistemului de calcul.

Componenta de servicii, care cuprinde programe destinateminimizãrii efortului uman implicatde utilizarea sistemului de calcul.

Page 24: Sisteme Operare - Novac

24

Resursele sistemului de calcul

Pentru a executa un program, într-un sistem de calcul secvenţial cu program memorat, este necesarã încãrcarea acestui program în memoria internã a sistemului de calcul.

Sub controlul unitãţii centrale de prelucrare (UCP) sunt executate, secvenţial, instrucţiunile programului.

Page 25: Sisteme Operare - Novac

25

Dupã caz, executarea unei instructiuni program poate presupune:

Alocarea unitãtii aritmetico-logice (UAL), pentru efectuarea de operatii aritmetice sau logice asupra datelor prelucrate de program;

Alocarea unui dispozitiv periferic, pentru realizarea unui schimb de informatii între acesta si memoria internã afectatã programului;

Page 26: Sisteme Operare - Novac

26

Dupã caz, executarea unei instructiuni program poate presupune:

Alocarea de spatiu în memoria externã a sistem de calcul, pentru stocarea informa-ţiilor manevrate de program;

Accesarea unei anumite structuri de date (de ex. un fişier din memoria externã);

Apelul, pentru execuţie, a unui alt program, încãrcat în memoria internã sau memorat în memoria externã a sistemului de calcul, etc.

Page 27: Sisteme Operare - Novac

27

Resursele sistemului de calcul

Resursele sistemului de calcul, pe care sistemul de operare le pune la dispoziţia utilizatorului, se constituie din totalitatea componentelor fizice sau logice ale sistemului de calcul, care pot fi solicitate, la un moment dat, în timpul execuţiei unui program.

Execuţia unui program se defineşte ca o succesiune de procese care se realizeazã sub controlul sistemului de operare.

Page 28: Sisteme Operare - Novac

28

Procesul

Reprezintã o secvenţã de activitãţi care se executã la un moment dat în sistemul de calcul şi care se caracterizeazã prin: prelucrãrile care se realizeazã, determinate de

secvenţa de instrucţiuni care controleazã procesul;

contextul de lucru asupra cãruia acţioneazã procesul, prin intermediul prelucrãrilor, şi care include resursele alocate procesului.

Page 29: Sisteme Operare - Novac

29

Pentru a realiza alocarea unei resurse la un proces, sistemul de operare trebuie sã aibã rãspuns la urmãtoarele întrebãri, dupã caz: dacã resursa cerutã existã în sistem ; dacã ea este disponibilã; cât din resursã este disponibilã; pentru cât timp poate fi alocatã resursa; dacã resursa este deja alocatã altui proces, dacã ea mai este necesarã procesului cãruia îi

este alocatã.

Page 30: Sisteme Operare - Novac

1

SISTEME DE OPERAREGESTONAREA RESURSELOR

Page 31: Sisteme Operare - Novac

2

Funcţii pentru gestionarea resurselor Evidenţa resurselor sistemului de calcul în

fiecare moment, prin înregistrarea fiecãrei resurse, a stãrii ei (alocatã sau liberã) şi a gradului ei de ocupare (cât din resursã este alocat);

Implementarea unor algoritmi de alocarea resursei, conform unei strategii de alocare stabilite;

Page 32: Sisteme Operare - Novac

3

Strategii de alocare a resurselor

O strategie de alocare trebuie sã rãspundã la întrebãrile: Cãrei solicitãri i se alocã resursa; Cât din resursã se alocã; În ce moment se face alocarea; Pentru cât timp se face alocarea resursei.

Page 33: Sisteme Operare - Novac

4

Alocarea efectivã a resursei se efectuează odată cu actualizarea informaţiilor legate de starea ei;

Dezalocarea resursei care poate fi fãcutã: La initiativa procesului care a solicitat-o, atunci

când ea nu mai este necesarã procesului; La initiativa sistemului de operare, pentru a fi

alocatã şi altor procese.

Page 34: Sisteme Operare - Novac

5

Componenta de comandã şi control

Activitatea de lansare în execuţie a unui program, activitatea de gestionare a alocãrii resurselor sistemului de calcul, pe toatã durata executãrii programului, ca şi operaţiile efectuate la încheierea execuţiei acestuia, sunt funcţii realizate de componenta de comandã şi control a sistemului de operare.

Page 35: Sisteme Operare - Novac

6

Funcţiile componentei de comandã şi control ale sistemului de operare sunt:

1. Planificarea, lansarea şi urmãrirea execuţiei programelor;

2. Gestionarea resurselor sistemului de calcul;3. Depistarea şi tratarea evenimentelor deose-

bite care apar în timpul execuţiei programelor;

4. Asigurarea protecţiei informaţiilor manevra-te de diverse programe (aceste programe pot fi ale sistemului de operare sau programe utilizator).

Page 36: Sisteme Operare - Novac

7

Componenta de comandã si control Conform acestor funcţii, componenta de comandã şi

control a sistemului de operare va include: Nucleul sistemului de operare, cu funcţia de coordonare a

activitãţii sistemului de calcul şi a celorlalte componente ale SO. Aceastã componentã este rezidentã în memoria internã pe toatã durata funcţionãrii sistemului de calcul şi se mai numeşte monitorul rezident al SO.

Câte o componentã de gestionare pentru fiecare tip de resursã din sistem.

Page 37: Sisteme Operare - Novac

8

Componenta de servicii - CS

CS a SO s-a dezvoltat odatã cu cerinţele utilizatorilor sistemelor de calcul. Gradul de accesibilitate al unui sistem de calcul, ca şi complexitatea sarcinilor pe care utilizatorul le poate rezolva cu ajutorul lui, sunt influenţate de existenţa şi eficienţa programelor de sistem incluse în componenta de servicii.

Programele de servicii se executã sub supra-vegherea programelor de comandã şi control, ca orice program de aplicaţie.

Page 38: Sisteme Operare - Novac

9

Componenta de servicii poate include: Unul sau mai multe programe încãrcãtor pentru SO, care

lanseazã automat programe ale SO la pornirea sistemului de calcul;

Programe de tip interpretor de comenzi, adicã acele programe care preiau comenzile adresate SO de cãtre utilizator, asigu-rând astfel comunicarea între utilizator şi sistemul de operare;

Funcţia de gestionare a dialogului cu utilizatorul, fie în mod comandã, oferind mecanisme de editare a comenzilor, fie în mod grafic, prin intermediul unei interfeţe grafice cu utilizatorul (GUI - Graphical User Interface);

Funcţia de înlãnţuire prin date a comenzilor SO are mecanismul pipe, de interpretare a comenzilor agregate sub forma unor macrouri sau a unor fişiere de comenzi ;

Page 39: Sisteme Operare - Novac

10

Componenta de servicii Functia de asistenţã « on line » pentru SO, cunoscutã ca

Help-ul sistemului de operare; Funcţia de tipul « plug and play » care oferã facilitãţi de

autodetecţie a echipamentelor nou instalate în sistem şi permite reconfigurarea hardware, cu uşurinţã, a sistemului, ca şi notificarea schimbãrii configurãrii sistemului, de exemplu prin cãderea unui echipament din sistem;

Funcţia care oferã suportul pentru utilizarea limbii naţionale, adicã adaptarea informaţiilor cu caracter naţional (semn monetar, marcã zecimalã) conform ţãrii selectate ;

Funcţii pentru configurarea personalizatã a mediului de lucru cu sistemul de calcul, de exemplu pentru utilizatori cu opţiuni speciale de manevrare a echipamentelor (tastaturã, mouse, etc.)

Page 40: Sisteme Operare - Novac

11

Clasificarea sistemelor de operare din punctul de vedere al execuţiei proceselor Pentru utilizarea eficientã a resurselor sistemului de

calcul, unele SO pot gestiona execuţia concurentã a mai multor procese, asigurând proceselor din sistem accesul concurent la resursele sistemului sau partajarea resurselor.

Aceasta înseamnã cã, la un moment dat, în sistem se pot afla în execuţie mai multe procese care concurea-zã între ele pentru accesul la resursele sistemului iar SO gestioneazã resursele sistemului pentru satisface-rea cât mai multor cereri ale acestor procese pentru alocarea de resurse.

Page 41: Sisteme Operare - Novac

12

Clasificarea sistemelor de operare din punctul de vedere al execuţiei proceselorSistemele de operare pot fi:

1. Monotasking, care nu asigurã execuţia concurentã şi nicipartajarea resurselor între mai multe procese. Sub controlul unui SO monotasking, la un moment dat, însistemul de calcul se poate executa un singur program; acesta rãmâne activ din momentul lansãrii lui în execuţieşi pânã la terminarea lui completã; cât timp este înexecuţie, programul are acces la toate resursele sistemuluide calcul.

Exemplu: sistemele de operare MS-DOS si CP/M suntsisteme de operare monotasking; în timpul executãrii unuiprogram, sistemul de operare pierde controlul asuprasistemului, în favoarea programului aflat în execuţie, care preia controlul pânã în momentul încheierii execuţiei sale.

Page 42: Sisteme Operare - Novac

13

Clasificarea sistemelor de operare din punctul de vedere al executiei proceselor

2. Multitasking sunt acele SO care asigurã execuţiaconcurentã a mai multor procese care existã conco-mitent în sistem.

Exemplu: sistemele de operare Windows, Unix. În plus faţã de SO monotasking, pentru un SO

multitasking trebuiesc definite strategiile de alocarea resurselor la procesele concurente, strategii care vor fi folosite de componentele sistemului de operarepentru gestionarea resurselor.

Page 43: Sisteme Operare - Novac

14

Clasificarea sistemelor de operare dupã gradul de interacţiune cu utilizatorul

Din punctul de vedere al accesului utilizatorilor la sistem şi al gradului de interacţiune cu sistemul, sistemele de operare pot fi: Seriale, acele SO pentru care gradul de interacţiune cu

utilizatorul, în timpul prelucrãrilor, este nul. De cele mai multe ori, interfaţa dintre SO şi utilizator nu dispune de un limbaj de comandã accesibil utilizatorului obişnuit, motiv pentru care comunicarea dintre utilizator şi sistem nu este directã ci mediatã de persoane specializate ca operatori de calculator. În timpul execuţiei lucrãrii sale, utilizatorul pierde total controlul asupra prelucrãrii; el furnizeazã datele care se prelucreazã odatã cu formularea cererii de prelucrare şi primeşte rezultatele prelucrãrii la încheierea execuţiei.

Page 44: Sisteme Operare - Novac

15

Clasificarea sistemelor de operare dupã gradul de interactiune cu utilizatorul

Interactive: sistemele de operare care permit comunicarea directã între utilizator şi sistemul de calcul, prin intermediul unui limbaj dedicat acestui scop (limbajul de comandã al So sau interfaţa graficã utilizator). În plus, utilizatorul poate urmãri modul în care se executã programul sãu şi poate influenţa, în anumite condiţii, execuţia acestuia.

Un SO interactiv presupune o arhitecturã a sistemului de calcul care sã cuprindã echipamente standard de I/E dedicate comunicãrii utilizatorului cu SO (terminale I/O); aceste echipamente cuprind, de obicei, o tastaturã, ca echipament standard de intrare şi un dispozitiv de vizualizare a informatiilor de ieşire (un display sau o mini imprimantã).

Page 45: Sisteme Operare - Novac

16

Sistemele de operare interactive pot fi: monouser,- comunicarea cu sistemul de

calcul este posibilã, la un moment dat, numaipentru un singur utilizator, prin intermediulconsolei sistemului de calcul;

multiuser,- SO poate gestiona comunicarea concomitentã cu mai mulţi utilizatori, conectaţi la sistemul de calcul prin intermediul echipamentelor terminale de I/E.

Page 46: Sisteme Operare - Novac

17

Clasificarea sistemelor de operare dupã configuraţia hardware deservitã Sisteme de operare pentru microcalculatoare:

sunt puternic interactive, cu un limbaj de comandã accesibil saucu interfaţã graficã utilizator;

unele sunt monouser si monotasking (MS-DOS), altelemultitasking (Windows), eventual şi multiuser (Unix);

sunt uşor configurabile, oferind proceduri automate pentru încãrcarea sau pentru instalarea sistemului de operare;

ocupã un spaţiu redus în memoria internã; suportã dezvoltãri pentru a permite conectarea în reţele de

calculatoare sau ca terminale la sisteme de calcul mari; au funcţia de gestionare a informaţiei dezvoltatã în direcţia

manevrãrii unui numãr mare de fişiere de dimensiuni mici;

Page 47: Sisteme Operare - Novac

18

Clasificarea sistemelor de operare dupã configuratia hardware deservitã

sisteme de operare pentru minicalculatoare: Sunt interactive, multiuser şi multitasking; Folosesc un limbaj de comandã pentru utilizatori avizaţi; Procedurile de încãrcare la conectarea sistemului şi de

instalare a sistemului de operare sunt mai laborioase; Sunt mai rigide, în cazul modificãrii configuraţiei

hardware; Asigurã un sistem de prioritãti de execuţie dezvoltat; Sunt orientate pentru lucrul cu mai mulţi utilizatori,

oferind un sistem complex de protecţie a informaţiei; Sunt orientate pentru lucrul cu multe terminale, putând

îndeplini funcţia de concentrator de date;

Page 48: Sisteme Operare - Novac

19

Clasificarea sistemelor de operare dupã configuraţia hardware deservitã

sisteme de operare pentru calculatoare mainframe: seriale sau interactive, multitasking; limbaj de comandã pentru utilizatori specializaţi; gestioneazã un numãr mare de echipamente

periferice; orientate pentru prelucrãri complexe şi pentru

volume mari de date.

Page 49: Sisteme Operare - Novac

20

Sistemul de programare al unui sistem de calcul

Prelucrarea automată a informaţiei se face conform unui algoritm.

Algoritmul de prelucrare descrie conţinutulşi succesiunea tuturor etapelor ce trebuiescparcurse în timpul procesului de prelucrare.

Pentru a putea fi utilizat în scopul uneiprelucrări automate a informaţiei, într-un sistem de calcul, un algoritm trebuie să aibăcâteva proprietăţi esenţiale :

Page 50: Sisteme Operare - Novac

21

Proprietăţi ale algoritmilor Generalitatea - capacitatea algoritmului de a descrie

modul de rezolvare a unui anumit tip de problemă ; Universalitatea: odată definit modul de rezolvare,

algoritmul trebuie să fie aplicabil, indiferent de setulde date pe care le prelucrează ;

Finitudinea garantează faptul că execuţiaalgoritmului se încheie, după un număr finit de paşi, indiferent de setul de date care sunt prelucrate ;

Completitudinea este proprietatea care asigură faptulcă algoritmul rezolvă integral problema abordată : nu există variante ale prelucrării netratate ;

Page 51: Sisteme Operare - Novac

22

Sistemul de programare al unui sistem de calcul Proprietăţi care definesc modalitatea de descriere a

algoritmului, de exemplu : concizia, claritatea şirigurozitatea definirii acestuia ;

Executabilitatea este proprietatea algoritmului de a descrie prelucrările numai prin intermediul unoroperaţii care pot fi executate în sistemul de calcul ;

Eficienţa algoritmului măsoară gradul în care executarea acestuia se realizează în timp minim şi, îngeneral, cu un consum cât mai redus de resurse.

Page 52: Sisteme Operare - Novac

23

Sistemul de programare Cuprinde acele instrumente software (programe sau

pachete de programe) care fac posibilă generareaprogramelor executabile în sistemul de calcul. El poate fi alcătuit din următoarele categorii de software :

programele editoare de text- permit introducerea şimodificarea interactivă a informaţiei (Ex. - programesursă); aceste programe editoare trebuie să aibă caracteristica

WYSIWYG (What You See Is What You Get) adică sănu introducă automat caractere suplimentare în programulsursă editat ;

Page 53: Sisteme Operare - Novac

24

Programe translatoare Programele translatoare pentru limbajele de

programare, transformă programele sursă, scriseîntr-un limbaj de programare, în programe obiect, scrise în limbaj maşină, prin operaţia de translatare(traducere sau compilare).

După natura transformării pe care o realizează, programele translatoare pot fi :

Page 54: Sisteme Operare - Novac

25

Programe de compilare

Realizează transformarea programului sursă înprogram obiect ;

Acestă categorie include :1. Asambloare, care traduc programe sursă scrise

într-un limbaj de asamblare2. Compilatoare specifice fiecărui limbaj de

programare de nivel înalt ; 3. Interpretoare, care, odată cu compilarea

programului sursă, realizează şi execuţiaacestuia, instrucţiune cu instrucţiune ;

Page 55: Sisteme Operare - Novac

26

Programe de compilare3. Editoare de legături, care transformă programele

din format obiect în programe executabile, realizând, dacă este cazul, integrarea mai multormodule obiect într-un singur program executabil ;

4. Programele depanatoare, interactive sau nu, care permit monitorizarea execuţiei unui program învederea localizării erorilor de execuţie ;

5. Mediile de programare, care reprezintă aplicaţii maicomplexe, care includ toate funcţiile prezentate maisus, utilizate pentru generarea unui program executabil.

Page 56: Sisteme Operare - Novac

27

Activitatea de compilare a unui program sursă poatefi descompusă în mai multe faze, care corespunde, fiecare, unei funcţii logice asigurate de programultranslator, şi care asigură următoarele operaţii : analiza lexicală a programului sursă se realizează la

nivelul fiecărei linii program şi constă în : eliminarea caracterelor nesemnificative (de exemplu spaţiile,

comentariile, etc) identificarea unităţilor logice ale limbajului de programare, de

tipul operatorilor, cuvintelor rezervate, identificatorilor, constantelor, etc. şi înscrierea acestora în structuri tabelarenumite tabele de simboluri ;

Page 57: Sisteme Operare - Novac

28

Etapele procesului de compilare

Page 58: Sisteme Operare - Novac

29

Analiza sintactică Are ca obiectiv principal identificarea, în

programul sursă, a construcţiilor sintactice de bază (instrucţiuni, expresii, liste, etc.) şiinterpretarea conţinutului lor, prin generareaunor structuri proprii de descriere a fiecăreia, prin intermediul unei structuri arborescente, numită arbore de derivare ;

Page 59: Sisteme Operare - Novac

30

Activitatea de compilare Analiza semantică ce are ca obiectiv interpretarea

fiecărei construcţii sintactice identificate. Pe baza arborelui de derivare definit şi folosind

tabela de simboluri, se generează seturile de instrucţiuni elementare care corespund fiecăreiconstrucţii sintactice identificate.

Aceste instrucţiuni sunt formulate într-un format de trecere către codul maşină, numit cod intermediar, dar încă sunt independente de acesta ;

Optimizarea codului intermediar, prin înlăturareavariabilelor neutilizate, a instrucţiunilor redundante, etc ;

Page 60: Sisteme Operare - Novac

31

Compilarea Alocarea memoriei, pentru entităţile din programul sursă care

vor fi încărcate în memoria internă, în timpul execuţieiprogramului ; alocarea se face utilizând tabela de simboluri şiasociind la fiecare astfel de entitate o locaţie de memorie, calculată relativ la adresa de început a programului şidenumită adresă relocabilă ;

Optimizarea dependentă de calculator a codului intermediar, prin alocarea regiştrilor de lucru ai procesorului şi generareacodului obiect sunt operaţii care depind de calculator ;

În toate etapele are loc detectarea şi înregistrarea erorilor de utilizare a limbajului de programare, erori numite erori de compilare.

Page 61: Sisteme Operare - Novac

32

Compilare

Page 62: Sisteme Operare - Novac

33

Editorul de legături

Page 63: Sisteme Operare - Novac

34

Editorul de legaturi Editorul de legături grupează mai multe module

obiect (rezultate în urma compilării sau preluatedin biblioteci de module obiect) şi genereazăsegmentele programului executabil.

Segmentul reprezintă o colecţie ordonată de secţiuni, între care au fost rezolvate legăturiledefinite prin elementele de comunicaţie.

Un segment se caracterizează prin nume, o adresăde intrare în segment, adică adresa primeiinstrucţiuni executabile a segmentului, şi moduleleobiect care îl alcătuiesc.

Page 64: Sisteme Operare - Novac

35

Segmentarea programelor

Pentru programul executabil se poate defini o structură arborescentă de segmente, dintrecare unul este segmentul principal, numitrădăcină, iar celelalte segmente suntsubordonate rădăcinii şi, eventual, unele faţăde altele.

Page 65: Sisteme Operare - Novac

36

Raportul de subordonare este determinat de ordinea de înlănţuire, în execuţie, a segm.; segmentele de pe acelaşi nivel sunt cele

între care nu sunt definite elemente de comunicare;

acestea se pot reacoperi în memoriainternă, în timpul execuţiei programului, sau se pot executa în paralel.

Page 66: Sisteme Operare - Novac

37

Segmentarea programelor Este procedeul de împărţire a unui program în

segmente, a.î. să fie posibil ca în timpul execuţieiprogramului să fie încărcat permanent, în memoriainternă, numai segmentul rădăcină;

Segmentele subordonate pot să fie încărcate perând, prin reacoperirea segmentelor între care nu există raporturi de subordonare, sau pot fiexecutate în paralel.

Page 67: Sisteme Operare - Novac

38

Pentru aceasta, odată cu generarea programului executabil, editorul de legături construieşte şi tabela de legături asociată

În tabela de legături sunt memorateinformaţii despre : Numele segmentului rădăcină şi a celorlalte

segmente; Adresele segmentelor, în programul executabil,

relativ la adresa 0 de memorare a programuluiexecutabil;

Lungimea fiecărui segment; Punctul de intrare în program, adică adresa primei

instrucţiuni executabile din program.

Page 68: Sisteme Operare - Novac

39

Erori

Activitatea de programare trebuie să aibă învedere şi posibilitatea apariţiei unor erori şinecesitatea depistării şi înlăturării acestora. Erorile care apar în programe pot fi : erori de sintaxă, generate de nerespectarea

regulilor de utilizare a limbajului de programare folosit ; Acestea sunt sesizate în etapa de translatare a

programului ;

Page 69: Sisteme Operare - Novac

40

Erori erori de asamblare, atunci când în program se

fac referiri la variabile sau proceduri nedefinite ; aceste erori sunt sesizate în timpul operaţiei de editare

de legături ; erori de execuţie, care pot fi generate de erori de

logică în algoritmul folosit sau de un anumitcontext de date care nu a fost tratat corespunzătorîn algoritm ; de exemplu : valori nepermise ale operanzilor,

executarea necontrolată a instrucţiunilor repetitive, încercarea de a accesa zone interzise din memoriainternă, etc.

Page 70: Sisteme Operare - Novac

41

Programe depanatoare

Erorile de execuţie sunt, de obicei, erori de algoritm ;

Pentru înlăturarea lor este necesară localizarea şideterminarea naturii acestora.

Identificarea unei astfel de erori se face compa-rând varianta ideală de execuţie a programului, conform algoritmului, cu o execuţie concretă ;

Se compară rezultatele intermediare obţinute şiordinea de executare a instrucţiunilor.

Page 71: Sisteme Operare - Novac

42

Pentru sistemele interactive au fost dezvoltateprograme care permit o depanare dinamică, desfăşurată în timpul execuţiei programului. Aceste programe se numesc programedepanatoare.

Page 72: Sisteme Operare - Novac

43

Programe depanatoareActivitatea unui program depanator constă în monitorizarea

execuţiei programului utilizator prin : lansarea în execuţie a acestuia executarea controlată a acestuia, prin posibilitatea de

suspendare a execuţiei şi de preluare a controlului : în momentul apariţiei unui eveniment deosebit, în

timpul execuţiei după executarea fiecărei instrucţiuni (execuţie pas

cu pas) în puncte anume alese din program şi marcate ca

puncte de întrerupere a execuţiei (breakpoints) ;

Page 73: Sisteme Operare - Novac

44

preluînd controlul, programul depanator pune la dispoziţia utilizatorului instrumente specializatepentru evaluarea modului în care se executăprogramul : posibilitatea vizualizării valorilor variabilelor

din program; evaluarea unor expresii definite de utilizator; modificarea valorii unor locaţii de memorie

aferente programului, etc.

Page 74: Sisteme Operare - Novac

45

Programe depanatoare

Programul depanator oferă, de asemenea, informaţii legate de contextul de execuţieal programului, de modul de utilizare a resurselor sistem, etc.

După forma programului care se execută, depanatoarele sunt :

Page 75: Sisteme Operare - Novac

46

Tipuri de programe depanatoare Depanatoare maşină care permit monitorizare

execuţiei programului la nivelul programuluiexecutabil.

Activitatea de depanare se face pornind de la imaginea programului executabil, încărcată înmemoria internă ; se lucrează cu adrese fizice, cod maşină şi cu forma de reprezentare internă a datelor.

Fiecare sistem de operare dispune de un astfel de depanator : ODT pentru RSX, DDT pentru CP/M, DEBUG pentru MS-DOS, adb pentru UNIX ;

Page 76: Sisteme Operare - Novac

47

Depanatoare simbolice -monitorizeazăexecuţia programului utilizator la nivelulprogramului sursă, lucrând la nivel de linieprogram şi identificator de variabilă ;

De obicei, limbajele de programare de nivel înalt sunt prevăzute cu depanatorsimbolic.

Page 77: Sisteme Operare - Novac

48

Programe utilitare

Sistemul de programe utilitare (software utilitar), care include programe cu un grad mare de generalitate;

Sunt puse la dispoziţia utilizatorilor pentru a realiza anumite prelucrări specifice asuprainformaţiilor, prelucrări comune pentru toţiutilizatorii unui sistem de calcul.

Page 78: Sisteme Operare - Novac

49

Exemple: Programe care permit exploatarea compo-

nentelor hardware ale calculatorului încondiţii optime ;

Realizează: verificarea stării de funcţionare a echipamente-

lor hardware, configurarea parametrilor lor de funcţionare, optimizarea modului de utilizare a componen-

telor hardware ale sistemului de calcul ;

Page 79: Sisteme Operare - Novac

50

Exemple: Programe pentru organizarea informaţiei pe

suporturile de date : programe de arhivare a datelor, programe pentru gestionarea bibliotecilor de

date, programe pentru organizarea datelor prin

operaţii de sortare, interclasare, compactare, programe pentru realizarea conversiilor de

suport, etc.

Page 80: Sisteme Operare - Novac

51

Exemple Programe editoare de texte: programe interactive destinate introducerii, modificării, formatării şi tipăririi textelor;

Page 81: Sisteme Operare - Novac

52

Exemple: Medii de prelucrare complexă a datelor

organizate sub formă de text, imagine, sunetsau sub formă de tabele ;

Aceste instrumente software pot fi folositedirect de utilizatori neprofesionişti, pentrudezvoltarea unor aplicaţii, sau pot fi folositede proiectanţii de software, ca instrumente de mare productivitate.

Page 82: Sisteme Operare - Novac

53

Exemple Suprafeţe de operare : Aplicaţii specifice sistemelor interactive,

care înlocuiesc dialogul utilizatorului cu sistemul, prin intermediul limbajului de comandă al sistemului de operare, cu interfeţe de lucru « prietenoase », etc.

Page 83: Sisteme Operare - Novac

1

GESTIUNEA RESURSELOR

UNUI SISTEM DE CALCUL FUNCŢIE A SISTEMULUI DE OPERARE

Page 84: Sisteme Operare - Novac

2

GESTIUNEA RESURSELOR UNUI SISTEM DE CALCUL

Componenta hardware a sistemelor de calcul necesităexistenţa unui sistem de operare care să poată gestionaresursele hardware, concomitent cu asistareautilizatorului pe timpul pregătirii şi lansării în execuţie a lucrărilor sale.

Programele de comandă-control ale SO = programecare coordonează şi controlează resursele hardware (memoria, CPU, canalele, dispozitivele periferice) şiinformaţiile (programe, date).

Rolul lor este de a asigura utilizarea eficientă a resurse-lor şi de a rezolva conflictele apărute în competiţia dintreutilizatori.

Page 85: Sisteme Operare - Novac

3

GESTIUNEA RESURSELOR UNUI SISTEM DE CALCUL

Pentru gestionarea resurselor programele de comandă-control ale SO trebuie să realizezeurmătoarele activităţi: evidenţierea fiecărei resurse; adoptarea unei strategii pentru determinarea în orice

moment cărui proces să-i aloce resursa, cât din resursă, la ce moment de timp şi cuanta de

timp alocată; să aloce resursele, iar la terminarea activităţii să le

dezaloce.

Page 86: Sisteme Operare - Novac

4

GESTIUNEA RESURSELOR UNUI SISTEM DE CALCUL

În acest scop, programele de comandă-control ale sistemului de operare au fostgrupate în 4 categorii, corespunzătorfuncţiilor îndeplinite:

1) funcţia de gestiune a memoriei2) funcţia de gestiune a procesorului (CPU)3) gestiunea dispozitivelor periferice4) gestiunea informaţiei

Page 87: Sisteme Operare - Novac

5

Funcţia de gestiune a memoriei

Constă în: evidenţa acestei resurse: câtă memorie estealocată şi pentru care programe;

ce proces primeşte memorie, la ce moment şi înce cantitate - în cazul multiprogramării;

alocă părţi din memorie şi asigură metode de acces şi protecţie pentru procesele solicitante;

dezalocă zonele de memorie alocate.

Page 88: Sisteme Operare - Novac

6

Funcţia de gestiune a procesorului (CPU)

Se referă la: evidenţa procesoarelor şi stărilor acestora

("traffic controller"); decide cine poate să utilizeze procesorul

("proccesor scheduler"), la ce moment de timp şipentru cât timp;

alocă procesorul la un proces prin pregătirea şiîncărcarea unor registre hardware;

retrage alocarea când procesul renunţă la utilizarea procesorului, s-a terminat sau a depăşit cuanta de timp alocată.

Page 89: Sisteme Operare - Novac

7

Gestiunea dispozitivelor periferice

Realizează următoarele activităţi: evidenţa dispozitivelor, a unităţilor de control şi a

canalelor ("I/O Traffic Controller"); decide metoda cea mai eficientă de alocare a

dispozitivelor periferice; dacă are loc o utilizaresimultană, decide cine foloseşte resursa şi câttimp ("schedulering I/O");

alocarea dispozitivelor periferice şi iniţiazăoperaţia de intrare/ieşire;

dezalocarea dispozitivelor periferice la terminarea execuţiei operaţiilor de intrare/ieşire.

Page 90: Sisteme Operare - Novac

8

Gestiunea informaţiei

Care se materializează în: evidenţierea resursei (informaţia), localizarea ei,

utilizarea, starea, etc. (File System); decide cine utilizează informaţia, impune

protecţia cerută şi oferă rutine de accesnecesare;

alocă resursele prin deschiderea fişierului(OPEN);

dezalocă resursele prin închiderea fişierului(CLOSE).

Page 91: Sisteme Operare - Novac

9

Gestiunea dispozitivelor periferice

O mare pondere din arhitectura sistemelorde calcul este deţinută de echipamentelede intrare/ieşire (denumite dispozitiveperiferice), fapt care implică o atenţiedeosebită acordată utilizării lor eficace.

Page 92: Sisteme Operare - Novac

10

Unitati de control şi canale de transfer

Unităţile de control ale dispozitivelor perifericesunt prevăzute cu circuite electronice destinatecontrolului automat al citirii/scrierii efective pe me-diile fizice, îndeplinind următoarele funcţii: recunoaşterea adreselor dispozitivelor periferice

pe care le controlează;conversia comenzilor primite de la canal în forma acceptată de mecanismele şi circuitele periferi-cului comandat;

transmiterea către canal a secvenţelor de sem-nale standard ce indică desfăşurarea operaţiilorde intrare/ieşire solicitate;

Page 93: Sisteme Operare - Novac

11

Unitati de control si canale de transfer

efectuarea controlului de paritate asupra datelorşi informaţiilor de control;

urmărirea îndeplinirii condiţiilor de execuţie a comenzii;

generarea informaţiei de stare a dispozitivelorperiferice şi a unităţilor de control care se prezintăcanalului la iniţierea şi respectiv, prelucrareamodului în care s-a terminat transferul de date;

conversia formatului datelor din codul acceptat de dispozitivul periferic, în codul acceptat de CPU la citire sau invers la scriere.

Page 94: Sisteme Operare - Novac

12

Canalele de transferDirijează fluxul de informaţie între memoria internăşi dispozitivele periferice degrevând CPU de sarcina tratării proceselor de I/E îndeplinind ca principale funcţii: transformarea informaţiei de comandă primită de la

CPU în semnale acceptate de către unităţile de control ale dispozitivelor periferice;

prelucrarea controlului transferului de date şieliberarea CPU pentru alte lucrări;

asamblarea sau dezasamblarea datelor transferateîntre dispozitivele periferice şi memoria internă;

Page 95: Sisteme Operare - Novac

13

Canalele de transfer

sincronizarea transferului de date cu activitatea CPU;controlul adresei care reprezintă sursa

sau destinaţia transferului de date înmemoria internă, inclusiv verificareaprotecţiei memoriei;generarea informaţiei de stare a

canalului, pe care o ţine la dispoziţiaCPU.

Page 96: Sisteme Operare - Novac

14

Transferul de informaţii întredispozitivele periferice şi memoriainternă, se poate realiza:Continuu - când un dispozitiv periferic se conectează logic la canal până la terminareatransferului de date, nepermiţând altuidispozitiv periferic să comunice cu canalul înacest interval de timp;

Multiplex - când mai multe dispozitiveperiferice pot transmite simultan prin interfaţă.

Page 97: Sisteme Operare - Novac

15

Activitatea de gestiune a dispozitivelorperiferice

CPU şi canalele de intrare/ieşire sunt proiectatepentru a opera în mod concurent în următoareaierarhie:

CPU controlează activitatea canalelor de intrare/ieşire,

canalele de intrare/ieşire controlează activitateaunităţilor de control ale dispozitivelor perifericeiar

acestea controlează activitatea dispozitivelorperiferice ataşate.

Page 98: Sisteme Operare - Novac

16

Activitatea de gestiune a dispozitivelorperiferice

Un sistem de intrare/ieşire poate fi organizat înurmătoarele moduri:un canal de I/E poate fi utilizat în mod partajat

de două CPU folosind un controller pentrucanalul de I/E- situaţie întâlnită la sistemele de calcul exploatate în multiprelucrare;

o unitate de control poate fi partajată între maimulte canale, situaţie în care pentru acelaşidispozitiv periferic există mai multe căi de acces, iar doua CPU partajează aceeaşi unitatede control;

Page 99: Sisteme Operare - Novac

17

dispozitivele periferice de I/E pot fi partajateîntre mai multe unităţi de control ataşate la diferite canale de I/E ale aceleiaşi CPU sau la canalele mai multor CPU.

În acest caz, este solicitată aceeaşi unitate de control, existând mai multe căi prin care dispozitivul periferic poate transmite saurecepţiona date (fig.3.8.).

Page 100: Sisteme Operare - Novac

18

Activitatea de gestiune a dispozitivelorperiferice

Page 101: Sisteme Operare - Novac

19

Gestiunea dispozitivelor perifericeTrebuie să îndeplinească următoarele

funcţii: evidenţa stării tuturor dispozitivelor periferice

sub forma blocurilor unităţilor de control asociatepentru fiecare dispozitiv periferic;

introducerea unei discipline pentru a determinacărui proces îi este alocat dispozitivul periferic, pentru cât timp şi la ce moment, în funcţie de natura proceselor, de viteza dispozitivuluiperiferic şi modul lui de funcţionare;

Page 102: Sisteme Operare - Novac

20

alocarea dispozitivului periferic, a unităţii de control şi a canalului pentruproces;dezalocarea la nivelul procesului.

Page 103: Sisteme Operare - Novac

21

Gestiunea dispozitivelor periferice prinmetode hardware

1) operarea dispozitivului periferic, independent, fără asistenţa canalului sauunităţii de control;

2) disciplina buffer care implică existenţaunui buffer pentru date în dispozitivulperiferic sau al unităţii de control, ce arpermite unui dispozitiv periferic lent sălucreze independent de canal;

Page 104: Sisteme Operare - Novac

22

3) căi de acces multiple, concretizate în mai multecăi de acces pentru fiecare dispozitiv periferic. Înacest caz, driverele pentru gestiuneadispozitivelor periferice vor ţine evidenţa căilorde acces şi vor determina ruta liberă pentruservirea unei cereri de intrare/ieşire la dispozitivul periferic solicitat;

4) multiplexarea canalului prin execuţia unorprograme de canal multiple, ceea ce înseamnăo implementare hardware a multiprogramăriipentru programele de canal

Page 105: Sisteme Operare - Novac

23

Gestiunea dispozitivelor periferice de către sistemul de operare

Este realizată de următoarele module specializate:1) controlorul traficului de intrare/ieşire (I/O Traffic

controller) care are rolul de a evidenţia informaţiilede stare pentru fiecare dispozitiv periferic, furnizând informaţii mecanismului prin care un dispozitiv periferic poate fi alocat sau nu. În acest scop, construieşte un bloc de control

pentru dispozitivul periferic, unul pentru unitateade control şi unul pentru canal (fig.3.9.);

Page 106: Sisteme Operare - Novac

24

Page 107: Sisteme Operare - Novac

25

Gestiunea dispozitivelor periferice de catresistemul de operare

2) planificatorul operaţiilor de intrare/ieşire (I/O Scheduller) care conţine algoritmul privindstrategia utilizată pentru alocarea canalului, a unităţilor de control şi a dispozitivelor periferice; are funcţii similare cu planificatorul proceselor, cu deosebirea că un program de canal odatălansat în execuţie nu va putea fi întrerupt înaintede execuţia lui completă;

3) manipulatorul dispozitivelor periferice de intrare/ieşire (I/O Devices Handler) are rolul de a crea programul de canal pentru execuţia funcţieidorite, executând fizic operaţia respectivă;

Page 108: Sisteme Operare - Novac

26

Gestiunea dispozitivelor periferice de catresistemul de operare

4) dispozitive periferice utilizate partajat(Shared Devices) sunt partajate între maimulte procese concurente, ceea ceimplică:

interferenţa cererilor din partea proceselor; protecţia împotriva acceselor neautorizate.

5) dispozitive periferice virtuale suntdispozitive periferice ce pot fi convertitepentru a putea fi utilizate partajat prinsistemul Spooling.

Page 109: Sisteme Operare - Novac

1

Gestiunea proceselor si a memoriei

Page 110: Sisteme Operare - Novac

2

Gestiunea proceselor şi procesoarelor

Utilizarea partajată a resurselor unui sistem de calculeste determinată de insuficienţa la un moment dat a resurselor necesare execuţiei simultane a proceselorcreate de utilizatori.

Gestiunea procesoarelor are ca scop asigurareaprocesoarelor la procesele create. Fiecăruiprogram de aplicaţie, sistemul de operare îi asociazăo serie de procese.

Page 111: Sisteme Operare - Novac

3

Termeni utilizati

Procesul reprezintă un program în execuţie (program de serviciu, de aplicaţie sau rutină a sistemului de operare).

Procesorul reprezintă componenta capabilă să execute un program (CPU sau canal).

Programul este o secvenţă de instrucţiuni, iar procesul o seriede activităţi (taskuri) executate prin program.

Activitatea (task) este o unitate de lucru internă creată de sistemul de operare, atunci când o etapă din lucrare esteacceptată de sistemul de calcul.

Lucrarea reprezintă o colecţie de activităţi (taskuri) ce se execută de către sistemul de calcul.

Page 112: Sisteme Operare - Novac

4

Procese concurente şi coordonareaproceselor

Procesele concurente numite şi proceseparalele, presupun că la un moment dat, maimulte programe pot fi urmărite între punctulde începere şi terminare a execuţiei; în acestcaz procesele interacţionează în douămoduri:– indirect, prin concurarea la aceeaşi resursă a

sistemului;– direct, prin utilizarea simultană a aceloraşi

resurse.

Page 113: Sisteme Operare - Novac

5

Tranziţia stărilor unui proces

Page 114: Sisteme Operare - Novac

6

Coordonarea proceselor concurente

Implică următoarele aspecte:1) determinarea proceselor potrivit cărora sistemul

de activităţi trebuie să fie independent de vitezelerelative de execuţie ale activităţilor componente, conducând la un rezultat unic; dacă acest rezultatdepinde de ordinea şi viteza de execuţie a activităţilor, sistemul este nedeterminat şi în acestcaz se vor introduce restricţii de prioritate (grad de precedenţă);

Page 115: Sisteme Operare - Novac

7

Coordonarea proceselor concurente

2) interblocarea proceselor apare atunci când două saumai multe procese aşteaptă un timp nedefinit

– într-un fir de aşteptare circular, ca alt proces să renunţe la pretenţiile de utilizare a unei resurse;

– interblocarea poate fi înlăturată prin mecanisme cum sunt: prealocarea resurselor partajate; alocarea controlului în avans de execuţie;

Page 116: Sisteme Operare - Novac

8

Coordonarea proceselor concurente

organizarea secvenţială a cererilor şi ierarhizarearesurselor pe nivele astfel încât atunci când un proces a dobândit resursele de la un anumit nivel, poate solicita resurse numai de la un nivel superior;

excluderea mutuală a proceselor prin care anumiteactivităţi vor fi programate astfel încât să nu poată fiîn execuţie în acelaşi timp (de exemplu, READ şiWRITE).

Page 117: Sisteme Operare - Novac

9

Sincronizarea proceselor

Sincronizarea proceselor include mecanisme princare anumite procese vor fi oprite la un moment dat, până ce apar anumite evenimente ce se află sub controlul altei activităţi. Problema sincronizării aparedatorită partajării resurselor în legătură cu alocareaproceselor pentru execuţie şi comunicaţia întreprocese care generează două aspecte:

– apariţia condiţiei de competiţie între procese care se iveşteatunci când planificarea unor procese pentru execuţiedevine critică deoarece parametrii pentru planificareaexecuţiei provin din calcule diferite;

– tendinţa de a obţine resursa de către procese ar puteagenera interblocarea acestora.

Page 118: Sisteme Operare - Novac

10

Mecanismele de sincronizare

1) biţi de atenţiePrin această modalitate, orice resursă partajată

de "n" procese va dispune de un bit de atenţie– "lock-bit" folosindu-se convenţia:– lock-bit = 0 - resursa este disponibilă;– lock-bit = 1 - resursa este în folosinţă.

Page 119: Sisteme Operare - Novac

11

1) biţi de atenţie

Înainte ca un proces să aibă acces la un procesor, acesta va verifica starea lock-bit-ului: dacă lock-bit = 0 atunci este permisacestui proces să aibă acces la procesor, iarla terminarea execuţiei va trece lock-bit-ul înstarea iniţială 0; dacă pe parcursul execuţieiun alt proces va solicita procesorul, acestava găsi lock-bit-ul în starea 1, el fiind trecut înstarea de aşteptare până când lock-bit-uldevine 0.

Page 120: Sisteme Operare - Novac

12

Mecanismele de sincronizare

2) mecanisme de aşteptare şi semnalizare Inconvenientul sincronizării proceselor prin lock-bit constă în

continuarea secvenţei de testare a lock-bit-ului pentrucomutarea din starea 1 în starea 0;

Atunci când procesorul alocat unui proces încheie execuţia, acesta va introduce un semnal de legătură (pointer) prin care unul din procesele blocate din lista celor care aşteaptă, estesesizat că resursa pentru care a fost blocat a devenit liberă; înacest moment, procesul care câştigă competiţia este trecut din lista de procese blocate, în lista proceselor gata de execuţie, urmând să fie din nou planificat pentru reluarea execuţiei din punctul în care a fost întrerupt.

Page 121: Sisteme Operare - Novac

13

Mecanismele de sincronizare

3) calculul semafoarelor prin operaţiile P şi V P şi V sunt primitive care operează pe

semafoarele S constituite din variabile ce iauvalori întregi (nu numai 0 şi 1). Mecanismulse desfăşoară astfel:

P(S): decrementează valoarea lui S cu 1 şi dacă S <= 0 atunci aşteaptă;

V(S): incrementează valoarea lui S cu 1 şi dacă S <= 0 atunci semnal.

Page 122: Sisteme Operare - Novac

14

Mecanismele de sincronizare

4) comunicarea directă de tip SEND/RECEIVE Mecanismele de sincronizare anterioarerealizează comunicaţii indirecte. Sincronizarea se poate realiza şi într-omanieră directă, prin intermediul primitivelorSEND (Proces1, mesaj) şiRECEIVE(Proces2, mesaj).

Page 123: Sisteme Operare - Novac

15

Mecanismele de sincronizare

5) cutii poştale Cutiile poştale sunt constituite din zone

tampon din memoria dinamică, tratată ca dispozitiv periferic de intrare/ieşire. Fiecareactivitate creează o cutie poştală cu informaţii ce pot fi extrase de celelalteactivităţi înainte de lansarea în execuţie.

Page 124: Sisteme Operare - Novac

16

Gestiunea memoriei

Page 125: Sisteme Operare - Novac

17

Gestiunea memoriei

Gestiunea memoriei are rolul de a decide cum trebuie organizată informaţia pe celedouă nivele şi când trebuie transferatăinformaţia între acestea; tehnicile de gestiune a lucrărilor (multiprogramare, multitasking, time-sharing,etc) implicăexistenţa unor metode eficiente pentrugestiunea memoriei: tehnici de alocaredinamică şi memoria virtuală.

Page 126: Sisteme Operare - Novac

18

Gestiunea memoriei

Obiectivul activităţii de gestiune a memoriei este de a furniza o viteză de execuţie sporită a programelor, prinmenţinerea în memoria internă a acelor părţidin programe care sunt referite cu o frecvenţă mare de către CPU (de regulă, programe independente între ele)

Page 127: Sisteme Operare - Novac

19

Gestiunea memoriei

deoarece în memoria internă există simultan maimulte programe independente între ele, pentru a utiliza eficient CPU apar următoarele aspecte:

– introducerea în memoria internă a programului ce urmeazăa fi executat necesită un spaţiu de memorie determinat de dimensiunea sa, de spaţiul liber din memoria internă în acelmoment şi de modul de ocupare al memoriei interne de către alte programe;

– pentru zonele de memorie alocate diferitelor programe, trebuie să se asigure protecţia acestora faţă de anumiteinterferenţe şi adresări cu alte programe.

Page 128: Sisteme Operare - Novac

20

Activitatea de gestiune a memoriei are la bază trei algoritmi

1) algoritmul de transfer care determină când un bloc trebuie transferat din memoria externă în memoriainternă - înaintea execuţiei sau în timpul execuţiei;

2) algoritmul de plasare care determină ce zonănealocată din memoria internă este folosită pentruplasarea blocului încărcat din memoria externă;

3) algoritmul de reamplasare care determină care blocuri şi la ce moment trebuie reîncărcate înmemoria internă.

Page 129: Sisteme Operare - Novac

21

Activitatea de gestiune a memoriei

Page 130: Sisteme Operare - Novac

22

Alocarea dinamică a memoriei

Alocarea memoriei interne se poate realiza:- static când programul este încărcat iniţial în orice zonăliberă din memoria internă. În momentul solicităriiunei întreruperi, acesta este transferat în memoriaexternă urmând a fi reluat după tratarea întreruperii.

- dinamic când adresele relative ale instrucţiunilorprogramului după editarea de legături, nu sunttranslatate în adrese fizice în faza de încărcare a programului în memoria internă, ci doar în momentulexecuţiei instrucţiunilor.

Page 131: Sisteme Operare - Novac

23

Memoria virtuală

Conceptul unui singur nivel de memorie-denumită memorie virtuală- oferăutilizatorului iluzia că memoria internă are o capacitate foarte mare, partea de hardware realizând automat transferul informaţiei din memoria internă în memoria externă şiinvers.

Page 132: Sisteme Operare - Novac

24

Adresă virtuală

O adresă folosită de programator se numeşte adresă virtuală, iar adresa realăunde este memorată se numeşte adresăfizică (dimensiunea spaţiului de adresevirtuale este mult mai mare decâtdimensiunea spaţiului de adrese reale).

Page 133: Sisteme Operare - Novac

25

Funcţia de translatare a unei adrese virtuale ai în adresă realăbj se poate defini astfel:

– ft = 0 dacă informaţia de la adresa virtuală solicitată (ai) nu este înacel moment rezidentă în memoria internă;

– ft = bj dacă adresa virtuală ai găseşte rezidentă adresa reală bj înmemoria internă.

Page 134: Sisteme Operare - Novac

26

Organizarea Memoriei1) organizarea la nivel de adresă

Page 135: Sisteme Operare - Novac

27

Organizarea la nivel de adresă

Dacă procesorul referă adresa virtuală ai, aceasta se introduce în registrul de adrese virtuale RV, registrul REZIDENT esteresetat (pus pe 0), iar registrul de ACCES setat (pus pe 1), iniţializându-se procesul de translatare:

– dacă se găseşte cu ai o intrare în tabela ft, atunci conţinutul găsitse introduce în registrul de adrese fizice al memoriei interne RM, având loc extragerea din memoria internă a informaţiei solicitatăde procesor de la adresa reală bj;

– dacă nu se găseşte o intrare în ft, atunci RM = 0, registrulREZIDENT este setat şi are loc iniţierea celor 3 algoritmi care voraduce din memoria externă în memoria internă informaţia referitade procesor, actualizând totodată şi tabela de descriere a funcţieide translatare ft.

Page 136: Sisteme Operare - Novac

28

2) organizarea la nivel de pagină

Organizarea la nivel de pagină conduce la reducerea necesarului de informaţie conţinutîn tabela ft deoarece spaţiul de adrese estedivizat în blocuri de dimensiune constantănumite pagini.

Dimensiunea paginii virtuale coincide cu dimensiunea paginii reale ceea ce implicănetranslatarea adresei cuvântului de pagină.

Page 137: Sisteme Operare - Novac

29

2) organizarea la nivel de pagină

Page 138: Sisteme Operare - Novac

30

2) organizarea la nivel de pagină

Pentru orice adresă virtuală ai se asociază perechea(P,C) unde P reprezintă numărul cuvintelor din pagină, iar C numărul unui cuvânt referit din P. PrinP se intră în tabela de pagini, la unul din cuvintele de la 0 la 2p, de unde se extrage componenta Q de o anumită dimensiune; dacă:

– RM (Q) are conţinut nenul, atunci adresa solicitată de procesor are drept corespondent o pagină de memorierezidentă în memoria internă;

– RM (Q) = 0 atunci adresa virtuală solicitată nu are adresăde pagină reală în memoria internă, ceea ce conduce la declanşarea celor 3 algoritmi ca urmare a setării registruluide REZIDENT.

Page 139: Sisteme Operare - Novac

31

3) organizarea la nivel de segment

Organizarea la nivel de segment împarte spaţiul de memorie în blocuri de dimensiune variabilă, numitesegmente (pot fi module de program sau anumitestructuri de date)

Page 140: Sisteme Operare - Novac

32

3) organizarea la nivel de segment

Adresa virtuală referită de procesor constă din numele segmentului S şi numele cuvântului din segment C; adresa de memorie unde începesegmentul S reprezintă adresa de bază R, iar prin D se specifică dimensiunea segmentului.

Adresa reală determinată prin R+C se obţine dacăregistrul de buffer conţine adresa extrasă din memoria tabelei de segmente, efectuându-se şicomparaţia dintre C şi D; dacă R = 0, atunci se vordeclanşa cei trei algoritmi.

Page 141: Sisteme Operare - Novac

33

4) organizarea la nivel de segment-pagină

Organizarea la nivel de segment-pagină divide adresele virtuale şi adresele fizice în segmente, iarsegmentele în pagini, în vederea fructificăriiavantajelor celor două metode de organizare:

– paginarea, care oferă implementarea simplă şi cel mai sigurmijloc de protecţie a informaţiei;

– segmentarea, care satisface într-o mai mare măsurăcerinţele programatorului prin divizarea în segmente, deciţinând seama de logica programului (fig.3.7.).

Page 142: Sisteme Operare - Novac

34

4) organizarea la nivel de segment-pagină

Page 143: Sisteme Operare - Novac

35

4) organizarea la nivel de segment-pagină

Atunci când procesorul referă o adresă virtuală, acesteia i se asociază:

- adresa virtuală a segmentului S; - adresa virtuală a paginii în segment CP; - adresa virtuală a cuvântului din cadrul paginii CC; iar registrul

de acces segment este setat.

Prin S din RV se caută în MTS; dacă se găseşte o adresă, aceasta este reprezentată prin:

- R - adresa tabelei de pagini; - D - dimensiunea segmentului exprimată în pagini şi introdusă

apoi în registrul de buffer.

Page 144: Sisteme Operare - Novac

36

4) organizarea la nivel de segment-pagină

În cazul proceselor concurente, gestiuneamemoriei între mai multe procese poate fianalizată prin:– limitarea frecvenţei transferului de date şi

programe;– conservarea execuţiei programelor din memoriainternă, în timp ce alte programe sunt în aşteptareîn memoria externă;

– transferul datelor şi programelor din memoriainternă atunci când procesele le solicită.

Page 145: Sisteme Operare - Novac

1

Sistemul de operare MS-DOS

Page 146: Sisteme Operare - Novac

2

Sistemul de operare MS-DOS

MS-DOS (MicroSoft Disk Operating System) – esteun sistem de operare monoutilizator, monotasking, monoprocesor, ce funcţionează pe microcalcula-toarele dotate cu procesoare Intel 8088 şi succesoa-rele acestuia (80286, 80386, 80486, Pentium etc.)

Acest sistem de operare a fost inclus în alte sistemede operare, cum ar fi: Windows 95/98/Me/NT/2000/ XP şi Novell NetWare.

Page 147: Sisteme Operare - Novac

3

Structura sistemului de operare MS-DOS

Sistemul de operare MS-DOS este structuratpe trei niveluri:

BIOS (Basic Input Output System); Nucleul; Shell-ul (COMMAND.COM).

Page 148: Sisteme Operare - Novac

4

Componenta BIOS

Conţine un set de programe care asigură:1. Autotestarea la punerea sub tensiune,

operaţie denumită POST (Power-On Self Test).

– În acest test procesorul se autoverifică şi apoiverifică timer-ul sistemului şi memoria RAM.

Page 149: Sisteme Operare - Novac

5

Componenta BIOS

2. Suportul software pentru dispozitivele perifericestandard – în felul acesta izolează SO de ceea ceeste specific hardware-ului (de ex., componentaBIOS conţine codurile apelurilor de sistem pentrucitirea şi scrierea de la adresele absolute de pedisc, pentru citirea unui caracter de la tastatură saupentru afişarea unui caracter pe ecran);

3. Rutina pentru iniţializarea sistemului;4. Programul de încărcare a primului sector logic de pe

discul flexibil sau hard disc.

Page 150: Sisteme Operare - Novac

6

Incărcătorul bootstrap

La pornirea calculatorului se porneşte încărcătorulbootstrap care este localizat în cipul BIOS. Acestaasigură testarea componentelor hardware ale calculatorului şi încărcarea sistemului de operare înmemoria RAM.

Există două modalităţi de pornire a calculatorului: Pornirea la rece (cold-boot); Pornirea la cald (warm-boot), care se realizează prinapăsarea tastelor Ctrl+Alt+Delete.

Page 151: Sisteme Operare - Novac

7

Pornirea la rece

Implică următorii paşi:1)Sursa de curent – se iniţializează; chipset-ul plăcii de

bază aşteaptă pentru semnalul „Power Good” din partea sursei;

2) BIOS ROM – procesorul localizează programul de boot (iniţializare) al BIOS-ului;

3) POST – BIOS-ul rulează secvenţa POST. Dacăapare o eroare majoră, procesul de boot se opreşte;

Page 152: Sisteme Operare - Novac

8

Pornirea la rece

4) Video – BIOS-ul caută programul BIOS pentruplaca video şi îl execută pentru iniţializarea plăciivideo;

5) Alte dispozitive BIOS – BIOS-ul caută programeBIOS pentru alte echipamente BIOS (hard disk) şi le execută;

6) Ecranul de pornire – BIOS-ul afişează ecranulde pornire;

7) Memoria – BIOS-ul testează alte componenteale calculatorului şi efectuează un test de memorie;

Page 153: Sisteme Operare - Novac

9

Pornirea la rece

8) Hardware – BIOS-ul testează sistemul pentru a găsicomponentele hardware (de exemplu hard-discuri);

9) Plug and Play – Configurarea dispozitivelor Plug and Play;

10) Ecranul de configurare – BIOS-ul afişează un sumar al configuraţiei hardware a sistemului;

11) Discul de boot – BIOS-ul caută un disc de boot pebaza secvenţei de iniţializare;

Page 154: Sisteme Operare - Novac

10

Pornirea la rece

12) Boot record – BIOS-ul caută primul dispozitiv de boot din secvenţă pentru MBR (Master Boot Record) de pe un disc hard sau VBS (Volume Boot Sector) de pe o dischetă floppy;

13) SO – BIOS-ul începe să iniţializeze sistemul de operare, moment în care acesta preia controlul de la BIOS;

14) Eroare – dacă BIOS-ul nu găseşte un dispozitiv de iniţializare în cadrul secvenţei de boot, va afişa un mesaj de eroare şi va bloca sistemul.

Page 155: Sisteme Operare - Novac

11

Producători de cip-uri BIOS

Cei mai cunoscuţi producători de cip-uriBIOS sunt:– AMIBIOS (American Megatrends, Inc.)– PhoenixBIOS (Phoenix Technologies Ltd.)– AwardBIOS (Award Software, Inc.)

Page 156: Sisteme Operare - Novac

12

Producători de cip-uri BIOS

BIOS-ul este situat pe un cip de pe placa de bază a calculatorului.

Acest cip este fie sub formă dreptunghiulară - DIP (Dual In-line Package) sau sub formă pătrată - PLCC (Plastic Leaded Chip Carrier - figura 2.2).

Page 157: Sisteme Operare - Novac

13

Cip-uri BIOS

Această capacitate mai mare oferă producătorilorposibilitatea de a include mai multe facilităţi decât încazul cipurilor mai vechi de dimensiune mai redusă, de 1Mb.

Totodată, trebuie ştiut că dimensiunea cipului BIOS nu are legătură cu performanţele sale.

Tipul şi dimensiunea cipului BIOS se stabilesc înfuncţie de funcţionalităţile oferite şi de costuri şi nu înfuncţie de performanţe.

Page 158: Sisteme Operare - Novac

14

Nucleul

Nucleul conţine partea sistemului de operareindependentă de calculator şi se găseşteîntr-un alt fişier ascuns, MSDOS.SYS (IBMDOS.COM).

Are rolul de a gestiona procesele, memoriaşi sistemul de fişiere, ca şi interpretareatuturor apelurilor de sistem.

Page 159: Sisteme Operare - Novac

15

Fisierul COMMAND.COM

După nucleu, cea de-a treia parte a sistemului de operare este shell-ul reprezentat prin fişierulCOMMAND.COM. Totuşi acesta poate fi înlocuit de către utilizator.

Fişierul COMMAND.COM realizează interfaţa dintreutilizator şi nucleul sistemului de operare, conţinând:

o parte rezidentă care este totdeauna în memorie; o parte nerezidentă, ce se încarcă în partea superioară a

memoriei, la limita celor 640 KB şi poate fi înlocuită.

Page 160: Sisteme Operare - Novac

16

Sistemul de gestiune a fişierelor MS-DOS

Sistemul de fişiere MS-DOS se ocupă de administra-rea fişierelor având la bază structura fizică a dische-telor sau a hard discurilor.

Structura fizică, la discurile magnetice, se referă la organizarea suportului disc la nivel de sector, faţă(cap), cilindru (pistă).

Împărţirea în sectoare a discurilor şi a dischetelor se realizează prin operaţia de formatare (comandaFORMAT).

Page 161: Sisteme Operare - Novac

17

Sistemul de gestiune a fişierelor MS-DOS

Prin comanda de formatare, sistemul de operare realizează în principal:

împărţirea pistelor în sectoare(formatarea fizică);crearea structurii logice de date

(formatarea logică).

Page 162: Sisteme Operare - Novac

18

Sistemul de gestiune a fişierelor MS-DOS

Structurarea informaţiei pe discurile flexibile esteaceeaşi cu a unei partiţii de pe hard disc.

Partiţia este unitatea logică, fizic reprezentată printotalitatea sectoarelor dintre două adrese. Hard discul poate conţine partiţii MS-DOS sau partiţii care nu sunt MS-DOS.

După generarea partiţiilor este necesară formatareaacestora, crearea structurii logice de date.

Page 163: Sisteme Operare - Novac

19

Structura logică a unei partiţii

Structura logică a unei partiţii sau a uneidischete este (figura 2.3):– sectorul de BOOT (primul sector logic);– sectorul FAT (tabela de alocare a fişierelor);– copii FAT;– directorul principal sau rădăcină (ROOT);– zona de date.

Page 164: Sisteme Operare - Novac

20

Page 165: Sisteme Operare - Novac

21

Sectorul de BOOT

În sectorul de BOOT sunt conţinute date care descriu formatul discului şi prin intermediul cărorasistemul de operare MS-DOS poateutiliza discul.

Acest sector include:– comanda de salt la procedura BOOT;– numele producătorului şi numărul de versiune;– numărul de octeţi/sector;– numărul de sectoare/cluster (cluster – unitate de alocare,

având un număr de sectoare);

Page 166: Sisteme Operare - Novac

22

Acest sector include:

numărul de sectoare rezervate (înaintea primului FAT); numărul de de FAT-uri; numărul de intrări în primul director; numărul de sectoare/disc; tipul discului; numărul de sectoare din FAT; numărul de sectoare/pistă; numărul de capetelor de scriere/citire; numărul de sectoarelor ascunse; procedura BOOT (încărcarea fişierelor de sistem); tabela de partiţionare (la hard disc); extensie a procedurii BOOT.

Page 167: Sisteme Operare - Novac

23

Sectorul de BOOT

O intrare într-un director conţine (32 octeţi):– numele fişierului (8 octeţi);– extensia (3 octeţi);– atributul de director sau fişier obişnuit (1

octet +10 octeţi neutilizaţi);– data şi ora (2 octeţi +2 octeţi);– primul cluster (2 octeţi);– dimensiunea în octeţi (4 octeţi).

Page 168: Sisteme Operare - Novac

24

Comenzi MS-DOS

Sintaxa generală al unei comenzi este:

comanda [parametru_1] [parametru_2] …[/opţiune]

comanda – specifică numele comenzii; parantezele drepte [ ] – indică elementele opţionale; parametru – poate include următoarele elemente:

– unitatea logică de disc folosită (litera_disc:), care poate fi: unitatea de disc flexibil reprezentată prin A: sau B:; unitatea de hard disc reprezentată prin C:, D: sau E:.

Page 169: Sisteme Operare - Novac

25

Comenzi MS-DOS

Dacă elementul unitatea de disc se omite se va considera unitatea implicită, aceasta fiindunitatea de disc curentă al cărui nume apareca primă literă în prompterul comenzii.

Pentru a schimba discul curent se tasteazănumele discului urmat de caracterul douăpuncte (:).

Page 170: Sisteme Operare - Novac

26

Comenzi MS-DOS

A:\>D: <ENTER>

Iar ca rezultat va apărea următorul prompter:

D:\>

dacă directorul curent pe discul D: este directorulrădăcină (\).

Page 171: Sisteme Operare - Novac

27

Comenzi MS-DOS

calea – specifică ruta prin care se identificălocul unui fişier sau director din structuraarborescentă.

[\][nume1_director]\[nume2_director]....

Primul caracter (backslash \) impune ca identificarea să înceapă cu directorulrădăcină (ROOT). Dacă acesta se omite, căutarea începe din directorul curent. Aşa cum este memorată unitatea de disc implicită, se poate memora şidirectorul implicit pentru fiecare unitate de disc.

Page 172: Sisteme Operare - Novac

28

Comenzi MS-DOS

MS-DOS afişează calea directorului curentde pe discul curent, ca parte a prompterului.– nume_fisier.ext – specifică numele unui fişier care

poate avea până la opt caractere şi poate fi urmatde punct ( . ) şi o extensie de până la treicaractere.

– specificator de fişier – conţine elementeledescrise anterior:

[disc:][cale] [\]nume_fisier[.ext]

Page 173: Sisteme Operare - Novac

29

Comenzi MS-DOS - Opţiuni

Opţiuni – sunt specifice anumitor comenzi şi determinăun anumit mod de execuţie (exemplu: DIR/P)

1. semnul întrebării (?)– specificând că orice caracterpoate ocupa această poziţie.

Exemplu: DIR A?CD.DAT

2. asterisc (*) – specificând că orice caracter poateocupa această poziţie cât şi restul poziţiilor.

Exemplu: DIR *.DAT

Page 174: Sisteme Operare - Novac

30

Comenzi pentru lucrul cu directoare

MKDIR (Make Directory) este comandă internă utilizată pentrucrearea unui director.

Sintaxa generală a acestei comenzi este:mkdir [disc:] cale

saumd [disc:] cale

ExempluPentru a se genera directorul CONT în:

a) directorul rădăcină al discului curent (directorul curent este altuldecât directorul rădăcină) vom folosi comanda: md \cont

b) directorul curent, vom folosi comanda: md cont

Page 175: Sisteme Operare - Novac

31

CHDIR

CHDIR (Change Directory) este o comandăinternă utilizată pentru a vizualiza numele directorului curent sau pentru a schimba directorulcurent. Sintaxa acestei comenzi este:

chdir [disc:] calesau

cd [disc:] caleExemplu1. Pentru a schimba directorul curent \STUD\STUD5 de pe discul implicit

în:a) directorul părinte ( \STUD)b) directorul rădăcină ( \)

linia de comandă va conţine:a) CD .. [sau CD \STUD];b) CD \

Page 176: Sisteme Operare - Novac

32

RMDIR

RMDIR (Remove Directory) este o comandă internăutilizată pentru ştergerea unui director. Sintaxagenerală este:

rmdir [disc:] calesau

rd [disc:] caleExempluPrin comanda: RD A:\STUD\STUD3 se va şterge

subdirectorul STUD3 din directorul STUD de pediscul A: dacă este gol.

Page 177: Sisteme Operare - Novac

33

TREE

TREE este o comandă externă prin care se afişeazăstructuraarborescentă a directoarelor de pe discul specificat. Sintaxageneralăeste:

tree [disc:] cale [/f][/a]unde:

– /f – listează şi numele fişierelor din fiecare director– /a – la afişare se utilizează caracterele ASCII text în loc de caracterele

grafice pentru a reprezenta legăturile cu subdirectoarele.

ExempluPrin comanda: TREE A: /F > PRN listarea se face la imprimantă.Aici a fost utilizat caracterul special > prin care se face redirectarearezultatului comenzii către un dispozitiv special, imprimanta în cazul nostru(identificat de numele generic special, PRN).

Page 178: Sisteme Operare - Novac

34

XCOPY

XCOPY este o comandă externă pentru copiereafişierelor şi directoarelor, incluzândsubdirectoarele. Sintaxa generală a acestei comenzi este:

xcopy sursa [dest][/a][/m][/d:data][/p][/s][/e][/v][/w]unde: sursa/destinaţia – poate fi o unitate de disc sau o cale; /A – copierea numai a fişierelor sursă care au atributul de arhivare setat fără a-

l modifica; /M – copierea numai a fişierelor sursă care au atributul de arhivare setat,

atributul de arhivare va fi modificat; /D:date – copiază fişierele sursă modificate la sau după data specificată; /P – cere confirmarea înaintea copierii fiecărui fişier; /S – copiază directoarele şi subdirectoarele, în afară de situaţia în care sunt

goale; /E – copiază toate subdirectoarele, chiar dacă sunt goale; /V – verificarea identităţii fiecărui fişier destinaţie (deja copiat) cu fişierul sursă; /W – generează o pauză înaintea operaţiei de copiere a fişierelor.

Page 179: Sisteme Operare - Novac

35

PATH

PATH este o comandă internă prin care se stabileşte caleade căutare pentrufişierele executabile (.EXE, .BAT, .COM). Odată stabilităaceastă cale, fişiereleexecutabile vor fi căutate în directoarele specificate dePATH. Sintaxa generalăa comenzii este:

path [[disc:] cale [; [disc:] cale][;…]] Pentru afişarea căilor curente de căutare se utilizează comanda apelată fără

nici un parametru: PATH.

Exemplu Să presupunem că programul PROGRAM.COM se găseşte numai în directorul

STUD3 de pe discul A:, iar unitatea de disc implicită este C:.Comanda:

path \stud;\stud1\stud2;a:\stud3

instruieşte sistemul de operare să identifice comenzile (orice fişierexecutabileste echivalent unei comenzi) lansate întâi în directorul curent, apoiîn C:\STUD; după aceea în C:\STUD1\STUD2 şi în final în A:\STUD3.

Page 180: Sisteme Operare - Novac

36

Comenzi pentru lucrul cu fişiere

Comanda DIR este o comandă internă cu ajutorul căreia se listeazăfişierele şi subdirectoarele unui director. Sintaxa generală a acesteicomenzi este:

dir [disc:][cale][nume_fisier][/p][/w][/a][[:][atribute]][/o[[:]ordine]][/s][/b][/l]

unde:– /P – permite listarea informaţiei în pagini;– /W – realizează afişarea condensată a listei;– /A[[:]atribute] – se vor lista numai numele acelor fişiere şi directoare– care deţin atributele specificate;– atribute: h/- h fişiere ascunse/nu sunt ascunse;– s/- s fişiere sistem/altele decât sistem;– d/- d directoare/nu directoare;– a/- a fişiere de arhivare/nu de arhivare;– r/- r fişiere ce se pot numai citi/citi şi scrie.

Page 181: Sisteme Operare - Novac

37

Comenzi pentru lucrul cu fişiere

/O[[:]ordine] – controlează ordinea în care se listează numele fişierelor şidirectoarelor.

– ordine: n/- n ordine alfabetică după nume A-Z/Z-A;– e/- e ordine alfabetică după extensie A-Z/Z-A;– d/- d după dată;– s/- s după mărime;– g/- g directoarele înaintea/după fişiere.– /S – listează orice apariţie în directorul specificat şi în toate– subdirectoarele acestuia a numelui de fişier specificat;– /B – listează numele unui director sau fişier pe o linie;– /L – listarea neordonată a numelor fişierelor şi directoarelor cu litere– mici.

Exemple1. Comanda: DIR /S /O /PDacă directorul curent este directorul rădăcină se va obţine o listare a tuturor

directoarelor de pe discul implicit. Lista fiecărui director este ordonată alfabetic, iar între afişarea a două ecrane succesive se execută o pauză.

Page 182: Sisteme Operare - Novac

38

TYPE

Comanda TYPE este o comandă internă prin care se vizualizează conţinutul unui fişier text. Sintaxa general este:

type [disc:][cale]nume_fisier.extExemplu Prin comanda: TYPE MANUAL.TXT se va afişa conţinutul

fişierului MANUAL.TXT din directorul curent. Pentru a se executa o pauză când ecranul este plin se va include şicomanda MORE, astfel linia de comandă devine:

TYPE MANUAL.TXT | MOREÎn acest ultim caz a fost utilizat simbolul special pipe ( | ) prin

care rezultatul comenzii TYPE este redirectat către comandaMORE care realizează afişarea ecran cu ecran.

Page 183: Sisteme Operare - Novac

39

COPY

COPY este o comandă internă prin care se copiazăunul sau mai multe fişiere. Sintaxa generală a acestei comenzi este:

copy [/a][/b]sursa[/a/b][+sursa[/a/b][+…]][dest[/a/b]][/v]

unde:– /A se foloseşte pentru fişiere text de tip ASCII;– /B se foloseşte pentru fişiere binare;– /V verifică dacă noile fişiere sunt corecte.

Page 184: Sisteme Operare - Novac

40

COPY

Exemple1. Copierea unui fişier cu acelaşi nume. Presupunem că unitatea implicită de disc este A:. Comanda: COPY D:\PROG.DAT copiază fişierul PROG.DAT

din directorul rădăcină al unităţii de disc D în directorul curent al discului implicit A, fără a schimba numele fişierului.

Prin comanda: COPY D:\PROG.DAT D:\STUD se copiazăfişierul PROG.DAT din directorul rădăcină al discului D: îndirectorul STUD de pe aceeaşi unitate. Fişierul copiat are acelaşi nume cu fişierul original.

Page 185: Sisteme Operare - Novac

41

RENAME

Comanda RENAME (sau REN) este o comandă internă pentruredenumirea unui fişier sau a unor fişiere.

Sintaxa generală a acestei comenzi este:– rename [disc:][cale] nume_vechi nume_nou– sau ren [disc:][cale] nume_vechi nume_nou

unde nume_vechi reprezintă vechiul nume al fişierului iarnume_nou reprezintă noul nume ce va fi atribuit.

Exemple1. Comanda: REN A:\STUD\TABEL.DAT TABEL1.DAT

redenumeşte fişierul TABEL.DAT din directorul \STUD de peunitatea A: în TABEL1.DAT.

Page 186: Sisteme Operare - Novac

42

DEL (ERASE)

Comanda DEL (ERASE) este o comandă internă care realizeazăştergerea fişierelor.

Sintaxa generală este:del [disc:][cale] nume_fisier [/p]

sau erase [disc:][cale] nume_fisier [/p]– /p – cere confirmarea (Y/N?) înainte de a şterge fişierul specificat.Exemplu:– Comanda: DEL C:\STUD\STUD3\*.* şterge toate fişierelor din

directorul \STUD\STUD3. Dacă s-a utilizat *.* în zona numelui de fişier, MS-DOS afişează un mesaj pentru a verifica dacă se doreşte ştergerea tuturor fişierelor: "Are you sure (Y/N) ?" TastândY şi apoi <ENTER> se execută operaţia de ştergere.

Page 187: Sisteme Operare - Novac

43

Redirecţionarea intrării/ieşirii comenzilor

Pentru a redirecţiona intrarea sau ieşireaunei comenzi, se pot utiliza caracterele:

> ieşirea unei comenzi se va transmite într-un fişier sau către un dispozitiv periferic;

< intrarea necesară unei comenzi va fi preluatădintr-un fişier;

>> ieşirea unei comenzi este adăugată la sfârşitul unui fişier, fără a şterge informaţiadeja existentă.

Page 188: Sisteme Operare - Novac

44

Redirecţionarea intrării/ieşirii comenzilor

Exemple:1. Comanda: DIR > LISTA.TXT asigură redirecţionarea

listei ce se obţine prin comanda DIR către fişierulLISTA.TXT. Dacă fişierul nu există, el va fi creat îndirectorul curent de pe unitatea implicită; dacăexistă, se va înlocui informaţia care o conţine cu aceea ce se va obţine.

2. Prin comanda: DIR > PRN se va trimite lista cu numele fişierelor din directorul curent cătreimprimantă.

Page 189: Sisteme Operare - Novac

45

Comenzi „pipe”

Dacă se doreşte ca ieşirea unei comenzi să fie intrare pentru altase vor tasta comenzile pe o singură linie de comandă, fiindseparate prin simbolul pipe, linie verticală ( | ).

Exemple:1. Fie linia de comandă: DIR | SORT

1. Lista obţinută prin comanda DIR va fi folosită ca intrare pentrucomanda SORT, astfel încât pe ecran va apare o listă ordonatăalfabetic.

2. Linia de comandă: DIR | SORT | MORE afişează aceeaşilistă ca în exemplul precedent, afişarea făcându-se de data aceasta ecran cu ecran.

Page 190: Sisteme Operare - Novac

1

WINDOWS

Page 191: Sisteme Operare - Novac

2

Arhitectura mediului Windows

Arhitectura mediuluiWindows a fostproiectată astfel încât săfie asigura-tă protecţiataskurilor executatesimultan. Protecţia se bazează pe ”ierarhia de tutelă” potrivit căreia un task poate să accesezenumai taskurile situate pe un nivel superior (fig. 5.1.)

Page 192: Sisteme Operare - Novac

3

Arhitectura mediului Windows Nivelul 0 este asociat sistemului de

operare, iar nivelul 3, programelor de aplicaţie; nivelurile 1 şi 2 conţin driverede echipamente neincluse în nivelurile0 sau 5.

Acest mod de aşezare a taskurilorasigură faptul că orice încercare de acces neautorizat, va genera o excepţiecare va lansa rutina de violare a ineluluide protecţie.

Page 193: Sisteme Operare - Novac

4

Windows 95 şi Windows NT 4.0 spredeosebire de versiunile precedente, utilizează modelul de memorienediferenţiat.

Modelul este suportat pe PC-urileAT386 sau superioare.

Prin aceasta nu se elimină mecanismulde segmentare, însă sistemul de operare ignoră această capacitate.

Page 194: Sisteme Operare - Novac

5

Adresare în Windows În modul de adresare nediferenţiat, fiecare

registru conţine o adresă pe 32 de biţi divizată întrei câmpuri, fiecărui câmp corespunzându-i un anumit nivel de protecţie (fig. 5.3.):

1) localizarea tabelei de pagini, care solicităvolumul total de memorie necesar; numărul de pagini din tabel corespunde cu numărul de pagini de 4 K alocate aplicaţiei (o aplicaţie cesolicită 100 K de RAM, are 25 de intrări);

2) localizarea paginii în tabela de pagini;3) localizarea oricărui byte din pagina de 4 K, prin

adunarea deplasării (off set) - biţii 0-11.

Page 195: Sisteme Operare - Novac

6

Page 196: Sisteme Operare - Novac

7

Modul de adresare nediferenţiat

Page 197: Sisteme Operare - Novac

8

Arhitectura de bază

Arhitectura de bază şi componentelemediului Windows sunt redate în fig. 5.4.

Sistemul VM ( Virtual Mode ) Sistemul VM furnizează majoritatea

funcţiilor destinate utilizatorului; estealcătuit din următoarele componente :

Page 198: Sisteme Operare - Novac

9

Arhitectura de bază Windows constă dintr-o combinaţie de

aplicaţii pe 16 biţi şi 32 de biţi; pentru a permite comunicaţia între cele două categoriide aplicaţii, Windows foloseşte un strat de conversie (thunk layer), constituind o stivăaferentă sensului de comunicaţie ( fig. 5.5 ). Alături de stratul de conversie, asemănătoraltor sisteme de operare ce executămultitasking (OS/2,UNIX), Windows foloseştepentru realizarea legăturii între aplicaţii fişiereDLL (Dynamic Link Library).

Page 199: Sisteme Operare - Novac

10

Arhitectura de bază Există două forme de legare ( linking ) sub Windows

(sau OS/2 sau UNIX). Prima legătură combină toatemodulele obiecte necesare pentru a crea o aplicaţieunică; legarea are loc după ce programatorul terminăde copiat codul.

Al doilea ciclu de legare are loc atunci când utilizatorultrece la încărcarea aplicaţiei .Aici este momentul încare intervine DLL. Fiecare aplicaţie Windows are referinţe nerezolvate la funcţii (numite apeluri de biblioteci de import). Aceste apeluri încarcă un fişierDLL care conţine codul necesar pentru. a satisfaceacel apel de funcţie .

Page 200: Sisteme Operare - Novac

11

ARHITECTURA ŞI COMPONENTELE MEDIULUI WINDOWS -fig.5.4

Page 201: Sisteme Operare - Novac

12

Maşina virtuală DOS Fiecare maşină virtuală dispune de propriul său

spaţiu de memorie şi acces la echipamentele de sistem, Windows creând impresia că estesingura aplicaţie care se execută pe sistem(cerinţă MS-DOS).

O maşină virtuală DOS rulează în mod 86 virtual creând în memoria protejată mai multe maşini8086 a câte 1 M fiecare. Unele aplicaţii DOS utilizează extensii compatibile DPMI care le permit rularea în mod protejat.

Page 202: Sisteme Operare - Novac

13

Maşina virtuală DOS

Page 203: Sisteme Operare - Novac

14

API (Application Programming Interface ) Fiecare aplicaţie Windows capătă acces la

sistemul de operare utilizând o interfaţă API. În esenţă, un apel API face acelaşi lucru ca

orice întrerupere: cere sistemului de operaresă execute un task.

Page 204: Sisteme Operare - Novac

15

Structura Windows Indiferent ce API utilizează, orice aplicaţie va adresa

trei componente de bază: versiunile pe 16 biţi ale acestor fişiere sunt GDI.EXE, USER.EXE şi KRNL 386.EXE, iar versiunile pe 32 de biţi suntGDI32.DLL,USER32.DLL şi KERNEL32.DLL: Kernel - nucleul Windows (KERNEL386.EXE sau

KERNEL32.DLL) furnizează suport pentru funcţiile de nivel jos de care are nevoie o aplicaţie pentru a rula. Această componentă nu tratează nici cu mediul şi nicicu echipamentele; ea interacţionează numai cu Windows însuşi .

Page 205: Sisteme Operare - Novac

16

Structura Windows Graphical Device Interface - mediul ecipamente-

lor grafice (GDI.EXE sau GDI32.DLL). User - utilizator (USER.EXE sau

USER32.DLL). Windows este bazat în întregime pe ferestre . Are nevoie de un administrator care să

urmărească toate ferestrele create de aplicaţiipentru a afişa diverse tipuri de informaţii.

Ori de câte ori o aplicaţie afişează o pictogramăsau un buton, foloseşte un anumit tip de funcţieinclusă în USER.

Page 206: Sisteme Operare - Novac

17

PLUG and PLAY (PNP) PNP reprezintă lucrul a trei componente de

sistem: hardware-ul, componenta BIOS şisistemul de operare.

El activează lucrurile esenţiale ale sistemuluicum ar fi unitatea de disc şi adaptorul de afişaj.

În timpul procesului de iniţiere, sistemul de operare încheie taskul de alocare a întreruperilorşi a adreselor de porturi ale tuturorcomponentelor sistemului.

El cere componentei BIOS să furnizeze o listă a alocări anterioare, pentru a nu le mai utiliza încăo dată.

Page 207: Sisteme Operare - Novac

18

PLUG and PLAY (PNP)Caracteristici suplimentare oferite de standardul PNP: identifică echipamentele instalate Windows

detectează automat toate componentele ataşate la sistem.

determină necesităţile de resurse ale echipamentelor

Orice echipament instalat pe calculator are nevoie de resurse sub forma ciclurilor procesor, porturi de intrare / ieşire , canale DMA, memorie şi întreruperi. Windows lucrează cu componenta BIOS şiechipamentele periferice pentru a veni înîntâmpinarea acestor necesităţi fără nici o intervenţie.

Page 208: Sisteme Operare - Novac

19

PLUG and PLAY (PNP) actualizarea automată a configuraţiei sistemului şi

detectarea conflictelor dintre resurseFişierele CONFIG.SYS şi AUTOEXEC.BAT conţineau linie

după linie, instrucţiuni de lansare a programelor driver de echipamente şi TSR; Windows poate menţine sau chiarsă îmbunătăţească performanţele unui sistem PNP fărăa utiliza un fişier CONFIG.SYS sau AUTOEXEC.BAT.

Compatibilitatea PNP oferă posibilitatea Windows-ului săîncarce şi să descarce dinamic orice echipament de care are nevoie sistemul.

notificarea schimbării configurării PNP ar putea modificaconfigurarea sistemului automat, doar atunci când se modifică eventual configuraţia sistemului; Windows anunţă acest lucru, afişând o casetă de dialog în care spune ce s-a modificat

Page 209: Sisteme Operare - Novac

20

Sistemul de bază

Sistemul de bază conţine toate serviciile sistemuluide operare :

a) controlul fişierelor – oferă o interfaţă pentrutoate echipamentele conectate la PC;

b) servicii de reţea – oferă facilităţi de lucru înreţeaua Microsoft şi lucrul în mod protejat pentrumajoritatea produselor LAN;

c) servicii de sistem de operare care includcaracteris-ticile PNP, solicitări ale utilizatorului şiale sistemului de operare;

Page 210: Sisteme Operare - Novac

21

Sistemul de bazăd) gestiunea maşinii virtuale se ocupă de :

programarea execuţiei taskurilor; lansarea în execuţie şi oprirea oricărei aplicaţii din sistem; controlul memoriei virtuale prin intermediul interfeţei API; controlul tuturor operaţiilor de alocare a memoriei, inclusiv

acţionarea ca un server DPMI (interfaţa pentru modul protejatDOS) pentru aplicaţii MS DOS care rulează în mod protejat;

comunicaţia dintre taskuri care filtrează toate cererile pentruDDE (Data Dynamic Exchange) şi OLE (Object Linking and Embeding);

e) drivere pentru dispozitive care lucrează în: modul real, ceea ce implică o comutare permanentă între modul

real şi cel protejat; VxD ( Virtual x Driver ) care va comunica cu sistemul fără

comutarea în modul real.

Page 211: Sisteme Operare - Novac

22

Arhitectura Windows 98 Arhitectura de bază din Windows 98 oferă

numeroase avantaje pentru utilizator :1. Sistem de operare pe 32 de biţi în modul protejat,

complet integrat – dispare astfel necesitatea unuiexemplar MS – DOS separat ;

2. Sistem multitasking controlat şi multifir – acestecaracteristici asigura reacţia corespunzătoare a sistemului şi procesarea în fundal;

3. Sistem de fişiere instalabile pe 32 de biţi – sistemecum ar fi VFAT, sistemul de fişiere pentru CD-ROM (CFS), FAT32 şi redirectoare de reţea, asigurăperformanţe superioare, posibilitatea utilizăriidenumirilor lungi de fişiere şi o arhitectură deschisăcare permite evoluţii viitoare ;

Page 212: Sisteme Operare - Novac

23

Arhitectura Windows 984. Drivere de dispozitiv pe 32 de biţi disponibile în întregul

sistem care asigura performanţe superioare şi utilizareaeficientă a memoriei;

5. Nucleu integral pe 32 de biţi cuprinde componente de gestionare a memoriei, secvenţiator şi componente de gestionare a proceselor;

6. Soliditate a sistemului şi facilităţi de eliberare a memoriei ceea ce eliberează memoria la terminarea saublocarea aplicaţiilor;

7. Configurare dinamică a mediului astfel că necesitateaintervenţiei utilizatorului pentru a-şi configuracalculatorul este redusă;

8. Capacitate superioară a sistemului face ca limitele de acces la resursele sistemului în cazul rulării simultane a mai multor aplicaţii să fie mai flexibile

Page 213: Sisteme Operare - Novac

24

Windows 98 Windows 98 oferă următoarele servicii de

sistem: gestionarea proceselor şi firelor de execuţie; comunicaţii şi sincronizare între procese; subsistem Win32 complet controlat; servicii I/O pentru CD-ROM şi hard disc; servicii I/O de reţea; servicii de tipărire; operaţii grafice de nivel înalt; gestionarea ferestrelor.

Page 214: Sisteme Operare - Novac

25

Windows 98 Pentru a răspunde cerinţelor de compatibilitate

cu aplicaţiile şi driverele existente, de micşorarea dimensiunii setului de lucru al sistemului de operare şi îmbunătăţire a performanţelorsistemului, Windows 98 foloseşte o combinaţiede cod pe 32 de biţi şi pe 16 biţi.

În general, codul pe 32 de biţi este folosit înWindows 98 pentru a îmbunătăţi performanţelesistemului, în timp ce codul pe 16 biţi răspundecerinţelor de reducere a dimensiunii sistemului şide menţinere a compatibilităţii cu aplicaţiile şidriverele existente (fig. 5.7.).

Page 215: Sisteme Operare - Novac

26

Windows 98

Driverele de dispozitiv virtual din Windows 98 preiau funcţionalităţile unor drivere de dispozitivîn modul real sub MS-DOS, eliminândnecesitatea încărcării lor MS-DOS.

Această tehnică asigură o amprentă minimă înmemoria convenţională, performanţe ridicate, precum şi fiabilitatea respectiv stabilitateasistemului.

Page 216: Sisteme Operare - Novac

27

Page 217: Sisteme Operare - Novac

28

Windows 98Windows 98 asigură compatibilitatea cu magistraleleUSB, cu interfeţele pentru controllerele-gazdăUniversal şi Open şi cu dispozitivele USB pentruintrări de la utilizator.

Arhitectura integrată a sistemului de operareWindows 98 permite rularea de aplicaţii sub MS-DOS, Win16 şi Win32. Componentele sistemuluisunt împărţite între nivelul 0 şi nivelul 3, realizânddiferite niveluri de protecţie ( fig. 5.8.)

Nivelul 3 este protejat de alte procese în derulare, prin serviciile asigurate de arhitectura procesoruluiIntel. Nivelul 0 este format din serviciile de nivelscăzut ale sistemului de operare cum ar figestionarea sistemului de fişiere şi a componentelorvirtuale.

Page 218: Sisteme Operare - Novac

29

Page 219: Sisteme Operare - Novac

30

Windows 98

Facilităţile din Windows 98 care asigurăsoliditatea sistemului de operare sunt:

mai bună reiniţializare locală; eliberarea firelor de execuţie ale driverelor de dispozitiv virtual la încheierea procesului; urmărirea stării firelor de execuţie; validarea parametrilor driverelor de dispozitivvirtual.

Page 220: Sisteme Operare - Novac

31

Windows 98 Windows 98 asigură protecţia memoriei pentru

rularea aplicaţiilor sub MS-DOS, împiedicândaplicaţiile să suprascrie zona de sistem MS-DOS înmodul real.

La închiderea unui sistem virtual sub Windows 98 –fie prin procedura normală când utilizatorulpărăseşte aplicaţia sau solicită o reiniţializare locală, fie accidental când se blochează aplicaţia, sunteliberate toate resursele alocate sistemului virtual.

Windows 98 asigură facilităţi pentru aplicaţiile sub Win16 şi compatibilitatea cu aplicaţiile sub Windows existente, menţinând solicitările de memorie la un nivel redus.

Page 221: Sisteme Operare - Novac

32

Windows 98 Aplicaţiile sub Win 32 beneficiază şi de sistemul de

multitasking controlat, de un spaţiu de adresă liniar(nu segmentat) şi de un set API cu numeroasefacilităţi.

Aplicaţiile sub Win32 folosesc şiruri separate de mesaje pentru a asigura soliditatea sistemului.

Sistemul preia mesajele din şirul de intrare şi le transmite aplicaţiei corespunzătoare sub Win32 sausub sistemului Win16, în cazul în care mesajul estedestinat unei aplicaţii sub Win16 (fig. 5.9.).

Page 222: Sisteme Operare - Novac

33

Page 223: Sisteme Operare - Novac

34

Caracteristici adăugate la Windows 98

Noile caracteristici ale sistemului de operareWindows 98 pot fi clasificate în: platforma pentru inovaţii; simplitate, viteză şi putere; fiabilitate şi posibilităţi de administrare

superioare; integrare Internet.

Page 224: Sisteme Operare - Novac

35

Win32 Driver Model (WDM)

Win32 Driver Model (WDM) este un nou model de driver universal pentru Windows 98 şi Microsoft Windows NT 5.0 şipermite ca noile dispozitive săaibă un singur driver pentruambele sisteme de operare.

FAT32, versiunea îmbunătăţităa sistemului de fişiere FAT (tabela de alocare a fişierelor) permite formarea discurilor de peste 2 G ca o singură unitate.

Pentru mai multă flexibilitate, Windows 98 conţine şi un utilitar de conversie grafica

Page 225: Sisteme Operare - Novac

36

FAT32 FAT32, care poate converti rapid şi sigur o unitate

de disc de la versiunea FAT iniţială, la FAT32. Windows 98 include suport pentru interfaţa de

configurare avansată şi de gestionare a consumului(Advanced Configuration and Power Interface-ACPI).

În afară de facilitatea ACPI, Windows 98 oferăsuport pentru extensiile Advanced Power Management (APM) 1.2, inclusiv pentru oprirea hard discului, pentru interfaţa PCMCIA, pentrudezactivarea modemului şi reluarea funcţionării încazul apelului telefonic.

Page 226: Sisteme Operare - Novac

37

Defragmentare a discului pentru a mări viteza de rulare a aplicaţiilor utilizate frecvent.

În acest scop, aplicaţia Wizard creează un fişier jurnal(log), cu ajutorul căruia identifică programele folosite celmai des. Prin plasarea tuturor fişierelor unei aplicaţii înaceeaşi zonă de pe hard disc, se va îmbunătăţi viteza de rulare a aplicaţiei respective.

Aplicaţia Windows Tune Up Wizard permite planificareaunei zile şi a unei ore în fiecare săptămână, în care calculatorul să efectueze singur o operaţie de "curăţare", adică să şteargă fişierele inutile şi să efectuezedefragmentarea discului pentru aplicaţiile folositefrecvent, astfel încât acestea să ruleze cât mai rapid.

Page 227: Sisteme Operare - Novac

38

Point-to-point Tunneling Protocol (PPTP)

Windows 98 este compatibil cu standardul Infrared Data Association (IrDA) pentru conectare fără fir. Suportul pentru IrDA le permite utilizatorilor sistemuluide operare Windows 98, să se conecteze cu uşurinţăla dispozitivele periferice sau la alte calculatoare, fărăa folosi cabluri de conectare. Acest set de drivereasigură calculatoarelor portabile (laptop) sau de birou(desktop) dotate cu echipament pentru conectare prinradiaţii infraroşii, posibilitatea de lucru în reţea, de transfer de fişiere şi de tipărire fără fir, prin intermediulaltor dispozitive compatibile IrDA care lucrează pebază de radiaţii infraroşii.

Page 228: Sisteme Operare - Novac

39

Point-to-point Tunneling Protocol (PPTP)

Point-to-point Tunneling Protocol (PPTP) oferăposibilitatea de a utiliza reţele de date publice, cum este Internet, pentru a crea reţele virtuale private prin conectarea unor calculatoare client cu serverelede reţea.

PPTP furnizează un sistem de încapsulare a protocolului în scopul folosirii protocoalelor multiple prin intermediul legăturilor TCP/IP şi criptării datelorpentru garantarea confidenţialităţii, transmiterea de informaţii prin reţele neprotejate devenind în acestfel mai sigură.

Page 229: Sisteme Operare - Novac

40

ActiveMovie este o nouă arhitecturămultimedia pentruWindows, prin care se obţine o redarevideo de o calitateridicată şi un set extensibil de interfe-ţe cu ajutorul cărorase pot crea aplicaţiişi instrumentemedia.

Windows 98 oferă suport pentruprogramele realizate de altefirme care folosesc extensiileIntel Pentium Multimedia Extensions (MMX) pentru a beneficia de facilităţile audio şivideo ale noii generaţii de proce-soare Intel Pentium.

Oferă servicii client pentru reţeleNetWare care sunt compatibilecu Novell NetWare Directory Services (NDS). Acestea permit utilizatorilor să se conecteze la servere Novell NetWare 4.x rulând NDS pentru a obţine ac-cesul la fişiere şi la resurse de tipărire.

Page 230: Sisteme Operare - Novac

41

System Update este un nou serviciu bazat pe Web care scaneazăcalculatorul pentru a afla componentele hardware şi software instalate, iar apoi compara aceste informaţii cu cele dintr-o bază de date actualizată, pentru a stabili dacă există drivere sau fişiere de sistem mai noi. În cazul în care găseşte drivere sau fişiere de sistemmai recente, acest serviciu poate să le instaleze în mod automat. Există chiar şi o funcţie de anulare (rollback), care poate eliminadriverul instalat automat de Internet System Update.

System File Checker este un nou utilitar care furnizează o modalitate simplă de a verifica dacă fişierele de sistem din Windows 98 nu au fost modificate sau alterate. El include şi un mecanismsimplu pentru refacerea versiunilor originale ale fişierelor de sistem, în cazul în care acestea au fost modificate.

Page 231: Sisteme Operare - Novac

42

Windows 98 conţine o gamă largă de instrumente pentru comunicareaon-line: - Microsoft Outlook Expres, o aplicaţie client cu toate facilităţile pentru e-mail

şi citirea mesajelor - Microsoft NetMeeting, o soluţie completă pentru conferinţe în Internet care

oferă funcţionalităţi bazate pe standarde audio, de date şi video - Microsoft NetShow, care permite urmărirea transmiterii radio /TV în direct

sau înregistrate, fără aşteptare pentru încărcare sau reducereaperformanţelor reţelei

- Microsoft FrontPad, un editor HTML de tip WYSING (what you see is what you get) bazat pe versiunea completă a programului Microsoft FrontPage97, care oferă facilităţi de editare HTML, ce permit chiar şi utilizatorilor începătorisă creeze cu uşurinţă pagini Web

- Personal Web Server care furnizează o modalitate simplă de publicare a paginilor Web în reţele locale sau în Internet.

Page 232: Sisteme Operare - Novac

43

Windows 2000 Windows 95/98 şi NT despărţite în ultimii ani, sunt

combinate în noul produs universal Windows 2000, dotatpentru aplicaţii profesionale, multimedia, jocuri cu o mare amprentă asupra securităţii datelor. Windows esteconsiderat cel puţin începând cu versiunea 98, ca un sistem de operare destul de stabil. La Windows NT, acest lucru a stat în fruntea priorităţilor dezvoltatorilor, chiar începând cu versiunea 5.1.

Producătorii au încercat să elimine din Windows 2000, ecranul albastru la declanşarea unor erori vitale(suprnumit şi Blue Screen of Death) folosind verificareaautomată a registrelor, realizând automat un backup al celor mai importante DLL-uri, afectând domenii strict delimitate pentru aplicaţiile încărcate şi implementândnoile sisteme de fişiere FAT 32 şi NTFS 5.

Page 233: Sisteme Operare - Novac

44

Windows 2000

În timp ce Windows NT oferă pentru un start sigurmodul VGA şi revenirea la ultima configuraţiefuncţională recunoscută, în Windows 2000 există un meniu de boot extins care apare la start după ce se apasă tasta F8. Aceasta constă în principal din aceleaşi înregistrări ca şi în meniul din Windows 95/98: Safe Mode cu drivere de reţea (încarcă în plus suportul de

reţea pentru Windows 2000); Safe Mode cu solicitare de introducere a datelor (porneşte

Windows 2000 cu o configuraţie minimală a driverelor şirenunţă la încărcarea interfeţei grafice, ajungându-se înmodul linie de comandă);

Page 234: Sisteme Operare - Novac

45

Windows 2000

Activare protocol de start (lansarea şi executarea serviciilorşi a driverelor);

Activarea modului VGA (lansează Windows cu driverulstandard VGA);

Ultima configuraţie funcţională cunoscută (foloseşte setărileultimului proces de boot reuşit);

Restaurarea serviciului de directoare (controller de domeniu Windows 2000 care activează noi serviciidirectoare din Windows 2000 - e posibilă astfel accesareasistemului prin intermediul unei reţele);

Lansarea normală (Windows bootează cu toate driverele şiuneltele de sistem).

Page 235: Sisteme Operare - Novac

46

Windows 2000 Microsoft a integrat NTFS 5 în Windows 2000

incompatibil cu predecesorul sau NTFS din Windows NT 4. Cu Windows 2000, administratorulare posibilitatea de a acorda fiecărui utilizator un anumit spaţiu de stocare pe partiţie. Înainte de epuizarea acestui spaţiu, utilizatorul este avertizat. După aceea, sistemul nu mai acceptă stocareadatelor utilizatorului respectiv.

De asemenea, este posibilă codificarea directoarelorşi fişierelor automat si in timp real.

Sistemul de operare poate atribui o unitate de disc oarecare unui director vid dintr-o partiţie NTFS. Înacest fel se poate atribui, de exemplu unitatea CD-ROM directorului

C:\CDROM.

Page 236: Sisteme Operare - Novac

47

Windows 2000 Este anulata astfel limitarea la cele 26

litere ale alfabetului pentru unităţile de disc.

Un alt lucru important introdus de noulsistem de fişiere este USN-Journal (Update Sequence Number) ce reprezintăun cod care preia modificările fiecărui fişierşi director; codurile sunt stocate înWindows 2000 într-o baza de date şianume USN-Journal, care este utilizabilpentru orice program.

Cu ajutorul acestui jurnal pot fi realizate de exemplu, programe de backup eficiente.

Page 237: Sisteme Operare - Novac

48

Windows 2000 Un utilizator obişnuit, cu drepturi limitate în

Windows 2000, nu va simţi o prea mare diferenţă faţă de Windows 95/98.

Exista în continuare obişnuitul taskbar (bara de lucru) şi butonul de start. Nici în ceea ce priveştedesktop-ul nu sunt modificări, făcând abstracţiede pictogramele care au suferit unele modificări.

În schimb, un administrator va trebui sa se adapteze cu noua configurare a sistemului, maiclară decât Windows NT şi cu mai multe posibili-tăţi; funcţiile însă, nu se mai găsesc în acelaşiloc.

Page 238: Sisteme Operare - Novac

49

Windows 2000 Nucleul administrării Windows 2000 îl reprezintă

Microsoft Management Console(MMC) care se găseşte sub denumirea de Computer Management, apelabil din Control Panel/Administrative Tools, oriprin intermediul meniului contextual din My Computer.

MMC reuneşte sub o singură interfaţă Device Manager , informaţiile de sistem din Windows 95/98 şiprogramele de configurare care se află în Windows NT, directorul Administrative Tools(Common).

MMC este împărţit în trei domenii: System Tools Storage Services and AplicationsExistă însă posibilitatea adăugării de snap-in-uri.

Page 239: Sisteme Operare - Novac

50

Windows 2000Din System Tools fac parte: Event Viewer System Information Un nou director Performance Logs and Alerts Directorul Shared Folders(permite controlul

partajării resurselor pe fiecare disc) Device Manager Local Users and Groups, corespunzător

utilizatorilor din NT.

Page 240: Sisteme Operare - Novac

51

În Storage se găseşte: Managerul de hard disc Programul de defragmentare nou

ataşat Vizualizarea unităţilor logice (Logical

Drives) Directorul Removable Storage care

permite gestionarea comună a unităţilor CD-ROM, DAT, ZIP şi a celorlalte unităţti de acest fel.

Page 241: Sisteme Operare - Novac

52

Windows 2000- Services and Aplications

Services and Aplications conţine alături de o privire de ansamblu asupra serviciilor şi a noiifuncţii de indexare, instrumentaţia de administrare Windows (Windows Management Instrumentation-WMI), care se referă la achiziţiaon-line de date despre dispozitive şi posibilitateamonitorizării funcţionării acestora.

O serie de programe incluse în MMC apar şiseparat, în meniuri contextuale pe desktop, înmeniul de Start şi în Control Panel.

Page 242: Sisteme Operare - Novac

53

Protocolul PPTP Windows 2000 este optimizat pentru utilizarea în

reţea, incluzând noi funcţii, în idea de a securizaconexiunile de reţea cu utilizatorii aflaţi la distanţămare. Astfel, este integrat protocolul PPTP (Point-to-Point Tunneling Protocol) şi L2TP (Layer 2 Tunneling Protocol), ceea ce permite creareareţelelor private virtuale(VPN).

Conexiunea on-line comună începând de la grupuride lucru mai mici este permisă deja în Windows 98 SE prin Internet Connection Sharing, ea găsindu-se şi în Windows 2000. Cu ajutorul acestei funcţii esteposibilă realizarea de conexiuni la Internet printr-un modem utilizat în comun.

Page 243: Sisteme Operare - Novac

54

Active Directory şi IntelliMirror

Pentru administrarea reţelelor mari suntimportante Active Directory şi IntelliMirror: Active Directory permite în căutarea de calcula-

toare, imprimante sau persoane în întreaga reţeasau în imediata apropiere;

IntelliMirror permite atât deservirea de la distanţăa workstation-urilor, cât şi stocarea pe server de profiluri detaliate de utilizatori.

Page 244: Sisteme Operare - Novac

55

Windows 2000 - retea Reţeaua poate fi configurată în aşa fel încât fiecare

utilizator poate găsi pe orice calculator setărilepersonale.

În momentul în care se conectează în reţea, Windows 2000 configurează atât desktop-ul personalizat cât şiaplicaţiile (Microsoft a unificat setările de reţea Dial-up Networking şi accesul RAS care pot fi accesate prinProperties din meniul contextual al Network Neighborhood), a.î configurarea reţelei cu adaptor, protocoale, etc., nu mai poate fi accesată direct prinmeniul contextual din Network Neighborhood, ci numaiprin Local Area Connection/Properties din acestmeniu.

Page 245: Sisteme Operare - Novac

56

Windows 2000 - retea

Astfel, la conectarea cu alte calculatoaredin reţea, este posibilă alegerea unui alt nume de utilizator şi a parolei; nu estenecesară conectarea la propriul calculator cu numele de utilizator corespunzător care să fie acceptat şi de către calculatorulrespectiv.

Page 246: Sisteme Operare - Novac

57

Programul de defragmentare- o altă noutate

El se bazează pe shareware-ul Diskkeeper Liteşi lucrează cu fişiere atât de pe partiţii NTFS, câtşi pe unităţi FAT şi FAT32.

Programul de backup din NT este înlocuit printr-un program cu facilitatea de control a discurilorde stocare ce pot fi scoase din sistem şiposibilitatea de verificare a fişierelor mai rarfolosite; acesta permite un control programat întimp al backup-urilor.

Programul creează opţional şi o dischetă de recuperare a informaţiilor vitale prezente însistem.

Page 247: Sisteme Operare - Novac

58

Programul de defragmentare

Funcţia de căutare rulează printr-ointerfaţă HTML şi utilizează opţionalpentru accelerare, un index care preiaconţinutul fişierelor pe unitatea locală.

Acest lucru funcţionează însă numaipe partiţii NTFS.

Page 248: Sisteme Operare - Novac

59

Windows 2000 - facilitati Dintre facilităţile multimedia, Windows 2000 poate

configura redarea digitală a CDurilor audio. Astfel, datele de sunet nu mai ajung prin cablul

analogic la placa de sunet, ci prin bus-ul PCI sauISA.

Cablul audio nu mai este necesar, dar este nevoieca şi unitatea CD-ROM să suporte această facilitate.

Sunt recunoscute fără probleme o mulţime de componente care apoi sunt integrate în sistem. Înplus, faţă de Windows NT, există şi suport pentrujoystick.

Page 249: Sisteme Operare - Novac

60

Windows 2000 Funcţiile din Windows 95/98 şi NT pentru sincronizarea

fişierelor cu un Notebook au fost extinse şi în Windows 2000. Nu mai există Briefcase, în schimb la accesarea directoruluiNetwork Neighborhood în meniul contextual al Explorer-uluise găseşte comanda Make Available Offline.

Prin intermediul comenzii Synchronize din meniul Start poatefi reglementată sincronizarea datelor şi actualizarea de paginiWeb.

Pentru utilizarea pe notebook-uri, Windows 2000 pune la dispoziţie standardul ACPI.

Setările corespund în mare celor din Windows 98, dar au fostextinse cu alte scheme de energie pentru un consum minim al bateriei; o noutate o constituie modul Hibernate care salveazăstadiul actual al aplicaţiilor deschise, restaurându-l automat la repornirea Windows-ului.

Page 250: Sisteme Operare - Novac

61

Windows 2000 Windows 2000 reuneşte securitatea şi stabilitatea din

Windows NT cu facilităţile multimedia şi confortul din Windows 98.

Comenzile şi funcţiile care se leagă din punct de vederetematic, se găsesc în acelaşi director.

Căutarea unui dialog pentru instalarea unui nou driver a fost eliminată.

Device Manager din Windows NT a fost înlocuit cu celdin 98 mult mai intuitiv.

În Windows 2000, Microsoft a unificat elemente din sistemele de operare Windows 95/98 şi NT.

Dacă programele pentru Windows 95/98 erau destinateîn special utilizatorilor particulari, NT este dedicat înprimul rând profesioniştilor care au nevoie de o securita-te crescută a datelor şi care lucrează într-o reţea.

Page 251: Sisteme Operare - Novac

62

Windows 2000 - avantaje Avantajele oferite de Windows 2000 pentru

utilizatorii Windows 95/98 se pot rezuma astfel: Sistemul de operare va rula fără probleme pe

un calculator cu dotare modernă şi toatecomponentele vor fi recunoscute şi integrate în sistem. Nu sunt necesare alte investiţiipentru hardware;

Setup-ul şi instalarea altor componente se vadesfăşura mai simplu decât în Windows 98, datorită facilităţilor Plug&Play îmbunătăţite; există o serie de asistenţi care oferă ajutor încaz de nevoie;

Page 252: Sisteme Operare - Novac

63

Windows 2000 - avantaje Conexiunea la Internet sau chiar la o mică reţea este

simplificată; Windows 2000 oferă facilităţi multimedia îmbunătăţite faţă

de Windows 98; Interfaţa nu presupune o perioada de acomodare,

semanând cu cea din Windows 98 cu Internet Explorer 5; Blocările sunt rare datorită mecanismului de protecţie,

sistemul rezistând la instalarea unor programe obscure, care puneau în pericol versiunile anterioare;

Datorită profilurilor de utilizatori departajate, Windows 2000 este mai bine protejat împotriva comenzilor eronate, iardatele importante pot fi bine protejate împotriva ştergeriilor; totodată, accesul la Internet poate fi limitat pentruanumite persoane.

Page 253: Sisteme Operare - Novac

64

Windows 2000 - dezavantaje

Windows 2000 costă mult mai mult ca Windows 98;

Noile funcţii de administrator sunt mai greu de înţeles de către neiniţiaţi;

Windows 2000 lucrează mai lent decât 98 ţinândcont de cerinţele hardware mai ridicate;

Jocurile DOS nu rulează sub Windows 2000, iarpentru jocurile 3D nu există încă drivere

Direct3D pentru toate plăcile grafice.

Page 254: Sisteme Operare - Novac

65

Windows 2000 – AvantajeAvantajele aduse pentru utilizatorii care au folosit

anterior Windows NT: Interfaţa cu utilizatorul nu s-a prea modificat,

ceea ce elimină o nouă şcolarizare a personalului;

Windows 2000 se instalează mai rapid şi maisimplu ca Windows NT;

Configurarea şi întreţinerea calculatoarelorWindows 2000 este mai simplă şi mai uşor de urmărit;

Windows 2000 oferă posibilităţi îmbunătăţitede administrare în reţea. O serie întreagă de sarcini pot fi rezolvate central, economisindu-se astfel timp;

Page 255: Sisteme Operare - Novac

66

Windows 2000 – Avantaje

Funcţiile pentru utilizarea pe un notebook au fostîmbunătăţite, sincronizarea datelor fiind maisimplă şi mai confortabilă;

Power Managementul din Windows 2000 estemult îmbunătăţit faţă de cel din NT, crescândastfel timpul de lucru al unui notebook ce nu esteconectat la o reţea;

Legăturile cu celelalte calculatoare, prin reţea sauDial-up Networking, sunt concepute astfel încâtdatele confidenţiale sunt mai bine protejate;

Datele confidenţiale pot fi protejate foarte uşorprin noul sistem de fişiere NTFS5 şi prin funcţia sade criptare;

Page 256: Sisteme Operare - Novac

67

Windows 2000 – Avantaje

Programul de back-up integrat, permite salvareaautomată a datelor de pe workstation-uri pe server, fără să fie nevoie de programe suplimentare;

Conexiunile în reţea a diferitelor staţii de lucru întreele sau cu serverul, sunt mai flexibile decât înWindows NT;

Există o versiune în mai multe limbi a lui Windows 2000, destinată utilizării în întreprinderi mixte, permiţând apelarea meniurilor şi a funcţiei de help înorice limbă.

Page 257: Sisteme Operare - Novac

68

Windows 2000 – dezavantajeDezavantajele regăsite de utilizatorii Windows NT pentru

trecerea la Windows 2000,constă în: Dotarea actuală a calculatoarelor, insuficienţa staţiile

de lucru având nevoie de mai multă memorie. Achiziţionarea de calculatoare Pentium II/III sauAthlon este costisitoare. Pentru lucrul mobil, estenevoie de notebook-uri noi sau de upgrade-uri la celevechi, iar sistemele server au nevoie de mai multămemorie.

Funcţiile de administrare extinse presupun o şcolarizare a personalului de întreţinere pentrusuportul de reţea.

Page 258: Sisteme Operare - Novac

1

SISTEMUL DE OPERARE UNIX

Page 259: Sisteme Operare - Novac

2

Noţiuni introductive

UNIX este un sistem de operare time-sharing universal.

Principala sa caracteristică este portabilitatea - disponibilitatea sa pentru majoritatea sistemelor de calcul (supercalculatoare, mainframes, minicalculatoare, sisteme de birotică, microcalculatoare).

Page 260: Sisteme Operare - Novac

3

Noţiuni introductive Oportunitatea apariţiei acestui sistem de operare a

constat din: Necesitatea standardizării şi unificării sistemelor de

operare, în special a interfeţei cu utilizatorul; Păstrarea în condiţiile transferului pe alte sisteme de

calcul, a structurii volumelor şi fişierelor; Asigurarea unor niveluri superioare de portabilitate a

produselor program; Posibilitatea interconectării de sisteme cu arhitecturi, tipuri

şi puteri diferite, sub acelaşi sistem de operare. Independenţa software-ului de aplicaţii, faţă de evoluţia

hardware.

Page 261: Sisteme Operare - Novac

4

CARACTERISTICI ŞI COMPONENTE MAJORE

In anul 1969 apare prima versiune experimentală scrisă în limbajde asamblare pentru minicalculatoarele PDP-11, al firmei DEC (Digital Equipment Corporation) pentru un singur utilizator(monouser); odată cu primul compilator pentru limbajul C (1972), UNIX a fost rescris în acest limbaj cu scopul asigurăriiportabilităţii.

În 1978 s-a realizat prima implementare comercială IS/1 (Interactive System One), urmată la scurt timp de versiuneaXENIX a firmei Microsoft.

În 1980, UNIX s-a impus ca principală soluţie de standardizare in domeniul sistemelor de operare, reprezentând o modalitate de realizare a sistemelor deschise pentru toate categoriile de sisteme de calcul.

Page 262: Sisteme Operare - Novac

5

CARACTERISTICI ŞI COMPONENTE MAJORE

După 1981, firma AT&T elaborează versiunile UNIX System III şi V, iar firma Berkeley Software Distribuitors (BSD) realizează standardele BSD 1,2,3 urmate de BSD 4.2, 4.3 şi din 1993 BSD 4.4

Companiile SUN şi AT&T au dezvoltat versiunea System V.4 în 1988, iar IBM, DEC şi Hewlett Packard au format Open Software Foundation (OSF) independent de AT&T (fig. 6.1.).

Page 263: Sisteme Operare - Novac

6

CARACTERISTICI ŞI COMPONENTE MAJORE

Page 264: Sisteme Operare - Novac

7

Caracteristici de bază:

Este un sistem de operare time - sharing, multiuser şimultitasking;

Asigură protecţia fişierelor şi execuţiei, prin existenţa unorparole şi drepturi de acces;

Dispune de intrări/ieşiri generalizate prin care operaţiile de intrare/ieşire sunt integrate în sistemul de fişiere;

Existenţa unui sistem de întreruperi logice pentrusincronizarea proceselor reentrante şi asincrone multiple;

Managementul spaţiului afectat execuţiei proceselor şicontrolul timpului de acces la procesele în aşteptare, se face prin transferul de pagini între memoria RAM şi ceaexternă;

Page 265: Sisteme Operare - Novac

8

Caracteristicile de bază:

Existenţa unei interfeţe simple şi interactive (SHELL) prin care se asigură dialogul utilizatorului cu sistemul de operare;

Caracterul de sistem deschis este conferit de asigurarea atât a portabilităţii sistemului de operare, cât şi a software-ului de aplicaţie;

Acoperirea unei vaste game de aplicaţii: compilatoare, sistemede gestiune a bazelor de date (Oracle, Gupta), reţele de calculatoare, inteligenţă artificială, simulare, gestiune, statistică, instruire asistată de calculator, etc.;

Permite execuţia aplicaţiilor în MS-DOS, în paralel cu execuţiade procese sub UNIX (submeniu pentru MS-DOS);

Întreţinere şi dezvoltare facilă.

Page 266: Sisteme Operare - Novac

9

Arhitectura sistemelor de calcul celucrează cu UNIX

Arhitectura unui sistem de calcul din punct de vedere al funcţionalităţii, se prezintă sub formă stratificată pe trei niveluri (fig.6.2.).

Nivelul de bază este nivelul fizic -nivelul la care operează hardware-ul, acesta incluzând dispozitivele fizice, microcodul şi limbajul de asamblare.

Page 267: Sisteme Operare - Novac

10

Arhitectura sistemelor de calcul celucrează cu UNIX

Page 268: Sisteme Operare - Novac

11

Arhitectura sistemelor de calcul celucrează cu UNIX

Următorul nivel -software-ul de bază sau software-ul de sistem are ca principală componentă sistemul de operare având la bază nucleul (Kernel) alături de editoare de texte, compilatoare, interpretere de comenzi şi utilitare.

Nivelul superior materializat prin software-ul aplicativ, cuprinde practic, o gamă infinită de aplicaţii.

Page 269: Sisteme Operare - Novac

12

Este de remarcat faptul că orice nivel comunică numai cu nivelul imediat inferior sau superior, furnizând servicii pentru nivelul imediat superior.

Scopul principal al SO este acela de a controla resursele hardware ale sistemului;

Se poate aprecia că SO acţionează ca o interfaţă între utilizator reprezentat prin programele de aplicaţie pe care acesta le lansează în execuţie şi componenta hardware (fig. 6.3.).

Page 270: Sisteme Operare - Novac

13

Arhitectura sistemelor de calcul celucrează cu UNIX

Page 271: Sisteme Operare - Novac

14

Componentele majore ale sistemuluiUNIX

Nucleul (Kernel) este componenta care asigură servicii de sistem pentru programelede aplicaţii asigurând gestiunii proceselor, a memoriei, a intrărilor / ieşirilor şi a timpului;

Shell - interpreterul de comenzi, reprezintă mecanismul prin care sistemul de operare realizează interfaţa între utilizator şi sistemul de calcul; interpreterele de comenzi existente pe sistemele de operare Unix sunt:

Page 272: Sisteme Operare - Novac

15

* Bourne Shell (bsh) şi Bourne Again Shell (bash) al cărui producător este firma AT&T; bsh a fost prima variantă a interpreterelor de comenzi;

* C Shell (csh) elaborat de firma Sun Microsystem; interpreterul are o sintaxă a comenzilor similară cu cea a limbajului C;

* Korn Shell (ksh) ce se constituie ca o îmbinare a variantelor anterioare.

Page 273: Sisteme Operare - Novac

16

Componentele majore ale sistemului UNIX Sistemul de fişiere cuprinde programe utilitare,

aplicative şi de gestiune a operaţiilor de intrare/ieşire.

Interfeţele disponibile utilizatorului sunt organizate pe trei niveluri:

* nivelul exterior nucleului, care poate fi accesatde către utilizator prin intermediul utilitarelor;

* nivelul intermediar, accesat prin funcţii din biblioteca limbajului C;

* nivelul inferior, a cărui accesare se realizează prin funcţiile de sistem (System Calls).

Page 274: Sisteme Operare - Novac

17

Componentele sistemului UNIX

Page 275: Sisteme Operare - Novac

18

Asemănător MS-DOS-ului care în cursul dezvoltăriisale a fost dotat cu interfeţele grafice Windows, UNIX-ul a încorporat ca principale interfeţe grafice:

* X/Windows al firmei MIT, folosită şi de SCO înversiunile Open DeskTop (ODT);

* Open Look al cărei producător au fost firmeleAT&T şi SUN;

* DEC Windows a firmei DEC. Prin urmare, există o ierarhizare a straturilor ce se interpun între utilizator şi nucleul sistemului de operare redată în fig. 6.5.

Page 276: Sisteme Operare - Novac

19

FIG.6.5

Page 277: Sisteme Operare - Novac

20

Tipuri de sisteme de operare UNIX

Principalele variante de sisteme de operare UNIX existente astăzi în domeniul software-ului de sistem precum şi sistemul de bază pe care sunt fundamentate sunt redate în fig. 6.6.

Page 278: Sisteme Operare - Novac

21

1. Fişiere obişnuite Aceste fişiere sunt constituite dintr-un şir de

bytes (memoraţi de obicei pe disc) terminat cuun marker de sfârşit de fişier (EOF). Şirul estedivizat în linii de text terminate cu caracterul"new line" (CR).

Restricţii- de lungime, format utilizat;

Sistemul de operare UNIX System V –SysV (System Five) lucrează cu următoarele tipuri de fişiere:

Page 279: Sisteme Operare - Novac

22

Fişiere speciale Fişiere speciale se constituie ca o interfaţă

între programele utilizator şi rutinele nucleului sistemului de operare, ce lucrează direct cu dispozitivele periferice de intrare/ieşire.

Astfel, utilizatorul va trata perifericele de intrare/ieşire ca fişiere, activarea unui astfel de fişier coincizând cu activarea driverului dispozitivului periferic asociat.

Page 280: Sisteme Operare - Novac

23

Fişiere speciale sunt de 3 categorii: Fişiere de tip caracter sunt fişierele care

transferă un byte printr-o operaţie de intrare/ieşire;

Fişiere de tip bloc sunt fişierele care transferă un bloc printr-o operaţie de intrare/ieşire;

Fişiere de tip pipe sunt fişiere ce constituiecanale de comunicaţie între 2 procese; comunicaţia între două procese se poate realizaîn memorie prin fişiere pipe obişnuite, sau pedisc prin aşa zisele fişiere pipe (named pipe).

Page 281: Sisteme Operare - Novac

24

Tipuri de fişiere

Cataloage de fişiere (directori) Directorii sunt cataloage de fişiere ce conţin

numele fişierelor componente şi adresa fizică peunitate simbolizată prin:

. (un singur punct) identifică numele directoruluipropriu, numit Home directory (2 bytes);

.. (două puncte) identifică numele directoruluipărinte în care fişierul cu un anumit index (inod) apare ca subdirector (14 bytes).

Aceste fişiere nu se pot citi/scrie direct de utilizator, operaţiile efectuându-se prin directive de sistem.

Page 282: Sisteme Operare - Novac

25

Structura arborescentă a sistemuluide fişiere

Sistemul de fişiere UNIX System V esteorganizat într-o structură arborescentă sub formă de directori şi subdirectori conectaţi la directorul rădăcină (/root).

Restricţia de parcurgere este ca un director să nu fie legat la nivelul superior decât printr-o singură legătură. Pentru fiecare utilizator, administratorul de

sistem creează câte un director propriu ce poate conţine subdirectori sau fişiere obişnuite.

Page 283: Sisteme Operare - Novac

26

Identificarea în cadrul structurii arborescente se realizează prin numele fişierului precedat de calea în care se află; specificarea căii se poate realiza în două moduri: - absolut, pornind din directorul rădăcină

/root; - relativ, pornind de la directorul curent.

Page 284: Sisteme Operare - Novac

27

Comenzi Unix Schimbarea directorului curent se realizează prin

intermediul comenzii: $cd caleunde cale poate fi specificată: - spre extremităţile arborelui, prin specificarea

subdirectorului dorit; - spre baza arborelui, ceea ce presupune specificarea

completă a căii; Spre deosebire de MS-DOS, la UNIX nu apare la

prompter calea curentă; determinarea căii curente se face prin comanda:

$pwd(print work directory) care va afişa calea completă;

Page 285: Sisteme Operare - Novac

28

Comenzi UnixPrin comanda $cdse revine în directorul utilizatorului atribuit la începutul

sesiunii de lucru de către administratorul de sistem(Home directory).

Crearea unui director (este permisă numai în directorul propriu atribuit de administratorul sistemului) se va specifica prin comanda:

$mkdir nume_director Ştergerea unui director se efectuează prin comanda: $rmdir nume_director Operaţia este validată numai dacă directorul este vid şi

utilizatorul are acest drept la calea respectivă.

Page 286: Sisteme Operare - Novac

29

Structura standard a sistemului de fişiereUNIX conţine următorii directori având în

componenţă: /dev fişiere speciale pentru

dispozitivele periferice: consola sistem, terminale, discuri, imprimantă, etc.;

/bin utilitare în formă executabilă: compilatoare, asambloare, instrumente pentru dezvoltarea programelor;

/lib biblioteci pentru limbaje de programare şi utilitare;

Page 287: Sisteme Operare - Novac

30

/etc programe pentru administrarea sistemului: fişiere cu parole, comenzi de iniţializare;

/tmp spaţiu temporar de manevrăfolosit de programele de sistem;

/root / unix nucleul sistemului de operare, direcţionând sistemul către/aixps2/unix.std;

Page 288: Sisteme Operare - Novac

31

Structura standard a sistemului de fişiere

/u director în care se creează Home directory pentru fiecare utilizator;

/local partiţia activă (de aici se face bootarea); /lost+found director unde se ataşează fişierele

şi directorii găsiţi ca nefăcând parte din nici un sistem de fişiere;

/usr alte programe necesare utilizatorilor; /dict lista de cuvinte, despărţirea în silabe;

Page 289: Sisteme Operare - Novac

32

Structura standard a sistemului de fişiere /man directori de fişiere text conţinând manualul

complet de utilizare. /spool -at timpul la care se prelucrează; -lpd director imprimantă; /user_1 / ... ¦ structuri de directori / ... ¦ / ... ¦ ai utilizatorilor /user_n

Page 290: Sisteme Operare - Novac

33

Protecţia fişierelor şi drepturi de acces Sistemul de operare UNIX dispune de 3 drepturi

de acces la fişiere: - dreptul de citire read (r); - dreptul de scriere write (w); - dreptul de execuţie execute (x); De asemenea, recunoaşte următoarele categorii

de utilizatori: - proprietarul (u); - grupul de utilizatori (g); - ceilalţi utilizatori (o).

Page 291: Sisteme Operare - Novac

34

Modificarea drepturilor de acces La crearea unui fişier, se asociază atât un identificator

de proprietar (uid) cât şi un identificator de grup (gid), ambele atribuite de către administratorul de sistem.

Cuvântul care păstrează fişierele şi drepturile de accesare următorul format:

Page 292: Sisteme Operare - Novac

1

UNIX

Page 293: Sisteme Operare - Novac

2

Interpretorul de comenzishell Kernel este sistemul supervizor care încarcă toate

procesele şi le execută în manieră proprie la un moment dat;

Shell este singura cale prin care utilizatorul poatecomunica cu Kernel-ul cu privire la: care programe să le execute; cine să le execute; ce să facă cu ieşirea; alte servicii utilizator; comunicarea dorinţelor utilizatorului către Kernel.

Shell primeşte comenzile de la utilizator, le decodifică şi comunică dorinţele acestuia la Kernel, deci toate comunicaţiile dintre utilizator şi Kernel sunt conduse prin Shell.

Page 294: Sisteme Operare - Novac

3

Comenzi Shell După conectarea utilizatorului la o sesiune de lucru,

este invocat automat Shell-ul (prin apariţia prompter-ului $), care informează utilizatorul că aşteaptă comenzi ce se vor introduce de la tastatură. În continuare interpreterul de comenzi Shell execută următoarele activităţi: decodifică linia de comandă (caută programul); anunţă Kernell să execute programul şi aşteaptă

(sau nu) terminarea execuţiei; primeşte răspunsul Kernell şi afişează răspunsul şi

prompterul $; reia ciclic secvenţa, până la introducerea CTRL/D

pe care o interpretează ca "sfârşit transmisie de la tastatură";

anunţă Kernell să deconecteze utilizatorul.

Page 295: Sisteme Operare - Novac

4

Comenzi Shell Linia de comandă are forma:$comandă argumente unde argumente pot fi:

- nume de fişiere, eventual calea în care se găsesc; - opţiuni urmate imediat după comandă şi precedate de -

(specifice fiecărei comenzi).De exemplu: $comp -s nf1 nf2

compară f1 cu f2 şi suprimă imprimarea (care este implicită).

Se puteau folosi şi alte opţiuni ca: -l indică forma lungă a unui serviciu efectuat de comandă; -sl serviciu lung, fără imprimare.

Page 296: Sisteme Operare - Novac

5

Fişiere standard. Redirectare şi extensii Shell deschide implicit trei fişiere standard:

tastatura, ca fişier de intrare standard având atribuit descriptorul asociat 0 (stdin);

monitorul, ca fişier standard de ieşire având asociat numărul 1 (stdout);

fişierul de afişare a erorilor cu descriptorul asociat 2 (stderr).

Pentru a redirecta intrarea/ieşirea standard se pot folosi caracterele: < pentru redirectare intrare standard; > pentru redirectare ieşire standard; >> pentru redirectare ieşire şi adăugare la fişierul

existent.

Page 297: Sisteme Operare - Novac

6

Fişiere standard De exemplu

$ls -l > nf1listare directori forma lungă în nf1 care pierde

conţinutul iniţial; $ls -l >> nf1idem, dar conţinutul iniţial nu se pierde.

Caracterele speciale (wildcards) "*" şi "?" au aceeaşi semnificaţie ca la MS-DOS, operatorul de negare fiind "!".

[..] specifică o listă de caractere ordonate sau identificate individual (separate prin virgulă).

Page 298: Sisteme Operare - Novac

7

Fişiere standard

De exemplu$rm stud. [!a-m][2,4,9] şterge fişierele cu numele stud ce nu

conţin la extensie una din literele de la a la m urmate de 2, 4,

9 (exemplu: stud.x9)

Page 299: Sisteme Operare - Novac

8

Fişiere standard Toate intrările de la tastatură sunt intorduse într-o

zonă de buffer (arie de memorie rezervată pentru stocarea caracterelor recepţionate) până când sunt solicitate de Shell, deci Shell nu prelucrează imediat intrările; la un moment dat Shell va decodifica aceste intrări, pe parcursul căreia nu va desfăşura alte activităţi; se poate astfel imagina că Shell execută două activităţi distincte conectate printr-o conductă având rolul de:

preluarea caracterelor de la tastatură şi memorarea lor ântr-un buffer;

citirea caracterelor din buffer şi decodificarea lor.

Page 300: Sisteme Operare - Novac

9

Efectuarea corecţiilor pentru caracterele introduse, se poate realiza prin operaţii de: ştergere a unui caracter (prin "#" sau

backspace introduse imediat după caracterele ce se vor şterge);

ştergerea unei linii (prin "@" sau CTRL/X după linia introdusă).

Page 301: Sisteme Operare - Novac

10

Prin comanda:$stty erase % kill & se pot înlocui caracterele de ştergere "#" cu "%" şi

"@" cu "&".

Dacă se va introduce comanda:$stty în urma execuţiei, se va afişa:

viteza terminalului exprimată în bauds (bytes/s) care poate fi modificată;

caracterele de ştergere erase='#', kill='@'; verificarea imparităţii, a terminatorului de linie şi a

ecoului caracterelor introduse.

Page 302: Sisteme Operare - Novac

11

Multitasking şi aşteptare Comanda $who

arată care utilizator este conectat, pe ce terminal şi la ce moment. UNIX permite multitasking (mai multe task-uri ce se execută

concomitent) ceea ce implică apariţia prompter-ului $ fără a aştepta execuţia completă a task-ului lansat în execuţie şi posibilitatea lansării altei comenzi; pentru a specifica execuţia (fără aşteptarea terminării) unui task se foloseşte caracterul & astfel:

$comanda1 & 31 $comanda2

la care Kernel arată numărul de identificare al procesului (pid-process identification), de exemplu

31; fără a aştepta terminarea execuţiei comandă1 Shell furnizează prompterul $ pentru a introduce altă comandă, comenzile 1 şi 2 executându-se concomitent.

Page 303: Sisteme Operare - Novac

12

Multitasking şi aşteptare Dacă prima comandă este un task în execuţie iar comanda2 este un

program interactiv (de exemplu, editorul vi), comanda2 se va încheia de către utilizator când va termina editarea, iar task-ul lansat prin comanda11 este neinteractiv (se mai numeşte proces background deoarece execuţia sa este invizibilă în timpul cât utilizatorul este ocupat cu editorul vi).

Dacă utilizatorul doreşte oprirea task-ului background va specifica acest lucru prin comanda:

$kill 31 unde 31 este numărul de identificare al procesului (pid-ul).Observaţie: pot fi lansate în execuţie mai multe procese background. Comanda $ps (process status) arată ce procese au fost lansate în execuţie, prin ce comandă şi cât

timp au fost executate, care sunt în execuţie, pentru care utilizator, etc.

Page 304: Sisteme Operare - Novac

13

Conducte şi linii de conducte Shell permite comunicarea între procese prin

conducte (pipes). Conductele sunt canale de date ce conduc ieşirea unui program către intrarea altui program, fără crearea unor fişiere intermediare; se utilizează în acest scop caracterul "¦".

De exemplu $who¦lpr ieşirea la imprimantă (prin spooler-ul imprimantei -

lpr) a utilizatorilor conectaţi, echivalează cu secvenţa: $who > fis $lpr < fis $rm fis

Page 305: Sisteme Operare - Novac

14

Conducte şi linii de conducte Atunci când se specifică o conductă (două

sau mai multe procese), Kernell starteazăexecuţia ambelor procese ca şi cum ar fiprocese background, cele 2 proceseexecutându-se sincronizat, aşteptând ieşirilepentru intrări.

De exemplu $who¦sort¦lprreprezintă o linie de conducte (pipeline) unde:

who va produce la ieşire toţi utilizatorii conectaţi; sort sortează alfabetic; lpr scrie la imprimantă prin spooler.

Page 306: Sisteme Operare - Novac

15

Limbajul de programare Shell O secvenţă de comenzi Shell poate fi constituită ca program

(numit procedură Shell) care poate fi memorat în fişiere asemănător programelor scrise în diverse limbaje şi executate la cerere.

Prin comanda: $sh [nf]

este apelată o procedură Shell ce conţine intrările în fişierul specificat prin numele nf;

- dacă nf lipseşte, implicit se consideră fişierul standard de intrare (tastatura);

Această comandă implică două copii Shell: una la pornirea sistemului, iar cealaltă la solicitarea execuţiei procedurii (prima procedură Shell preia intrări de la tastatură, iar a doua procedură preia intrările din fişierul nf).

Page 307: Sisteme Operare - Novac

16

Limbajul de programare Shell

O variabilă Shell se poate declara prin: $variabila=valoareiar referirea variabilei se face prin includerea

înaintea numelui ei, a caracterului "$".De exemplu: $ruta=/usr/user1 $cd $ruta unde $ruta este o variabilă ce substituie

calea /usr/user1.

Page 308: Sisteme Operare - Novac

17

Limbajul de programare Shell Utilizarea Shell-ului ca limbaj de programare permite

execuţia condiţionată a unor comenzi, ce se realizează prin testarea indicatorilor de stare poziţionaţi după execuţia unei comenzi în funcţie de care (True, False) se execută o acţiune.

Structura alternativă if: if grup_condiţii then grup_comenzi_1 [elif grup_comenzi_2] else grup_comenzi_3 fi ude fi este identificatorul de încheiere a structurii

alternative;

Page 309: Sisteme Operare - Novac

18

Limbajul de programare ShellStructura alternativă case: case variabilă in varianta 1)grup_comenzi_1;; varianta 2)grup_comenzi_2;; ... varianta n)grup_comenzi_n;; caseStructura repetitivă for: for variabilă [in valoare1 valoare2 ... valoaren] do grup_comenzi done unde variabilă ia valori din lista specificată prin valoare1 valoare2 ...

valoaren; dacă valoare1 valoare2 ... valoaren lipsesc, variabilă va lua pe rând valorile specificate în

procedură ca parametrii; done este terminator de buclă.

Page 310: Sisteme Operare - Novac

19

Limbajul de programare ShellStructura repetitivă while: while grup_condiţii do grup_comenzi done

unde done este terminator while;Structura repetitivă until: until grup_condiţii do grup_comenzi done

Page 311: Sisteme Operare - Novac

20

Fişiere de comenzi indirecte Una dintre cele mai importante funcţii ale

Shell-ului o constituie executarea fişierelor de comenzi indirecte (numite şi script-uri).

Un fişier de comenzi indirecte este o procedură Shell constituită ca un fişier text, care conţine comenzi similare ce pot fi introduse interactiv.

Avantajul utilizării unui astfel de fişier constă în execuţia unui set complex de comenzi prin simpla introducere a numelui fişierului care se comportă ca orice fişier executabil, fără a avea cele trei forme (sursă, obiect, executabil).

Page 312: Sisteme Operare - Novac

21

Fişiere de comenzi indirecte

Puterea limbajului de comandă constă în posibilitatea de a utiliza diferite programe –tratate ca instrucţiuni, împreună cu mecanismele de interconectare puse la dispoziţie de către Shell.

Un program lansat în execuţie primeşte anumite şiruri de caractere ce formează mediul asociat; prin Shell, se pot introduce şi alte şiruri de caractere în mediu.

Page 313: Sisteme Operare - Novac

22

Fişiere de comenzi De exemplu:

$pwd;(cd /usr/user1;pwd);pwd prin care efectul comenzii cd este anulat de întâlnirea

parantezei închise, deoarece cd a schimbat calea numai pentru subprocesul lansat pentru executarea acelei liste de comenzi.

Dacă se doreşte execuţia listei de comenzi în cadrul unui proces curent, atunci se va specifica acest lucru prin:

{listă_comenzi}Exemplu:

$pwd;{cd /usr/user1;pwd);pwd prin careefectul comenzii cd se păstrează şi după

terminarea listei de comenzi cuprinse între acolade.

Page 314: Sisteme Operare - Novac

23

Fişiere de comenzi Exemple 1) Pentru afişarea conţinutului unui director al cărui nume este

transmis ca parametru, unscript posibil ar putea fi:$dir (){>if [ $1 ==] then>echo "Apel incorect">return 1>else>(cd $1;pwd)>ls -al $1>return 0>fi>}care se va utiliza prin:$dir /usr/user1

Page 315: Sisteme Operare - Novac

24

Fişiere de comenzi 2) Secvenţa următoare încearcă să lanseze în

execuţie prog1.x; dacă nu-l găseşte, se va afişa mesajul "Nu exista fisierul prog1.x"

if [-x $HOME/prog1.x]then$HOME/prog1.xelseecho "Nu exista fisierul prog1.x"fi

[-x] afişează comenzile şi argumentele rezultatelorexecuţiei, prin substituiri efectuate înaintea execuţiei.

Page 316: Sisteme Operare - Novac

25

Fişiere de comenzi Secvenţa: case $1 in a)x=alfa;; b)x=beta;; g)x=gamma;; *)x=$1;; case echo $x

va afişa ce se va afla în parametrul specificat prin execuţia procedurii ($0 procedura, $1 primul parametru):

alfa dacă parametrul conţine a; beta dacă parametrul conţine b; gamma dacă parametrul conţine g; conţinut $1 dacă parametrul nu conţine a, b sau g;

Page 317: Sisteme Operare - Novac

26

Nucleul sistemului de operare UNIX (KERNEL) Aşa cum s-a menţionat în acest capitol, o parte a

programelor de comandă şi control sunt rezidente în RAM alcătuind nucleul sistemului de operare (Kernel) încărcat odată cu pornirea sistemului de calcul.

Nucleul sistemului se operare UNIX este acea parte a programelor de comandă şi control care activează şi controlează: alocarea timpului maşină; spaţiul de memorie; canalele de comunicaţie către diverse taskuri executate

de utilizator la un moment dat.

Page 318: Sisteme Operare - Novac

27

Structură şi funcţii

Nucleul sistemului de operare este alcătuit din următoarele componente: programul supervizor central; rutine de serviciu pentru o serie de activităţi cum ar fi

de exemplu, scrierea în memorie, gestiunea ceasului sistem, etc.

În mod normal, utilizatorul foloseşte comenzile Shell care dirijează execuţia programelor dorite sub supervizorul Kernel, acesta fiind astfel invizibil utilizatorului. Pentru utilizator, sistemul de operare UNIX apare ca fiind alcătuit din:

un set de programe, fiecare corespunzând unei anumite comenzi;

Shell-ul care dirijează comenzile şi coordonează execuţia programelor utilizatorului.

Page 319: Sisteme Operare - Novac

28

Nucleul sistemului de operare Practic însă, sistemul de operare UNIX este compus

din : un set de programe de servicii care execută funcţiile

legate de sarcinile hardware şi software; Kernel-ul care coordonează execuţia programelor de

servicii, specificate sub forma unor comenzi adresate către Shell. Programele de servicii sunt apelate atunci când sunt necesare (zona de tranziente), în timp ce supervizorul este rezident în RAM, constituind mediul software de bază pentru orice evenimente

din sistem.

Page 320: Sisteme Operare - Novac

29

Nucleul sistemului de operare-

Principalele funcţii îndeplinite de nucleul sistemului de operare:

- planificarea, coordonarea şi gestionarea execuţiei proceselor;

- furnizarea de servicii de sistem cum sunt: tratarea operaţiilor de

intrare/ieşire şi gestiunea fişierelor; - manipularea operaţiilor dependente de

hardware, întreruperile şi funcţiile de sistem; - gestiunea memoriei.

Page 321: Sisteme Operare - Novac

30

Nucleul sistemului de operare- Nucleul UNIX este alcătuit din aproximativ 10000 de

linii ce constituie codul programului care, în funcţie de sistem, se transformă într-un număr mai mare sau mai mic de cuvinte maşină (sau bytes); dintre acestea, 5 - 10% din totalul codului programelor (Shell, utilitare, KERNEL şi celelalte) este variabil funcţie de sistemul de calcul şi de setul de utilitare (fig. 6.8.).

Aşa cum rezultă din fig. 6.8, o mare parte din aceste programe este destinată gestiunii memoriei şi gestiunii proceselor, această parte evidenţiind:

- conţinutul stivei;- conţinutul registrelor sistemului;- detalii de mediu, când procesele sunt introduse

în memorie şi răspund la întreruperile procesorului.

Page 322: Sisteme Operare - Novac

31

Page 323: Sisteme Operare - Novac

32

Primitivele de sistem sunt specifice fiecărui sistem de calcul (scrise în limbaj de asamblareaproximativ 1000 linii codul programului), ele conţinând:

- operaţii de intrare/ieşire de bază; comutarea execuţiei între procese; permiterea sau inhibarea întreruperilor hardware; resetarea priorităţilor întreruperilor; alte operaţii.

Accesarea primitivelor de sistem se realizează prin apeluri (directive) de sistem (system calls) din programe în C sau în limbaj de asamblare.

Page 324: Sisteme Operare - Novac

33

Procese şi stări Un sistem de calcul poate să lucreze la un moment

dat în două moduri: utilizator, când execută un program sau proces; sistem (Kernel), când execută un cod sistem.

Comutarea între modul utilizator şi KERNEL se realizează prin următoarele mecanisme: ceasul- care întrerupe orice alt program cu frecvenţa

de 60 Hz, rutina de ceas permiţând reevaluareapriorităţilor proceselor şi implicit schimbareaprocesului; în absenţa altor întreruperi, ceasulrealizează divizarea timpului, ceea ce permite ca sistemul să fie împărţit între mai mulţi utilizatori;

Page 325: Sisteme Operare - Novac

34

Procese şi stări apeluri de sistem prin care utilizatorul solicită

diverse servicii oferite de sistemul de operare; cele care realizează operaţii de intrare/ieşire conducând la suspendarea procesului apelator pe durata transmiterii datelor;

cereri de serviciu ale perifericelor de intrare/ieşire.

Page 326: Sisteme Operare - Novac

35

Procese şi stări Informaţiile necesare procesului sunt memorate în: a) tabela proceselor constituită în memorie, ce

conţine o intrare pentru fiecare proces detaliind starea acestuia:

localizarea procesului; adresa de memorie şi adresa de evacuare; mărimea procesului; numărul de identificare; identificatorul utilizat;

b) tabela utilizator, care este ataşată fiecărui proces activ la rutinele nucleului lui (fig.6.9).

Page 327: Sisteme Operare - Novac

36

Procese şi stări

Crearea unui proces implică astfel iniţializarea unei intrări în tabela procesului, care iniţializează o tabelă a utilizatorului creând totodată textul real şi datele pentru proces.

Page 328: Sisteme Operare - Novac

37

Procese şi stări

Schimbarea stării unui proces (se execută, aşteaptă, este evacuat, esteîncărcat, primeşte un semnal) este o activitate ce se focalizează pe tabelaprocesului (fig. 6.10.):

Page 329: Sisteme Operare - Novac

38

Fig.6.10

Page 330: Sisteme Operare - Novac

39

Procese şi stări - terminarea unui proces implică eliberarea

intrării sale în tabela proceselor, putând fi folosită pentru alte procese;

- când procesul este activ, au loc alte evenimente, de exemplu aşteptarea terminării unei operaţii de intrare/ieţire;

- pe durata suspendării unui proces, tabela utilizatorilor nu este accesată sau modificată;

- dacă procesul este evacuat pe disc, este evacuată şi tabela utilizator în cadrul imaginii procesului; tabela utilizator (structură a utlizatorului) conţine în acel moment:

Page 331: Sisteme Operare - Novac

40

Procese şi stări - numele de identificare al utilizatorului şi al grupului

din care face parte, pentru stabilirea drepturilor de acces;

- pointerii din tabela de fişiere existente în sistem, pentru toate fişierele deschise;

- un pointer către inod-ul directorului curent în tabela de inod-uri;

- o listă a răspunsurilor pentru diverse semnale. Informaţia curentă despre un proces se schimbă prin

execuţia directivei chdir când este schimbată valoarea pointerului către inod-ul directorului curent.

Page 332: Sisteme Operare - Novac

41

Comunicaţia între procese Comunicaţia prin fişiere Comunicaţia prin intermediul fişierelor oferă avantajul

simplităţii de realizare şi o modalitate directă prin care se poate efectua comunicarea. Dezavantajul constă în aceea că este sarcina programatorului să controleze accesul concurent, prin testarea ciclică a momentului eliberării zonei critice.

Exemplu while ((f=creat("fişier",0111))<0) sleep(2); < zona critică > unlink("fişier"); prin care primul proces care reuşeşte să creeze fişierul, va trece

la execuţia instrucţiunilor din regiunea critică; până ce nu vaexecuta funcţia unlink, orice alt apel al funcţiei de creare a unuifişier (creat), va bloca procesul prin apelul funcţiei sleep.

Page 333: Sisteme Operare - Novac

42

Comunicaţia între procese Comunicaţia prin fişiere de tip pipe Fişierele de tip pipe sunt fişiere obişnuite la

care însă operaţiile de citire/scriere se realizează într-o ordine prestabilită FIFO (First Input First Output); aceste fişiere sunttranzitorii, datele citite într-o manieră stricta a ordinii în care au fost scrise respectând regulade sincronizare

producător/consumator (o dată citită dintr-un fişier nu mai poate fi reluată, iar memorarea se face ca la orice fişier utilizând însă numai blocuri adresate direct).

Page 334: Sisteme Operare - Novac

43

Fisiere La UNIX există două tipuri de fişiere pipe, fiecare

generând anumite particularităţi ale modului în care se realizează comunicaţia:

1) fişiere fără nume care se crează cu directiva pipe(p) unde p reprezintă descriptorul de fişier astfel: p[0] pentru citire p[1] pentru scriere. De remarcat că în blocurile alocate fişierelor (de

regulă numai primele 10 blocuri de disc) alocarea se realizează conform algoritmului Round-Robin.

Page 335: Sisteme Operare - Novac

44

Fisiere 2) Fişierele pipe cu nume oferă câteva facilităţi

comparativ cu fişierele pipe fără nume: - se crează într-un director ca orice fişier obişnuit prin

directiva mknod cu tipul fişierului 010000; - la deschiderea sa prin directiva open, se poate

specifica blocarea procesului ce încearcă să deschidă pentru citire un fişier pipe nedeschis anterior pentru scriere;

- se va şterge explicit prin directiva unlink; - datorită unui nume de identificare este permisă

accesarea lui de către orice procese independente.

Page 336: Sisteme Operare - Novac

45

Comunicarea prin zone de memorie comune Zonele de memorie comune permit proceselor să utilizeze în

comun, o zonă de memorie prin transferul unei zone din spaţiul virtual al proceselor; accesul este controlat integral de programator.

O zonă de memorie comună este definită prin: - identificator; - segment de memorie; - o structură de date ce include:

* numărul de identificare al utilizatorului care a creat zona, al utilizatorului curent şi al grupului;

* dimensiunea segmentului; * identificatorul procesului care a accesat zona de memorie; * numărul de procese care partajează această zonă; * alte informaţii.

Page 337: Sisteme Operare - Novac

46

Comunicarea prin cozi de mesaje Principiul de comunicaţie prin intermediul cozilor de

mesaje constă în comunicarea prin intermediul unei cozi circulare de mesaje gestionată de nucleul sistemului de operare.

Transmiterea se realizează cu sincronizare, deci procesele ce solicită primiri de mesaje se vor bloca până ce recepţionează mesajul solicitat, iar cele ce doresc să emită, se vor bloca dacă nu există nici un proces care să recepţioneze iar coada de mesaje este plină.

Mesajele ce se transmit sunt caracterizate printr-un tip (reprezentat printr-un număr la alegere), iar recepţia se poate face prin specificarea tipului.

Page 338: Sisteme Operare - Novac

47

Gestiunea fişierelor speciale Toate operaţiile de intrare/ieşire sunt privite

ca operaţii cu fişiere, Shell nerecunoscând existenţa unităţilor periferice, deci Kernel ascunde unităţile fizice reale sub forma unor fişiere aparente.

Fiecare unitate fizică este înzestrată cu un program special (driver) care translatează acţiunile solicitate de unităţile virtuale astfel încât utilizatorul poate comunica cu orice unitate ataşată sistemului fără nici o deosebire, dacă aceasta dispune de driverul corespunzător.

Page 339: Sisteme Operare - Novac

48

Fisiere Fişierele disc sunt organizate fizic în blocuri

de 512 bytes, fiecare fişier având alocat un număr întreg de blocuri. Blocurile nu trebuiesă fie neapărat contigue pe disc, spredeosebite de alte sisteme ce impun acestlucru. Atribuirile standard pentru fişiereimplicit sunt:

0 fişier standard de intrare - tastatură; 1 fişier standard de ieşire - ecranul

terminalului; 2 ecranul de intrare al terminalului, ce

serveşte gestionării mesajelor de eroare şi a informaţiilor de diagnostic.

Page 340: Sisteme Operare - Novac

49

Fisiere Identificarea fişierelor se realizează prin: - intrările din directori care identifică fişierele printr-un număr de index

asociat fiecărui fişier; numărul de index pentru orice volum fizic, este punctator într-o altă tabelă rezidentă pe volum

(index-listă); - intrările în lista de indecşi ale fiecărui volum, conţin un număr de

intrări numite inod-uri, motiv pentru care lista de indecşi se mai numeşte tabelă de inod-uri;

- un inod conţine o serie de informaţii cu privire la fiecare fişier: * numărul de identificare al user care a creat fişierul; * starea de protecţie a fişierului (ReadOnly,Open,etc); * 13 cuvinte ce arată blocurile unităţii ocupate de fişier; * dimensiunea fişierului; * data la care a avut loc ultima modificare; * de câte ori a fost referit în directori; * biţii de identificare a directorilor, fişierelor speciale şi a fişierelor mari.

Page 341: Sisteme Operare - Novac

50

Fisiere

Corespondenţa nume fişier-index este disponibilă prin comanda ls-i şi se numeşte legătură (link), aceasta servind drept mijloc de identificare şi gestiune a fişierului; alte comenzi ce afectează legăturile:

mv - mută legătura; ln - crează o legătură; rm - şterge o legătură;

Page 342: Sisteme Operare - Novac

51

Page 343: Sisteme Operare - Novac

52

Unix vs MS-Dos

Page 344: Sisteme Operare - Novac

53

POSIBILITATEA RETELELOR INTERNET/INTRANET

Page 345: Sisteme Operare - Novac

54

SCALABILITATEA ŞI SECURITATEA

Page 346: Sisteme Operare - Novac

55

SISTEMUL DE CONTROL

Page 347: Sisteme Operare - Novac

56

Shell

Acest termen este mult mai simplu de explicat si echivalat: promptul DOS este un shellpentru sistemul de operare DOS - din el se pot lansa în execuţie programe, se pot da comenzi pentru copiere, ştergere, mutare fişiere etc.

Page 348: Sisteme Operare - Novac

57

In UNIX exista ceva similar, insa exista mai multe standarde shell (bash, csh, sh, ksh) si in plus la un moment dat pot fi rulate mai multe shell-uri (cam ca in Windows, unde se pot rula mai multe DOS prompt-uri); nu contează tipul lor, ele sunt tratate de sistemul de operare ca simple programe.

Page 349: Sisteme Operare - Novac

58

Sistem de fişiere În UNIX se întâlneşte acelaşi stil de structura arborescenta

cu directoare şi subdirectoare ca şi în DOS. Se pot utiliza nume lungi (256 de caractere) şi se face

diferenţa între litere mici şi mari. Sub UNIX nu mai au importanta extensiile fişierelor. Sub DOS exista atribute ale fişierelor, dar in UNIX exista

ceva mai avansat: drepturi asociate fiecărui fişier pentru citire, scriere şi execuţie în triplu exemplar - pentru proprietarul fişierului, pentru grupul din care face parte acest proprietar si pentru alţii (dacă vreţi să le vedeţi, tastaţi "ls -l").

Page 350: Sisteme Operare - Novac

59

Chiar daca un fişier este executabil, el nu poate fi rulat daca nu are setat dreptul de execuţie pentru cel care-l lansează - nu are importanta daca i-aţi pus extensia exe in virtutea obişnuinţei. Pentru a naviga si pentru a manipula fişiere, puteţi folosi comenzi asemănătoare celor DOS: cp - copy, ls -dir, cd, rm - del etc.

Page 351: Sisteme Operare - Novac

60

Drivere In DOS, driverele se încarcă din CONFIG.SYS

(de exemplu, device = c:\dos\himem.sys), pe când in UNIX-urile tradiţionale driverele sunt incluse in kernel (atunci când este compilat kernel-ul se specifica acele drivere ce vor fi clădite in kernel).

Solutia moderna este cea a nucleelor modulare: se pot încarcă dinamic module ce conţin drivere (pentru floppy, de exemplu) si nu mai este nevoie de recompilarea kernel-ului.

Page 352: Sisteme Operare - Novac

61

Aceasta metoda asigura un consum mai mic de memorie, deoarece la un moment dat se încarcă in memorie numai driverele utile, pentru perifericele (CD, unitate de banda etc.) instalate.

Page 353: Sisteme Operare - Novac

1

PROCESE SUB UNIX

Page 354: Sisteme Operare - Novac

2

1. CREAREA PROCESELOR Un proces este un program in execuţie. Un proces este dinamic, pe când progra-

mul este static. Pentru un program executabil pot exista la

un moment dat unul sau mai multe procese asocite, numite instanţe.

Un proces sub UNIX este constituit din: segment de text (cod); segment de date; segment de stiva.

Page 355: Sisteme Operare - Novac

3

Segmentul de cod Reprezinta partea pură, nemodificabilă a

programului. Teoretic în timpul execuţiei se poate modifica

orice instrucţiune a programului (ca şi date-le), dar acest lucru nu este recomandat şi este evitat sau chiar interzis prin mecanismeale sistemului de operare.

Sub UNIX mai multe procese care au seg-mente de cod identice, pot utiliza în comun o singură copie din memorie a acestor segmen-te de cod.

Page 356: Sisteme Operare - Novac

4

Segmentul de date

Cuprinde atât zonele alocatestatic, încă de la începutulexecuţiei programului, cât şi zonelealocate dinamic în timpulexecuţiei, prin funcţii cum ar fi:malloc, calloc, realloc, sau free.

Page 357: Sisteme Operare - Novac

5

Segmentul de stiva Cuprinde informaţiile prin care se realizează apelurile la

funcţii şi proceduri: în stiva se stochează parametrii de apel şi datele locale, care se şterg la încheierea procedurii sau funcţiei.

Execuţia unui proces utilizator se poate face în douămoduri: mod utilizator, în care procesul are acces numai la

propria zona de cod, date şi stivă; mod nucleu, în care procesul poate avea acces la

structurile de date ale nucleului (nucleul devine o parte integrantă a procesului utilizator)

Page 358: Sisteme Operare - Novac

6

Un proces trece din modul de lucru utilizator în modul nucleu când lansează un apel sistem sau când generează o întrerupere.

Pentru aceasta situaţie, oricarui proces i se asociază o stiva nucleu, care va stoca parametrii aferenţi apelurilor sistem.

Page 359: Sisteme Operare - Novac

7

Un proces are ataşate mai multe atribute dintre care cele mai importante sunt:

IDentificatorul procesului (PID -unic), ID părinte, ID grup, ID utilizator real, ID utilizator efectiv, etc.

Un proces are atasati diverşi descriptori:structuri de date care păstreaza starea plus toate informaţiile esenţiale pentru continua-rea procesului, din locul în care execuţia sa a fost suspendată la un moment dat.

Page 360: Sisteme Operare - Novac

8

2. OPERATII ASUPRA PROCESELOR

Sub UNIX se pot efectua mai multe tipuri de operaţii aupra proceselor, cum ar fi: crearea şi distrugerea (terminarea) proceselor, “adormirea”şi “trezirea” lor, asigurarea comunicării între procese, sincronizarea acţiunilor proceselor ş.a.

Operaţii foarte importante, legate de procese, sunt crearea (naşterea) unui proces şi punerea în execuţie a unui nou proces.

Naşterea unui proces este realizată întotdeuna de un proces părinte şi constă în crearea unui pro-ces fiu, având identificator şi descriptor propriu.

Page 361: Sisteme Operare - Novac

9

Crearea unui nou proces se poate face prin doua metode:

1. Prin copierea codului procesului parinte:- operaţia de creare proces fiu se numeşte în acest caz fork (duplicare);- procesul fiu primeşte un identificator (PID) diferit faţă de cel al părintelui; - controlul este dat procesului fiu, exact în locul în care se află procesul părinte;- procesul fiu rulează în paralel cu procesul părinte.

Page 362: Sisteme Operare - Novac

10

2. Prin punerea în execuţie de către procesul părinte a unei noi imagini, provenind dintr-un fişier executabil de pe disc:

- operaţia de creare proces fiu se numeşte în acest caz exec;- procesul fiu primeşte acelaşi identifica-tor ca şi părintele;- controlul este dat procesului fiu din punctul de start;- procesul părinte este înlocuit de proce-sul fiu (se “sinucide” prin crearea fiului).

Page 363: Sisteme Operare - Novac

11

De multe ori se considera ca metoda 2 nu este o metodă veritabilă de creare procese (în sens UNIX - cu PID diferit!) şi se spune că singura modalitate de creare de noi procese sub UNIX este apelul sistem fork.

Singurul proces de sub UNIX care nu a fost creat ca urmare a unui fork, este procesul cu PID 0, numit swapper.

Page 364: Sisteme Operare - Novac

12

Exemplu:

# include <stdio.h># include <sys/types.h>int main (void){ pid_t pid_fiu ;pid_fiu = fork( ) ;printf(“Identificator proces :\n”, pid_fiu) ; }

Page 365: Sisteme Operare - Novac

13

Apelul sistem fork returnează:

- PID fiu în procesul părinte şi 0 în procesul fiu, în caz de succes (fiu creat);

- (-1) în caz de eroare (fiul nu se poate crea).

Fiul poate afla Pid-ul procesului părinte prin apelul getppid; orice proces poate afla PID propriu prin funcţia sistem (apelul sistem) getpid.

Page 366: Sisteme Operare - Novac

14

3. STARILE UNUI PROCES SUB UNIX

În timpul existenţei sale, un proces se poate afla în una din următoarele stări:

- in executie - RUN (procesul este executatde UC în mod nucleu sau în mod utilizator);

- gata de executie - READY (procesul este pregătit de execuţie, asteptând resursa UC);

- blocat - WAIT, ASLEEP (proc. este în aşteptarea producerii unui eveniment extern, fără de care el nu îşi poate continua execuţia).

Page 367: Sisteme Operare - Novac

15

Aceste stări (care se întâlnesc la toate sistemele de operare ce lucrează în regim de multiprogramare UC), pot avea în cazul UNIX unele particularităţi.

Page 368: Sisteme Operare - Novac

16

Starile unui proces sub UNIX, precum şi tranzitiile între stări sunt :

Page 369: Sisteme Operare - Novac

17

În urma apelului sistem fork se încearcă duplicarea procesului care a lansat fork.

Dacă există memorie internă suficientă pentru a se face această duplicare, procesul fiu se va crea şi va fi trecut in starea READY (gata de execu-ţie).

Din starea READY, procesul nou creat (dacă are o prioritate corespunzătoare) va trece în starea RUN în mod nucleu, iar apoi, după încheierea apelului fork, în starea RUN în mod utilizator.

Page 370: Sisteme Operare - Novac

18

Dacă întreruperea de ceas apare cât timp procesul rulează în modul nucleu, şi dacădupă tratarea înteruperii de ceas nucleul decide că UC va fi acordată altui proces decât celui ce rula mai înainte, acesta va fi trecut în starea READY preemptat.

Un proces care rulează în mod nucleu (a lansat un apel sistem) şi care trebuie săaştepte un eveniment, este trecut în starea WAIT până la producerea acelui eveniment.

Page 371: Sisteme Operare - Novac

19

Pentru terminarea un proces lansează apelul sistem exit, şi ca urmare el este trecut în starea TERMINAT (zombie), caz în care îşi păstreaza intrarea în tabela proceselor, dar nu mai dispune de nici o resursă.

Intrarea sa din tabela proceselor va fi eliberată de părinte sau de procesul init.

Page 372: Sisteme Operare - Novac

20

4. PRIORITATEA PROCESELOR SUB UNIX

Prioritatea unui proces se calculează dinamic sub UNIX din secundă în secundă, după formula:

prioritate = baza + utilizare_recenta_UC / constanta + valoare_nice

baza = 60 (numărul de întreruperi de ceas/sec.); utilizare_recentă_UC = numărul_de_tacturi _UC

/2; valoare_nice = 0; constantă = 2.

Page 373: Sisteme Operare - Novac

21

5. APLICAŢIII. Să se studieze paginile de manual ale

apelurilor sistem fork, vfork, getpid, getppid, ps, nice, kill, fg.

II. Să se rezolve exerciţiile următoare:1. Să se testeze comanda ps. Să se explice

semnificaţia valorilor ce apar în coloana cereprezintă starea procesului. Să se găseascăcorespondenţa cu starile prezentate în sectiunea 3 a acestei prezentări– dacă existăvreuna.

Page 374: Sisteme Operare - Novac

22

1. Să se creeze un script Shell care ciclează la infinit. Să se lanseze în background cu prioritate redusă. Să se oprească apoi procesulrespectiv.

Page 375: Sisteme Operare - Novac

23

2. Să se implementeze şi testeze exempluldin paragraful 2. Să se modifice acestexemplu astfel încât pe ecran să apară o singură valoare, PID-ul procesului fiu. Săse trateze cazurile de eroare.

Page 376: Sisteme Operare - Novac

24

3. Să se modifice ex. de la sectiunea 2a.î să se afişeze atât PID-ul procesuluifiu cât şi al procesului părinte, pentruambele procese. Să se modifice acestexemplu a.î procesul fiu să cicleze la infinit iar procesul părinte să se termine şi invers. În care din cele două variante unul dintre procese devine zombie?

Page 377: Sisteme Operare - Novac

25

5. Să se creeze un script shell care afisează arborescent toate procesele care rulează în sistem, similar cu comanda pstree.

Indicaţie:ps, cut, recursivitate.