Sunteți pe pagina 1din 377

SISTEME DE OPERARE

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

Cuprins
Sistem de operare - Noiuni generale Funciile unui sistem de operare Componentele unui sistem de operare Servicii pentru aplicaii Categorii de programe Resursele sistemului de calcul

Introducere
Un sistem de calcul nu poate s prelucreze date

fr s fie programat; Un program - succesiune de instruciuni ce converg ctre soluia problemei ce se rezolv. Exist dou categorii de programe: 1). Programe de aplicaii - destinate s rezolve probleme specifice; acestea efectueaz prelucrri ale datelor, n concordan cu cerinele problemei.

Introducere
2). Programe de sistem - coordoneaz operarea

circuitelor sistemului, asistnd la dezvoltarea programelor de aplicaii; ele sunt proiectate s faciliteze utilizarea eficient a resurselor sistemului de calcul i s ajute la dezvoltarea si execuia programelor de aplicaii. Programele de sistem sunt scrise pentru anumite categorii de sisteme de calcul i nu pot fi folosite pe orice calculator; Sunt furnizate de ctre productorii sistemelor de calcul sau alte firme specializate; Sunt proiectate s corespund unei game variate de solicitri.
4

Componenta software a unui sistem de calcul


Software de baz - programele care asigur servicii

generale i se adreseaz tuturor utilizatorilor sistemului de calcul. Sistemul de operare (SO) - acioneaz ca o interfa ntre sistemul de calcul i utilizator. Sistemul de operare are rolul de a coordona i supraveghea funcionarea calculatorului 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 programe dedicate, specifice fiecrui limbaj de programare folosit de utilizator.
5

Sistemul de programe utilitare

(software utilitar), care include programe cu un grad mare de generalitate, puse la dispoziia utilizatorilor pentru a realiza anumite prelucrri specifice asupra informaiilor, prelucrri comune pentru toi utilizatorii unui sistem de calcul. Software de aplicaie
6

DEFINIIE
Un sistem de operare este o colecie

integrat de programe de sistem, ce ofer utilizatorului posibilitatea folosirii eficiente a sistemului de calcul, concurnd la dezvoltarea programelor de aplicaie.

SO - interfaa ntre hardware i utilizator


Se poate aprecia c un sistem de operare acioneaz

ca o interfaa ntre componenta hardware a unui sistem de calcul i utilizator, reprezentat prin programele sale de aplicaie (fig.1.1).

Organizarea SO
Majoritatea sistemelor de operare sunt

organizate pe dou niveluri: 1). Nivelul fizic care este mai apropiat de partea de hardware, interfernd cu aceasta printr-un sistem de ntreruperi ce semnalizeaz anumite evenimente deosebite ce au loc n sistem; n acel moment va da controlul unor rutine de pe nivelul logic n vederea tratrii acestora i al informrii utilizatorului despre cauzele care le-au generat.
9

Organizarea SO
2) Nivelul logic este mai apropiat de utilizator, interfernd cu acesta prin: - comenzi ce specific execuia anumitor subfuncii ale sistemului de operare; - macroinstruciuni; - limbaje de programare; - mesaje ctre utilizator; - ntreruperi solicitate de ctre software.
10

Funciile unui sistem de operare


Pentru a ndeplini rolul de interfa ntre hardware i

utilizatori, un sistem de operare trebuie s fie capabil a ndeplini urmtoarele funcii: 1). Oferirea posibilitii de pregtire i lansare n execuie a programelor de aplicaie (fig.1.2.); n acest scop, un sistem de operare trebuie s dispun de cel puin urmtoarele componente: - 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 instruciunile programului surs, ntr-o form recunoscut de sistemul de calcul (form binar) - program obiect sau module obiect (PO);
11

Funciile unui sistem de operare


- un editor de legturi care s realizeze legtura dintre diverse module obiect, sau s apeleze la module obiect din bibliotecile sistemului, respectiv la modulele obiect din biblioteca utilizatorului - care au fost catalogate n prealabil, pentru a construi structura pe segmente impus de sistemul de calcul n vederea execuiei programelor (program obiect executabil-POE)
12

13

Funciile unui sistem de operare


2). Alocarea resurselor necesare execuiei

programelor prin: - identificarea programelor ce se execut i a necesarului de resurse; - alocarea memoriei interne i a dispozitivelor periferice; - identificarea i protecia coleciilor de date.

14

Funciile unui sistem de operare


3). Acordarea unor faciliti prin utilitare de interes general:
gestiune cataloage (directori, subdirectori) i fiiere; creare, modificare, copiere, mutare, tergere, recuperare directori i fiiere; sortare/interclasare; comprimare/decomprimare spaiu pe suporturile de memorie extern; depistare i eliminare virui informatici i altele.

15

Funciile unui sistem de operare


4). Planificarea execuiei mai multor programe (multiprogramare) dup anumite criterii, n vederea utilizrii eficiente a unitii centrale de prelucrare.

16

Funciile unui sistem de operare


5). Coordonarea execuiei mai multor

programe ce se execut simultan, prin urmrirea modului de execuie a instruciunilor programelor, depistarea i tratarea erorilor, lansarea n execuie a operaiilor de intrare/ieire

17

Funciile unui sistem de operare


6). Asistarea execuiei programelor de ctre utilizator, prin comunicaia sistem de calculutilizator att la nivel hardware ct i la nivel software. 7). Asigurarea organizrii i proteciei datelor n memorie. 8). Posibilitatea generrii unui sistem de operare pe msura configuraiei existente.

18

Componente SO
n mod tradiional, sistemul de operare este

constituit din trei componente: nucleu (denumit i kernel), shell (interpretor de comenzi) i sistemul de fiiere.

Nucleul include funciile de nivel jos care vor fi ncrcate n memorie dup execuia procesului de iniializare a calculatorului.

Un exemplu este modulul care realizeaz controlul fluxului de date ntre memorie i unitile de I/E. Pentru sistemul de operare MS-DOS, nucleul este fiierul ascuns msdos.sys (ibmdos.com).
19

Componente SO
Shell-ul sau interpretorul de comenzi asigur interfaa ntre utilizator i calculator (spre exemplu, shell-ul sistemului de operare MSDOS este fiierul command.com). Sistemul de fiiere - reprezint, pe scurt, modalitatea de organizare a fiierelor pe disc. Exist o diversitate de sisteme de fiiere, de la FAT16, FAT32 i NTFS pentru sistemul de operare Windows pn la NFS (Network File System), RFS (Remote File Sharing) i AFS (Andrew File System) pentru sisteme de operare din familia UNIX.

20

Servicii pentru aplicaii


Un sistem de operare realizeaz urmtoarele servicii pentru aplicaii: n cazul sistemelor de operare multitasking, cnd programe multiple pot fi ncrcate n acelai timp, sistemul de operare stabilete ce aplicaii se vor executa, n ce ordine i ct timp se aloc fiecrei aplicaii nainte de a se da controlul alteia; Administrarea memoriei centrale, care este alocat diverselor aplicaii; Administrarea intrrilor i ieirilor de la/spre dispozitivele conectate (hard disc, imprimant, scanner);

21

Servicii pentru aplicaii


Emiterea de mesaje ctre aplicaii sau

utilizatorul interactiv (sau operatorul de sistem) despre starea operaional i orice eroare care poate apare; Pe calculatoarele care realizeaz prelucrri paralele, sistemul de operare poate decide modul n care este divizat programul, astfel nct s fie executat pe mai multe procesoare n acelai timp.
22

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 destinate minimizrii efortului uman implicat de utilizarea sistemului de calcul.

23

Resursele sistemului de calcul


Pentru a executa un program, ntr-un

sistem de calcul secvenial cu program memorat, este necesar ncrcarea acestui program n memoria intern a sistemului de calcul.
Sub controlul unitii centrale de

prelucrare (UCP) sunt executate, secvenial, instruciunile programului.


24

Dup caz, executarea unei instructiuni program poate presupune:


Alocarea

unittii 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;

25

Dup caz, executarea unei instructiuni program poate presupune:


Alocarea

de spatiu n memoria extern a sistem de calcul, pentru stocarea informaiilor manevrate de program; Accesarea unei anumite structuri de date (de ex. un fiier din memoria extern); Apelul, pentru execuie, a unui alt program, ncrcat n memoria intern sau memorat n memoria extern a sistemului de calcul, etc.
26

Resursele sistemului de calcul


Resursele sistemului de calcul, pe care

sistemul de operare le pune la dispoziia utilizatorului, se constituie din totalitatea componentelor fizice sau logice ale sistemului de calcul, care pot fi solicitate, la un moment dat, n timpul execuiei unui program. Execuia unui program se definete ca o succesiune de procese care se realizeaz sub controlul sistemului de operare.
27

Procesul
Reprezint o secven de activiti care se

execut la un moment dat n sistemul de calcul i care se caracterizeaz prin:


prelucrrile care se realizeaz, determinate de secvena de instruciuni care controleaz procesul; contextul de lucru asupra cruia acioneaz procesul, prin intermediul prelucrrilor, i care include resursele alocate procesului.

28

Pentru a realiza alocarea unei resurse la un

proces, sistemul de operare trebuie s aib rspuns la urmtoarele ntrebri, dup caz:
dac resursa cerut exist n sistem ; dac ea este disponibil; ct din resurs este disponibil; pentru ct timp poate fi alocat resursa; dac resursa este deja alocat altui proces, dac ea mai este necesar procesului cruia i este alocat.

29

SISTEME DE OPERARE
GESTONAREA RESURSELOR

Funcii pentru gestionarea resurselor


Evidena resurselor sistemului de calcul n fiecare moment, prin nregistrarea fiecrei resurse, a strii ei (alocat sau liber) i a gradului ei de ocupare (ct din resurs este alocat); Implementarea unor algoritmi de alocare a resursei, conform unei strategii de alocare stabilite;

Strategii de alocare a resurselor


O strategie de alocare trebuie s rspund la ntrebrile:

Crei solicitri i se aloc resursa; Ct din resurs se aloc; n ce moment se face alocarea; Pentru ct timp se face alocarea resursei.

Alocarea efectiv a resursei se efectueaz odat cu actualizarea informaiilor legate de starea ei;

Dezalocarea resursei care poate fi fcut:


La initiativa procesului care a solicitat-o, atunci cnd ea nu mai este necesar procesului; La initiativa sistemului de operare, pentru a fi alocat i altor procese.

Componenta de comand i control


Activitatea

de lansare n execuie a unui program, activitatea de gestionare a alocrii resurselor sistemului de calcul, pe toat durata executrii programului, ca i operaiile efectuate la ncheierea execuiei acestuia, sunt funcii realizate de componenta de comand i control a sistemului de operare.

Funciile componentei de comand i control ale sistemului de operare sunt:


1. 2. 3.

4.

Planificarea, lansarea i urmrirea execuiei programelor; Gestionarea resurselor sistemului de calcul; Depistarea i tratarea evenimentelor deosebite care apar n timpul execuiei programelor; Asigurarea proteciei informaiilor manevrate de diverse programe (aceste programe pot fi ale sistemului de operare sau programe utilizator).

Componenta de comand si control

Conform acestor funcii, componenta de comand i control a sistemului de operare va include:

Nucleul sistemului de operare, cu funcia de coordonare a activitii sistemului de calcul i a celorlalte componente ale SO. Aceast component este rezident n memoria intern pe toat durata funcionrii sistemului de calcul i se mai numete monitorul rezident al SO. Cte o component de gestionare pentru fiecare tip de resurs din sistem.

Componenta de servicii - CS
CS a SO s-a dezvoltat odat cu cerinele 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 influenate de existena i eficiena programelor de sistem incluse n componenta de servicii. Programele de servicii se execut sub supravegherea programelor de comand i control, ca orice program de aplicaie.

Componenta de servicii poate include:

Unul sau mai multe programe ncrctor 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 ctre utilizator, asigu-rnd astfel comunicarea ntre utilizator i sistemul de operare; Funcia de gestionare a dialogului cu utilizatorul, fie n mod comand, oferind mecanisme de editare a comenzilor, fie n mod grafic, prin intermediul unei interfee grafice cu utilizatorul (GUI - Graphical User Interface); Funcia de nlnuire prin date a comenzilor SO are mecanismul pipe, de interpretare a comenzilor agregate sub forma unor macrouri sau a unor fiiere de comenzi ;
9

Componenta de servicii

Functia de asisten on line pentru SO, cunoscut ca Help-ul sistemului de operare; Funcia de tipul plug and play care ofer faciliti de autodetecie a echipamentelor nou instalate n sistem i permite reconfigurarea hardware, cu uurin, a sistemului, ca i notificarea schimbrii configurrii sistemului, de exemplu prin cderea unui echipament din sistem; Funcia care ofer suportul pentru utilizarea limbii naionale, adic adaptarea informaiilor cu caracter naional (semn monetar, marc zecimal) conform rii selectate ; Funcii pentru configurarea personalizat a mediului de lucru cu sistemul de calcul, de exemplu pentru utilizatori cu opiuni speciale de manevrare a echipamentelor (tastatur, mouse, etc.)
10

Clasificarea sistemelor de operare din punctul de vedere al execuiei proceselor

Pentru utilizarea eficient a resurselor sistemului de calcul, unele SO pot gestiona execuia concurent mai multor procese, asigurnd proceselor din sistem accesul concurent la resursele sistemului sau partajarea resurselor . Aceasta nseamn c, la un moment dat, n sistem se pot afla n execuie mai multe procese care concureaz ntre ele pentru accesul la resursele sistemului iar SO gestioneaz resursele sistemului pentru satisfacerea ct mai multor cereri ale acestor procese pentru alocarea de resurse.
11

Clasificarea sistemelor de operare din punctul de vedere al execuiei proceselor


Sistemele de operare pot fi:
1. Monotasking, care nu asigur execuia concurent i nici partajarea resurselor ntre mai multe procese. Sub controlul unui SO monotasking, la un moment dat, n sistemul de calcul se poate executa un singur program; acesta rmne activ din momentul lansrii lui n execuie i pn la terminarea lui complet; ct timp este n execuie, programul are acces la toate resursele sistemului de calcul. Exemplu: sistemele de operare MS-DOS si CP/M sunt sisteme de operare monotasking; n timpul executrii unui program, sistemul de operare pierde controlul asupra sistemului, n favoarea programului aflat n execuie, care preia controlul pn n momentul ncheierii execuiei sale.
12

Clasificarea sistemelor de operare din punctul de vedere al executiei proceselor


2. Multitasking sunt acele SO care asigur execuia concurent a mai multor procese care exist concomitent n sistem. Exemplu: sistemele de operare Windows, Unix. n plus fa de SO monotasking, pentru un SO multitasking trebuiesc definite strategiile de alocare a resurselor la procesele concurente, strategii care vor fi folosite de componentele sistemului de operare pentru gestionarea resurselor.
13

Clasificarea sistemelor de operare dup gradul de interaciune cu utilizatorul

Din punctul de vedere al accesului utilizatorilor la sistem i al gradului de interaciune cu sistemul, sistemele de operare pot fi:

Seriale, acele SO pentru care gradul de interaciune cu utilizatorul, n timpul prelucrrilor, este nul. De cele mai multe ori, interfaa dintre SO i utilizator nu dispune de un limbaj de comand accesibil utilizatorului obinuit, motiv pentru care comunicarea dintre utilizator i sistem nu este direct ci mediat de persoane specializate ca operatori de calculator. n timpul execuiei lucrrii sale, utilizatorul pierde total controlul asupra prelucrrii; el furnizeaz datele care se prelucreaz odat cu formularea cererii de prelucrare i primete rezultatele prelucrrii la ncheierea execuiei.
14

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 interfaa grafic utilizator). n plus, utilizatorul poate urmri modul n care se execut programul su i poate influena, n anumite condiii, execuia acestuia. Un SO interactiv presupune o arhitectur a sistemului de calcul care s cuprind echipamente standard de I/E dedicate comunicrii 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 ieire (un display sau o mini imprimant).
15

Sistemele de operare interactive pot fi:


monouser,- comunicarea cu sistemul de calcul este posibil, la un moment dat, numai pentru un singur utilizator, prin intermediul consolei sistemului de calcul; multiuser,- SO poate gestiona comunicarea concomitent cu mai muli utilizatori, conectai la sistemul de calcul prin intermediul echipamentelor terminale de I/E.

16

Clasificarea sistemelor de operare dup configuraia hardware deservit

Sisteme de operare pentru microcalculatoare:

sunt puternic interactive, cu un limbaj de comand accesibil sau cu interfa grafic utilizator; unele sunt monouser si monotasking (MS-DOS), altele multitasking (Windows), eventual i multiuser (Unix); sunt uor configurabile, oferind proceduri automate pentru ncrcarea sau pentru instalarea sistemului de operare; ocup un spaiu redus n memoria intern; suport dezvoltri pentru a permite conectarea n reele de calculatoare sau ca terminale la sisteme de calcul mari; au funcia de gestionare a informaiei dezvoltat n direcia manevrrii unui numr mare de fiiere de dimensiuni mici;
17

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 avizai; Procedurile de ncrcare la conectarea sistemului i de instalare a sistemului de operare sunt mai laborioase; Sunt mai rigide, n cazul modificrii configuraiei hardware; Asigur un sistem de prioritti de execuie dezvoltat; Sunt orientate pentru lucrul cu mai muli utilizatori, oferind un sistem complex de protecie a informaiei; Sunt orientate pentru lucrul cu multe terminale, putnd ndeplini funcia de concentrator de date;

18

Clasificarea sistemelor de operare dup configuraia hardware deservit

sisteme de operare pentru calculatoare mainframe :


seriale sau interactive, multitasking; limbaj de comand pentru utilizatori specializai; gestioneaz un numr mare de echipamente periferice; orientate pentru prelucrri complexe i pentru volume mari de date.
19

Sistemul de programare al unui sistem de calcul


Prelucrarea automat a informaiei se face conform unui algoritm. Algoritmul de prelucrare descrie coninutul i succesiunea tuturor etapelor ce trebuiesc parcurse n timpul procesului de prelucrare. Pentru a putea fi utilizat n scopul unei prelucrri automate a informaiei, ntr-un sistem de calcul, un algoritm trebuie s aib cteva proprieti eseniale :

20

Proprieti 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 setul de date pe care le prelucreaz ; Finitudinea garanteaz faptul c execuia algoritmului se ncheie, dup un numr finit de pai, indiferent de setul de date care sunt prelucrate ; Completitudinea este proprietatea care asigur faptul c algoritmul rezolv integral problema abordat : nu exist variante ale prelucrrii netratate ;
21

Sistemul de programare al unui sistem de calcul

Proprieti care definesc modalitatea de descriere a algoritmului, de exemplu : concizia, claritatea i rigurozitatea definirii acestuia ; Executabilitatea este proprietatea algoritmului de a descrie prelucrrile numai prin intermediul unor operaii care pot fi executate n sistemul de calcul ; Eficiena algoritmului msoar gradul n care executarea acestuia se realizeaz n timp minim i, n general, cu un consum ct mai redus de resurse.
22

Sistemul de programare

Cuprinde acele instrumente software (programe sau pachete de programe) care fac posibil generarea programelor executabile n sistemul de calcul. El poate fi alctuit din urmtoarele categorii de software : programele editoare de text- permit introducerea i modificarea interactiv a informaiei (Ex. - programe surs);

aceste programe editoare trebuie s aib caracteristica WYSIWYG (What You See Is What You Get) adic s nu introduc automat caractere suplimentare n programul surs editat ;
23

Programe translatoare

Programele translatoare pentru limbajele de programare, transform programele surs, scrise ntr-un limbaj de programare, n programe obiect, scrise n limbaj main, prin operaia de translatare (traducere sau compilare). Dup natura transformrii pe care o realizeaz, programele translatoare pot fi :

24

Programe de compilare

1. 2. 3.

Realizeaz transformarea programului surs n program obiect ; Acest categorie include : Asambloare, care traduc programe surs scrise ntr-un limbaj de asamblare Compilatoare specifice fiecrui limbaj de programare de nivel nalt ; Interpretoare, care, odat cu compilarea programului surs, realizeaz i execuia acestuia, instruciune cu instruciune ;
25

Programe de compilare
3. Editoare de legturi , care transform programele din format obiect n programe executabile, realiznd, dac este cazul, integrarea mai multor module obiect ntr-un singur program executabil ; Programele depanatoare , interactive sau nu, care permit monitorizarea execuiei unui program n vederea localizrii erorilor de execuie ; Mediile de programare , care reprezint aplicaii mai complexe, care includ toate funciile prezentate mai sus, utilizate pentru generarea unui program executabil.
26

4. 5.

Activitatea de compilare a unui program surs poate fi descompus n mai multe faze, care corespunde, fiecare, unei funcii logice asigurate de programul translator, i care asigur urmtoarele operaii :

analiza lexical a programului surs se realizeaz la nivelul fiecrei linii program i const n :

eliminarea caracterelor nesemnificative (de exemplu spaiile, comentariile, etc) identificarea unitilor logice ale limbajului de programare, de tipul operatorilor, cuvintelor rezervate, identificatorilor, constantelor, etc. i nscrierea acestora n structuri tabelare numite tabele de simboluri ;
27

Etapele procesului de compilare

28

Analiza sintactic

Are ca obiectiv principal identificarea, n programul surs, a construciilor sintactice de baz (instruciuni, expresii, liste, etc.) i interpretarea coninutului lor, prin generarea unor structuri proprii de descriere a fiecreia, prin intermediul unei structuri arborescente, numit arbore de derivare ;

29

Activitatea de compilare

Analiza semantic ce are ca obiectiv interpretarea fiecrei construcii sintactice identificate. Pe baza arborelui de derivare definit i folosind tabela de simboluri, se genereaz seturile de instruciuni elementare care corespund fiecrei construcii sintactice identificate. Aceste instruciuni sunt formulate ntr-un format de trecere ctre codul main, numit cod intermediar, dar nc sunt independente de acesta ; Optimizarea codului intermediar, prin nlturarea variabilelor neutilizate, a instruciunilor redundante, etc ;

30

Compilarea

Alocarea memoriei, pentru entitile din programul surs care vor fi ncrcate n memoria intern, n timpul execuiei programului ; alocarea se face utiliznd tabela de simboluri i asociind la fiecare astfel de entitate o locaie de memorie, calculat relativ la adresa de nceput a programului i denumit adres relocabil ; Optimizarea dependent de calculator a codului intermediar, prin alocarea regitrilor de lucru ai procesorului i generarea codului obiect sunt operaii care depind de calculator ; n toate etapele are loc detectarea i nregistrarea erorilor de utilizare a limbajului de programare, erori numite erori de compilare.
31

Compilare

32

Editorul de legturi

33

Editorul de legaturi

Editorul de legturi grupeaz mai multe module obiect (rezultate n urma compilrii sau preluate din biblioteci de module obiect) i genereaz segmentele programului executabil. Segmentul reprezint o colecie ordonat de seciuni, ntre care au fost rezolvate legturile definite prin elementele de comunicaie. Un segment se caracterizeaz prin nume, o adres de intrare n segment, adic adresa primei instruciuni executabile a segmentului, i modulele obiect care l alctuiesc.
34

Segmentarea programelor

Pentru programul executabil se poate defini o structur arborescent de segmente, dintre care unul este segmentul principal, numit rdcin , iar celelalte segmente sunt subordonate rdcinii i, eventual, unele fa de altele.

35

Raportul de subordonare este determinat de ordinea de nlnuire, n execuie, a segm.; segmentele de pe acelai nivel sunt cele ntre care nu sunt definite elemente de comunicare; acestea se pot reacoperi n memoria intern, n timpul execuiei programului, sau se pot executa n paralel.

36

Segmentarea programelor
Este procedeul de mprire a unui program n segmente, a.. s fie posibil ca n timpul execuiei programului s fie ncrcat permanent, n memoria intern, numai segmentul rdcin; Segmentele subordonate pot s fie ncrcate pe rnd, prin reacoperirea segmentelor ntre care nu exist raporturi de subordonare, sau pot fi executate n paralel.

37

Pentru aceasta, odat cu generarea programului executabil, editorul de legturi construiete i tabela de legturi asociat

n tabela de legturi sunt memorate informaii despre :


Numele segmentului rdcin i a celorlalte segmente; Adresele segmentelor, n programul executabil, relativ la adresa 0 de memorare a programului executabil; Lungimea fiecrui segment; Punctul de intrare n program, adic adresa primei instruciuni executabile din program.
38

Erori
Activitatea

de programare trebuie s aib n vedere i posibilitatea apariiei unor erori i necesitatea depistrii i nlturrii 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 ;


39

Erori

erori de asamblare, atunci cnd n program se fac referiri la variabile sau proceduri nedefinite ;

aceste erori sunt sesizate n timpul operaiei de editare de legturi ;

erori de execuie, care pot fi generate de erori de logic n algoritmul folosit sau de un anumit context de date care nu a fost tratat corespunztor n algoritm ;

de exemplu : valori nepermise ale operanzilor, executarea necontrolat a instruciunilor repetitive, ncercarea de a accesa zone interzise din memoria intern, etc.
40

Programe depanatoare

Erorile de execuie sunt, de obicei, erori de algoritm ; Pentru nlturarea lor este necesar localizarea i determinarea naturii acestora. Identificarea unei astfel de erori se face comparnd varianta ideal de execuie a programului, conform algoritmului, cu o execuie concret ; Se compar rezultatele intermediare obinute i ordinea de executare a instruciunilor.
41

Pentru sistemele interactive au fost dezvoltate programe care permit o depanare dinamic, desfurat n timpul execuiei programului. Aceste programe se numesc programe depanatoare .

42

Programe depanatoare
Activitatea unui program depanator const n monitorizarea execuiei programului utilizator prin :

lansarea n execuie a acestuia executarea controlat a acestuia, prin posibilitatea de suspendare a execuiei i de preluare a controlului : n momentul apariiei unui eveniment deosebit, n timpul execuiei dup executarea fiecrei instruciuni (execuie pas cu pas) n puncte anume alese din program i marcate ca puncte de ntrerupere a execuiei (breakpoints) ;
43

prelund controlul, programul depanator pune la dispoziia utilizatorului instrumente specializate pentru evaluarea modului n care se execut programul : posibilitatea vizualizrii valorilor variabilelor din program; evaluarea unor expresii definite de utilizator; modificarea valorii unor locaii de memorie aferente programului, etc.
44

Programe depanatoare
Programul depanator ofer, de asemenea, informaii legate de contextul de execuie al programului, de modul de utilizare a resurselor sistem, etc. Dup forma programului care se execut, depanatoarele sunt :

45

Tipuri de programe depanatoare

Depanatoare main care permit monitorizare

execuiei programului la nivelul programului executabil. Activitatea de depanare se face pornind de la imaginea programului executabil, ncrcat n memoria intern ; se lucreaz cu adrese fizice, cod main 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 ;
46

Depanatoare simbolice -monitorizeaz execuia programului utilizator la nivelul programului surs, lucrnd la nivel de linie program i identificator de variabil ; De obicei, limbajele de programare de nivel nalt sunt prevzute cu depanator simbolic.

47

Programe utilitare
Sistemul de programe utilitare (software utilitar), care include programe cu un grad mare de generalitate; Sunt puse la dispoziia utilizatorilor pentru a realiza anumite prelucrri specifice asupra informaiilor, prelucrri comune pentru toi utilizatorii unui sistem de calcul.

48

Exemple:
Programe care permit exploatarea componentelor hardware ale calculatorului n condiii optime ; Realizeaz:

verificarea strii de funcionare a echipamentelor hardware, configurarea parametrilor lor de funcionare, optimizarea modului de utilizare a componentelor hardware ale sistemului de calcul ;
49

Exemple:

Programe pentru organizarea informaiei pe suporturile de date : programe de arhivare a datelor, programe pentru gestionarea bibliotecilor de date, programe pentru organizarea datelor prin operaii de sortare, interclasare, compactare, programe pentru realizarea conversiilor de suport, etc.

50

Exemple

Programe editoare de texte:

programe interactive destinate introducerii, modificrii, formatrii i tipririi textelor;

51

Exemple:
Medii de prelucrare complex a datelor organizate sub form de text, imagine, sunet sau sub form de tabele ; Aceste instrumente software pot fi folosite direct de utilizatori neprofesioniti, pentru dezvoltarea unor aplicaii, sau pot fi folosite de proiectanii de software, ca instrumente de mare productivitate.

52

Exemple

Suprafee de operare : Aplicaii specifice sistemelor interactive, care nlocuiesc dialogul utilizatorului cu sistemul, prin intermediul limbajului de comand al sistemului de operare, cu interfee de lucru prietenoase , etc.

53

GESTIUNEA RESURSELOR UNUI SISTEM DE CALCUL


FUNCIE A SISTEMULUI DE OPERARE

GESTIUNEA RESURSELOR UNUI SISTEM DE CALCUL


Componenta hardware a sistemelor de calcul necesit existena unui sistem de operare care s poat gestiona resursele hardware, concomitent cu asistarea utilizatorului pe timpul pregtirii i lansrii n execuie a lucrrilor sale. Programele de comand-control ale SO = programe care coordoneaz i controleaz resursele hardware (memoria, CPU, canalele, dispozitivele periferice) i informaiile (programe, date). Rolul lor este de a asigura utilizarea eficient a resurselor i de a rezolva conflictele aprute n competiia dintre utilizatori.

GESTIUNEA RESURSELOR UNUI SISTEM DE CALCUL


Pentru gestionarea resurselor programele de comand-control ale SO trebuie s realizeze urmtoarele activiti:

evidenierea fiecrei resurse; adoptarea unei strategii pentru determinarea n orice moment crui proces s-i aloce resursa, ct din resurs, la ce moment de timp i cuanta de timp alocat; s aloce resursele, iar la terminarea activitii s le dezaloce.

GESTIUNEA RESURSELOR UNUI SISTEM DE CALCUL

n acest scop, programele de comandcontrol ale sistemului de operare au fost grupate n 4 categorii, corespunztor funciilor ndeplinite:
1) 2) 3) 4)

funcia de gestiune a memoriei funcia de gestiune a procesorului (CPU) gestiunea dispozitivelor periferice gestiunea informaiei

Funcia de gestiune a memoriei Const n: evidena acestei resurse: ct memorie este alocat i pentru care programe; ce proces primete memorie, la ce moment i n ce cantitate - n cazul multiprogramrii; aloc pri din memorie i asigur metode de acces i protecie pentru procesele solicitante; dezaloc zonele de memorie alocate.
5

Funcia de gestiune a procesorului (CPU) Se refer la: evidena procesoarelor i strilor acestora ("traffic controller"); decide cine poate s utilizeze procesorul ("proccesor scheduler"), la ce moment de timp i pentru ct timp; aloc procesorul la un proces prin pregtirea i ncrcarea unor registre hardware; retrage alocarea cnd procesul renun la utilizarea procesorului, s-a terminat sau a depit cuanta de timp alocat.
6

Gestiunea dispozitivelor periferice


Realizeaz urmtoarele activiti: evidena dispozitivelor, a unitilor de control i a canalelor ("I/O Traffic Controller"); decide metoda cea mai eficient de alocare a dispozitivelor periferice; dac are loc o utilizare simultan, decide cine folosete resursa i ct timp ("schedulering I/O"); alocarea dispozitivelor periferice i iniiaz operaia de intrare/ieire; dezalocarea dispozitivelor periferice la terminarea execuiei operaiilor de intrare/ieire.
7

Gestiunea informaiei
Care se materializeaz n: evidenierea resursei (informaia), localizarea ei, utilizarea, starea, etc. (File System); decide cine utilizeaz informaia, impune protecia cerut i ofer rutine de acces necesare; aloc resursele prin deschiderea fiierului (OPEN); dezaloc resursele prin nchiderea fiierului (CLOSE).
8

Gestiunea dispozitivelor periferice


O mare pondere din arhitectura sistemelor de calcul este deinut de echipamentele de intrare/ieire (denumite dispozitive periferice), fapt care implic o atenie deosebit acordat utilizrii lor eficace.

Unitati de control i canale de transfer


Unitile de control ale dispozitivelor periferice sunt prevzute cu circuite electronice destinate controlului automat al citirii/scrierii efective pe mediile fizice, ndeplinind urmtoarele funcii: recunoaterea adreselor dispozitivelor periferice pe care le controleaz; conversia comenzilor primite de la canal n forma acceptat de mecanismele i circuitele perifericului comandat; transmiterea ctre canal a secvenelor de semnale standard ce indic desfurarea operaiilor de intrare/ieire solicitate;

10

Unitati de control si canale de transfer

efectuarea controlului de paritate asupra datelor i informaiilor de control; urmrirea ndeplinirii condiiilor de execuie a comenzii; generarea informaiei de stare a dispozitivelor periferice i a unitilor de control care se prezint canalului la iniierea i respectiv, prelucrarea modului 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.
11

Canalele de transfer
Dirijeaz fluxul de informaie ntre memoria intern i dispozitivele periferice degrevnd CPU de sarcina tratrii proceselor de I/E ndeplinind ca principale funcii:
transformarea informaiei de comand primit de la CPU n semnale acceptate de ctre unitile de control ale dispozitivelor periferice; prelucrarea controlului transferului de date i eliberarea CPU pentru alte lucrri; asamblarea sau dezasamblarea datelor transferate ntre dispozitivele periferice i memoria intern;

12

Canalele de transfer
sincronizarea

transferului de date cu activitatea CPU; controlul adresei care reprezint sursa sau destinaia transferului de date n memoria intern, inclusiv verificarea proteciei memoriei; generarea informaiei de stare a canalului, pe care o ine la dispoziia CPU.
13

Transferul de informaii ntre dispozitivele periferice i memoria intern, se poate realiza:


Continuu - cnd un dispozitiv periferic se conecteaz logic la canal pn la terminarea transferului de date, nepermind altui dispozitiv periferic s comunice cu canalul n acest interval de timp; Multiplex - cnd mai multe dispozitive periferice pot transmite simultan prin interfa.

14

Activitatea de gestiune a dispozitivelor periferice


CPU i canalele de intrare/ieire sunt proiectate pentru a opera n mod concurent n urmtoarea ierarhie: CPU controleaz activitatea canalelor de intrare/ieire, canalele de intrare/ieire controleaz activitatea unitilor de control ale dispozitivelor periferice iar acestea controleaz activitatea dispozitivelor periferice ataate.

15

Activitatea de gestiune a dispozitivelor periferice

Un sistem de intrare/ieire poate fi organizat n urmtoarele moduri: un canal de I/E poate fi utilizat n mod partajat de dou CPU folosind un controller pentru canalul de I/E- situaie ntlnit la sistemele de calcul exploatate n multiprelucrare; o unitate de control poate fi partajat ntre mai multe canale, situaie n care pentru acelai dispozitiv periferic exist mai multe ci de acces, iar doua CPU partajeaz aceeai unitate de control;
16

dispozitivele periferice de I/E pot fi partajate ntre mai multe uniti de control ataate la diferite canale de I/E ale aceleiai CPU sau la canalele mai multor CPU. n acest caz, este solicitat aceeai unitate de control, existnd mai multe ci prin care dispozitivul periferic poate transmite sau recepiona date (fig.3.8.).

17

Activitatea de gestiune a dispozitivelor periferice

Gestiunea dispozitivelor periferice Trebuie s ndeplineasc urmtoarele funcii:


evidena strii tuturor dispozitivelor periferice sub forma blocurilor unitilor de control asociate pentru fiecare dispozitiv periferic; introducerea unei discipline pentru a determina crui proces i este alocat dispozitivul periferic, pentru ct timp i la ce moment, n funcie de natura proceselor, de viteza dispozitivului periferic i modul lui de funcionare;

19

alocarea

dispozitivului periferic, a unitii de control i a canalului pentru proces; dezalocarea la nivelul procesului.

20

Gestiunea dispozitivelor periferice prin metode hardware 1) operarea dispozitivului periferic, independent, fr asistena canalului sau unitii de control; 2) disciplina buffer care implic existena unui buffer pentru date n dispozitivul periferic sau al unitii de control, ce ar permite unui dispozitiv periferic lent s lucreze independent de canal;
21

3) ci de acces multiple, concretizate n mai multe ci de acces pentru fiecare dispozitiv periferic. n acest caz, driverele pentru gestiunea dispozitivelor periferice vor ine evidena cilor de acces i vor determina ruta liber pentru servirea unei cereri de intrare/ieire la dispozitivul periferic solicitat; 4) multiplexarea canalului prin execuia unor programe de canal multiple, ceea ce nseamn o implementare hardware a multiprogramrii pentru programele de canal
22

Gestiunea dispozitivelor periferice de ctre sistemul de operare


Este realizat de urmtoarele module specializate: 1) controlorul traficului de intrare/ieire (I/O Traffic controller) care are rolul de a evidenia informaiile de stare pentru fiecare dispozitiv periferic, furniznd informaii mecanismului prin care un dispozitiv periferic poate fi alocat sau nu. n acest scop, construiete un bloc de control pentru dispozitivul periferic, unul pentru unitatea de control i unul pentru canal (fig.3.9.);
23

Gestiunea dispozitivelor periferice de catre sistemul de operare


2) planificatorul operaiilor de intrare/ieire (I/O Scheduller) care conine algoritmul privind strategia utilizat pentru alocarea canalului, a unitilor de control i a dispozitivelor periferice; are funcii similare cu planificatorul proceselor, cu deosebirea c un program de canal odat lansat n execuie nu va putea fi ntrerupt nainte de execuia lui complet; 3) manipulatorul dispozitivelor periferice de intrare/ieire (I/O Devices Handler) are rolul de a crea programul de canal pentru execuia funciei dorite, executnd fizic operaia respectiv;

25

Gestiunea dispozitivelor periferice de catre sistemul de operare 4) dispozitive periferice utilizate partajat (Shared Devices) sunt partajate ntre mai multe procese concurente, ceea ce implic:
interferena cererilor din partea proceselor; protecia mpotriva acceselor neautorizate.

5) dispozitive periferice virtuale sunt dispozitive periferice ce pot fi convertite pentru a putea fi utilizate partajat prin sistemul Spooling.
26

Gestiunea proceselor si a memoriei

Gestiunea proceselor i procesoarelor

Utilizarea partajat a resurselor unui sistem de calcul este determinat de insuficiena la un moment dat a resurselor necesare execuiei simultane a proceselor create de utilizatori. Gestiunea procesoarelor are ca scop asigurarea procesoarelor la procesele create . Fiecrui program de aplicaie, sistemul de operare i asociaz o serie de procese.

Termeni utilizati

Procesul reprezint un program n execuie (program de serviciu, de aplicaie sau rutin a sistemului de operare). Procesorul reprezint componenta capabil s execute un program (CPU sau canal). Programul este o secven de instruciuni, iar procesul o serie de activiti (taskuri) executate prin program. Activitatea (task) este o unitate de lucru intern creat de sistemul de operare, atunci cnd o etap din lucrare este acceptat de sistemul de calcul. Lucrarea reprezint o colecie de activiti (taskuri) ce se execut de ctre sistemul de calcul.

Procese concurente i coordonarea proceselor

Procesele concurente numite i procese paralele, presupun c la un moment dat, mai multe programe pot fi urmrite ntre punctul de ncepere i terminare a execuiei; n acest caz procesele interacioneaz n dou moduri:
indirect, prin concurarea la aceeai resurs a sistemului; - direct, prin utilizarea simultan a acelorai resurse.
-

Tranziia strilor unui proces

Coordonarea proceselor concurente

Implic urmtoarele aspecte:


1) determinarea proceselor potrivit crora sistemul de activiti trebuie s fie independent de vitezele relative de execuie ale activitilor componente, conducnd la un rezultat unic; dac acest rezultat depinde de ordinea i viteza de execuie a activitilor, sistemul este nedeterminat i n acest caz se vor introduce restricii de prioritate (grad de preceden);

Coordonarea proceselor concurente


2) interblocarea proceselor apare atunci cnd dou sau mai multe procese ateapt un timp nedefinit
-

ntr-un fir de ateptare circular, ca alt proces s renune la preteniile de utilizare a unei resurse; interblocarea poate fi nlturat prin mecanisme cum sunt:
prealocarea resurselor partajate; alocarea controlului n avans de execuie;

Coordonarea proceselor concurente


organizarea secvenial a cererilor i ierarhizarea resurselor pe nivele astfel nct atunci cnd un proces a dobndit resursele de la un anumit nivel, poate solicita resurse numai de la un nivel superior; excluderea mutual a proceselor prin care anumite activiti vor fi programate astfel nct s nu poat fi n execuie n acelai timp (de exemplu, READ i WRITE).

Sincronizarea proceselor
Sincronizarea proceselor include mecanisme prin care anumite procese vor fi oprite la un moment dat, pn ce apar anumite evenimente ce se afl sub controlul altei activiti. Problema sincronizrii apare datorit partajrii resurselor n legtur cu alocarea proceselor pentru execuie i comunicaia ntre procese care genereaz dou aspecte:
-

apariia condiiei de competiie ntre procese care se ivete atunci cnd planificarea unor procese pentru execuie devine critic deoarece parametrii pentru planificarea execuiei provin din calcule diferite; tendina de a obine resursa de ctre procese ar putea genera interblocarea acestora.

Mecanismele de sincronizare

1) bii de atenie Prin aceast modalitate, orice resurs partajat de "n" procese va dispune de un bit de atenie
"lock-bit" folosindu-se convenia: - lock-bit = 0 - resursa este disponibil; - lock-bit = 1 - resursa este n folosin.
-

10

1) bii de atenie

nainte ca un proces s aib acces la un procesor, acesta va verifica starea lock-bitului: dac lock-bit = 0 atunci este permis acestui proces s aib acces la procesor, iar la terminarea execuiei va trece lock-bit-ul n starea iniial 0; dac pe parcursul execuiei un alt proces va solicita procesorul, acesta va gsi lock-bit-ul n starea 1, el fiind trecut n starea de ateptare pn cnd lock-bit-ul devine 0.

11

Mecanismele de sincronizare
2) mecanisme de ateptare i semnalizare Inconvenientul sincronizrii proceselor prin lock-bit const n continuarea secvenei de testare a lock-bit -ului pentru comutarea din starea 1 n starea 0; Atunci cnd procesorul alocat unui proces ncheie execuia, acesta va introduce un semnal de legtur (pointer) prin care unul din procesele blocate din lista celor care ateapt, este sesizat c resursa pentru care a fost blocat a devenit liber; n acest moment, procesul care ctig competiia este trecut din lista de procese blocate, n lista proceselor gata de execuie, urmnd s fie din nou planificat pentru reluarea execuiei din punctul n care a fost ntrerupt.

12

Mecanismele de sincronizare
3) calculul semafoarelor prin operaiile P i V P i V sunt primitive care opereaz pe semafoarele S constituite din variabile ce iau valori ntregi (nu numai 0 i 1). Mecanismul se desfoar astfel:
P(S): decrementeaz valoarea lui S cu 1 i dac S <= 0 atunci ateapt; V(S): incrementeaz valoarea lui S cu 1 i dac S <= 0 atunci semnal.

13

Mecanismele de sincronizare
4) comunicarea direct de tip SEND/RECEIVE Mecanismele de sincronizare anterioare realizeaz comunicaii indirecte. Sincronizarea se poate realiza i ntr-o manier direct, prin intermediul primitivelor SEND (Proces1, mesaj) i RECEIVE(Proces2, mesaj).
14

Mecanismele de sincronizare
5) cutii potale Cutiile potale sunt constituite din zone tampon din memoria dinamic, tratat ca dispozitiv periferic de intrare/ieire. Fiecare activitate creeaz o cutie potal cu informaii ce pot fi extrase de celelalte activiti nainte de lansarea n execuie.
15

Gestiunea memoriei

16

Gestiunea memoriei

Gestiunea memoriei are rolul de a decide cum trebuie organizat informaia pe cele dou nivele i cnd trebuie transferat informaia ntre acestea; tehnicile de gestiune a lucrrilor (multiprogramare, multitasking, time-sharing,etc) implic existena unor metode eficiente pentru gestiunea memoriei: tehnici de alocare dinamic i memoria virtual.

17

Gestiunea memoriei

Obiectivul activitii de gestiune a memoriei este de a furniza o vitez de execuie sporit a programelor, prin meninerea n memoria intern a acelor pri din programe care sunt referite cu o frecven mare de ctre CPU (de regul, programe independente ntre ele)

18

Gestiunea memoriei

deoarece n memoria intern exist simultan mai multe programe independente ntre ele, pentru a utiliza eficient CPU apar urmtoarele aspecte:
-

introducerea n memoria intern a programului ce urmeaz a fi executat necesit un spaiu de memorie determinat de dimensiunea sa, de spaiul liber din memoria intern n acel moment i de modul de ocupare al memoriei interne de ctre alte programe; pentru zonele de memorie alocate diferitelor programe, trebuie s se asigure protecia acestora fa de anumite interferene i adresri cu alte programe.

19

Activitatea de gestiune a memoriei are la baz trei algoritmi


algoritmul de transfer care determin cnd un bloc trebuie transferat din memoria extern n memoria intern - naintea execuiei sau n timpul execuiei; 2) algoritmul de plasare care determin ce zon nealocat din memoria intern este folosit pentru plasarea blocului ncrcat din memoria extern; 3) algoritmul de reamplasare care determin care blocuri i la ce moment trebuie rencrcate n memoria intern.
1)

20

Activitatea de gestiune a memoriei

21

Alocarea dinamic a memoriei

Alocarea

22

memoriei interne se poate realiza: - static cnd programul este ncrcat iniial n orice zon liber din memoria intern. n momentul solicitrii unei ntreruperi, acesta este transferat n memoria extern urmnd a fi reluat dup tratarea ntreruperii. - dinamic cnd adresele relative ale instruciunilor programului dup editarea de legturi, nu sunt translatate n adrese fizice n faza de ncrcare a programului n memoria intern, ci doar n momentul execuiei instruciunilor.

Memoria virtual

Conceptul unui singur nivel de memoriedenumit memorie virtual- ofer utilizatorului iluzia c memoria intern are o capacitate foarte mare, partea de hardware realiznd automat transferul informaiei din memoria intern n memoria extern i invers.

23

Adres virtual

O adres folosit de programator se numete adres virtual, iar adresa real unde este memorat se numete adres fizic (dimensiunea spaiului de adrese virtuale este mult mai mare dect dimensiunea spaiului de adrese reale).

24

Funcia de translatare a unei adrese virtuale ai n adres real bj se poate defini astfel:
-

ft = 0 dac informaia de la adresa virtual solicitat (ai) nu este n acel moment rezident n memoria intern; ft = bj dac adresa virtual ai gsete rezident adresa real bj n memoria intern.

25

Organizarea Memoriei 1) organizarea la nivel de adres

26

Organizarea la nivel de adres

Dac procesorul refer adresa virtual ai, aceasta se introduce n registrul de adrese virtuale RV, registrul REZIDENT este resetat (pus pe 0), iar registrul de ACCES setat (pus pe 1), iniializndu-se procesul de translatare:
-

dac se gsete cu ai o intrare n tabela ft, atunci coninutul gsit se introduce n registrul de adrese fizice al memoriei interne RM, avnd loc extragerea din memoria intern a informaiei solicitat de procesor de la adresa real bj; dac nu se gsete o intrare n ft, atunci RM = 0, registrul REZIDENT este setat i are loc iniierea celor 3 algoritmi care vor aduce din memoria extern n memoria intern informaia referita de procesor, actualiznd totodat i tabela de descriere a funciei de translatare ft.

27

2) organizarea la nivel de pagin

Organizarea la nivel de pagin conduce la reducerea necesarului de informaie coninut n tabela ft deoarece spaiul de adrese este divizat n blocuri de dimensiune constant numite pagini. Dimensiunea paginii virtuale coincide cu dimensiunea paginii reale ceea ce implic netranslatarea adresei cuvntului de pagin.

28

2) organizarea la nivel de pagin

2) organizarea la nivel de pagin

Pentru orice adres virtual ai se asociaz perechea (P,C) unde P reprezint numrul cuvintelor din pagin, iar C numrul unui cuvnt referit din P. Prin P 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 coninut nenul, atunci adresa solicitat de procesor are drept corespondent o pagin de memorie rezident n memoria intern; RM (Q) = 0 atunci adresa virtual solicitat nu are adres de pagin real n memoria intern, ceea ce conduce la declanarea celor 3 algoritmi ca urmare a setrii registrului de REZIDENT.

30

3) organizarea la nivel de segment

Organizarea la nivel de segment mparte spaiul de memorie n blocuri de dimensiune variabil, numite segmente (pot fi module de program sau anumite structuri de date)

3) organizarea la nivel de segment


Adresa

virtual referit de procesor const din numele segmentului S i numele cuvntului din segment C; adresa de memorie unde ncepe segmentul S reprezint adresa de baz R, iar prin D se specific dimensiunea segmentului. Adresa real determinat prin R+C se obine dac registrul de buffer conine adresa extras din memoria tabelei de segmente, efectundu-se i comparaia dintre C i D; dac R = 0, atunci se vor declana cei trei algoritmi.

32

4) organizarea la nivel de segment-pagin

Organizarea la nivel de segment-pagin divide adresele virtuale i adresele fizice n segmente, iar segmentele n pagini, n vederea fructificrii avantajelor celor dou metode de organizare:
-

paginarea, care ofer implementarea simpl i cel mai sigur mijloc de protecie a informaiei; segmentarea, care satisface ntr-o mai mare msur cerinele programatorului prin divizarea n segmente, deci innd seama de logica programului (fig.3.7.).

33

4) organizarea la nivel de segment-pagin

34

4) organizarea la nivel de segment-pagin


Atunci

cnd procesorul refer o adres virtual, acesteia i se asociaz:


-adresavirtuala segmentuluiS; -adresavirtuala paginiinsegment CP; -adresavirtuala cuvntuluidin cadrulpaginiiCC; iarregistrul de acces segment este setat.

Prin S din RV se caut n MTS; dac se gsete o adres, aceasta este reprezentat prin:
-R -adresatabeleide pagini; -D -dimensiuneasegmentuluiexprimatnpaginiiintrodus apoi n registrul de buffer.

35

4) organizarea la nivel de segment-pagin


n cazul proceselor concurente, gestiunea memoriei ntre mai multe procese poate fi analizat prin:

limitarea frecvenei transferului de date i programe; - conservarea execuiei programelor din memoria intern, n timp ce alte programe sunt n ateptare n memoria extern; - transferul datelor i programelor din memoria intern atunci cnd procesele le solicit.
-

36

Sistemul de operare MS-DOS

Sistemul de operare MS-DOS


MS-DOS (MicroSoft Disk Operating System) - este un sistem de operare monoutilizator, monotasking, monoprocesor, ce funcioneaz pe microcalculatoarele dotate cu procesoare Intel 8088 i succesoarele acestuia (80286, 80386, 80486, Pentium etc.) Acest sistem de operare a fost inclus n alte sisteme de operare, cum ar fi: Windows 95/98/Me/NT/2000/ XP i Novell NetWare.

Structura sistemului de operare MS-DOS

Sistemul de operare MS-DOS este structurat pe trei niveluri:

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

Componenta BIOS
Conine un set de programe care asigur: 1. Autotestarea la punerea sub tensiune, operaie denumit POST (Power-On Self Test).
-

n acest test procesorul se autoverific i apoi verific timer-ul sistemului i memoria RAM.

Componenta BIOS
2. Suportul software pentru dispozitivele periferice standard - n felul acesta izoleaz SO de ceea ce este specific hardware-ului (de ex., componenta BIOS conine codurile apelurilor de sistem pentru citirea i scrierea de la adresele absolute de pe disc, pentru citirea unui caracter de la tastatur sau pentru afiarea unui caracter pe ecran); 3. Rutina pentru iniializarea sistemului; 4. Programul de ncrcare a primului sector logic de pe discul flexibil sau hard disc.

Incrctorul bootstrap
La pornirea calculatorului se pornete ncrctorul bootstrap care este localizat n cipul BIOS. Acesta asigur testarea componentelor hardware ale calculatorului i ncrcarea sistemului de operare n memoria RAM. Exist dou modaliti de pornire a calculatorului:
Pornirea la rece (cold-boot); Pornirea la cald (warm-boot), care se realizeaz prin apsarea tastelor Ctrl+Alt+Delete.

Pornirea la rece
Implic urmtorii pai: 1)Sursa de curent - se iniializeaz; chipset-ul plcii de baz ateapt pentru semnalul Power Good din partea sursei; 2) BIOS ROM - procesorul localizeaz programul de boot (iniializare) al BIOS-ului; 3) POST - BIOS-ul ruleaz secvena POST. Dac apare o eroare major, procesul de boot se oprete;

Pornirea la rece
4) Video - BIOS-ul caut programul BIOS pentru

placa video i l execut pentru iniializarea plcii video; 5) Alte dispozitive BIOS - BIOS-ul caut programe BIOS pentru alte echipamente BIOS (hard disk) i le execut; 6) Ecranul de pornire - BIOS-ul afieaz ecranul de pornire; 7) Memoria - BIOS-ul testeaz alte componente ale calculatorului i efectueaz un test de memorie;

Pornirea la rece
8) Hardware - BIOS-ul testeaz sistemul pentru a gsi componentele hardware (de exemplu hard-discuri); 9) Plug and Play - Configurarea dispozitivelor Plug and Play; 10) Ecranul de configurare - BIOS-ul afieaz un sumar al configuraiei hardware a sistemului; 11) Discul de boot - BIOS-ul caut un disc de boot pe baza secvenei de iniializare;

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 iniializeze sistemul de operare, moment n care acesta preia controlul de la BIOS; 14) Eroare - dac BIOS-ul nu gsete un dispozitiv de iniializare n cadrul secvenei de boot, va afia un mesaj de eroare i va bloca sistemul.

10

Productori de cip-uri BIOS


Cei mai cunoscui productori de cip-uri BIOS sunt:

AMIBIOS (American Megatrends, Inc.) PhoenixBIOS (Phoenix Technologies Ltd.) AwardBIOS (Award Software, Inc.)

11

Productori 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 ptrat - PLCC (Plastic Leaded Chip Carrier figura 2.2 ) .

12

Cip-uri BIOS
Aceast

capacitate mai mare ofer productorilor posibilitatea de a include mai multe faciliti dect n cazul cipurilor mai vechi de dimensiune mai redus, de 1Mb. Totodat, trebuie tiut c dimensiunea cipului BIOS nu are legtur cu performanele sale.

Tipul i dimensiunea cipului BIOS se stabilesc n funcie de funcionalitile oferite i de costuri i nu n funcie de performane.

13

Nucleul
Nucleul conine partea sistemului de operare independent de calculator i se gsete ntr-un alt fiier ascuns, MSDOS.SYS (IBMDOS.COM). Are rolul de a gestiona procesele, memoria i sistemul de fiiere, ca i interpretarea tuturor apelurilor de sistem.

14

Fisierul COMMAND.COM
Dup nucleu, cea de-a treia parte a sistemului de operare este shell-ul reprezentat prin fiierul COMMAND.COM . Totui acesta poate fi nlocuit de ctre utilizator. Fiierul COMMAND.COM realizeaz interfaa dintre utilizator i nucleul sistemului de operare, coninnd:
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.

15

Sistemul de gestiune a fiierelor MS-DOS


Sistemul de fiiere MS-DOS se ocup de administrarea fiierelor avnd la baz structura fizic a dischetelor sau a hard discurilor. Structura fizic, la discurile magnetice, se refer la organizarea suportului disc la nivel de sector, fa (cap), cilindru (pist). mprirea n sectoare a discurilor i a dischetelor se realizeaz prin operaia de formatare (comanda FORMAT).

16

Sistemul de gestiune a fiierelor MS-DOS


Prin comanda de formatare, sistemul de operare realizeaz n principal: mprirea pistelor n sectoare (formatarea fizic); crearea structurii logice de date (formatarea logic).

17

Sistemul de gestiune a fiierelor MS-DOS


Structurarea informaiei pe discurile flexibile este aceeai cu a unei partiii de pe hard disc. Partiia este unitatea logic, fizic reprezentat prin totalitatea sectoarelor dintre dou adrese. Hard discul poate conine partiii MS-DOS sau partiii care nu sunt MS-DOS. Dup generarea partiiilor este necesar formatarea acestora, crearea structurii logice de date.

18

Structura logic a unei partiii


Structura logic a unei partiii sau a unei dischete este (figura 2.3):

sectorul de BOOT (primul sector logic); sectorul FAT (tabela de alocare a fiierelor); copii FAT; directorul principal sau rdcin (ROOT); zona de date.

19

20

Sectorul de BOOT

n sectorul de BOOT sunt coninute date care descriu formatul discului i prin intermediul crora sistemul de operare MS-DOS poateutiliza discul. sector include:
-

Acest

comanda de salt la procedura BOOT; numele productorului i numrul de versiune; numrul de octei/sector; numrul de sectoare/cluster (cluster - unitate de alocare, avnd un numr de sectoare);

21

Acest sector include:


numrul de sectoare rezervate (naintea primului FAT); numrul de de FAT-uri; numrul de intrri n primul director; numrul de sectoare/disc; tipul discului; numrul de sectoare din FAT; numrul de sectoare/pist; numrul de capetelor de scriere/citire; numrul de sectoarelor ascunse; procedura BOOT (ncrcarea fiierelor de sistem); tabela de partiionare (la hard disc); extensie a procedurii BOOT.

22

Sectorul de BOOT

O intrare ntr-un director conine (32 octei):


-

numele fiierului (8 octei); extensia (3 octei); atributul de director sau fiier obinuit (1 octet +10 octei neutilizai); data i ora (2 octei +2 octei); primul cluster (2 octei); dimensiunea n octei (4 octei).

23

Comenzi MS-DOS

Sintaxa general al unei comenzi este:

comanda [parametru_1] [parametru_2] [/opiune]

comanda - specific numele comenzii; parantezele drepte [ ] - indic elementele opionale; parametru - poate include urmtoarele 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:.

24

Comenzi MS-DOS
Dac elementul unitatea de disc se omite se va considera unitatea implicit, aceasta fiind unitatea de disc curent al crui nume apare ca prim liter n prompterul comenzii. Pentru a schimba discul curent se tasteaz numele discului urmat de caracterul dou puncte (:).

25

Comenzi MS-DOS
A:\>D: <ENTER>

Iar ca rezultat va aprea urmtorul prompter:

D:\>

dac directorul curent pe discul D: este directorul rdcin (\).

26

Comenzi MS-DOS
calea - specific ruta prin care se identific locul unui fiier sau director din structura arborescent.

[\][nume1_director]\[nume2_director]

Primul caracter (backslash \) impune ca identificarea s nceap cu directorul rdcin (ROOT). Dac acesta se omite, cutarea ncepe din directorul curent. Aa cum este memorat unitatea de disc implicit, se poate memora i directorul implicit pentru fiecare unitate de disc.

27

Comenzi MS-DOS
MS-DOS afieaz calea directorului curent de pe discul curent, ca parte a prompterului.

nume_fisier.ext - specific numele unui fiier care poate avea pn la opt caractere i poate fi urmat de punct ( . ) i o extensie de pn la trei caractere. - specificator de fiier - conine elementele descrise anterior:
-

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

Comenzi MS-DOS - Opiuni


Opiuni - sunt specifice anumitor comenzi i determin un anumit mod de execuie (exemplu: DIR/P) semnul ntrebrii (?)- specificnd c orice caracter 1. poate ocupa aceast poziie. Exemplu: DIR A?CD.DAT
2. asterisc (*) - specificnd c orice caracter poate ocupa aceast poziie ct i restul poziiilor. Exemplu: DIR *.DAT

29

Comenzi pentru lucrul cu directoare


MKDIR (Make Directory) este comand intern utilizat pentru crearea unui director. Sintaxa general a acestei comenzi este: mkdir [disc:] cale sau md [disc:] cale Exemplu Pentru a se genera directorul CONT n:

a) directorul rdcin al discului curent (directorul curent este altul dect directorul rdcin) vom folosi comanda: md \cont b) directorul curent, vom folosi comanda: md cont

30

CHDIR
CHDIR (Change Directory) este o comandintern utilizat pentru a vizualiza numele directorului curent sau pentru a schimba directorul curent. Sintaxa acestei comenzi este: chdir [disc:] cale sau cd [disc:] cale Exemplu 1. Pentru a schimba directorul curent \STUD\STUD5 de pe discul implicit n:
a) directorul printe ( \STUD) b) directorul rdcin ( \)

linia de comand va conine:


a) CD .. [sau CD \STUD]; b) CD \

31

RMDIR
RMDIR (Remove Directory) este o comand intern utilizat pentru tergerea unui director. Sintaxa general este: rmdir [disc:] cale sau rd [disc:] cale Exemplu Prin comanda: RD A:\STUD\STUD3 se va terge subdirectorul STUD3 din directorul STUD de pe discul A: dac este gol.

32

TREE
TREE este o comand extern prin care se afieazstructura arborescent a directoarelor de pe discul specificat. Sintaxa generaleste: tree [disc:] cale [/f][/a] unde:

/f - listeaz i numele fiierelor din fiecare director /a - la afiare se utilizeaz caracterele ASCII text n loc de caracterele grafice pentru a reprezenta legturile cu subdirectoarele.

Exemplu Prin comanda: TREE A: /F > PRN listarea se face la imprimant. Aici a fost utilizat caracterul special > prin care se face redirectarea rezultatului comenzii ctre un dispozitiv special, imprimanta n cazul nostru (identificat de numele generic special, PRN).

33

XCOPY
XCOPY este o comand extern pentru copiereafiierelor i directoarelor, incluznd subdirectoarele. Sintaxa general a acestei comenzi este: xcopy sursa [dest][/a][/m][/d:data][/p][/s][/e][/v][/w] unde: sursa/destinaia - poate fi o unitate de disc sau o cale; /A - copierea numai a fiierelor surs care au atributul de arhivare setat fr a l modifica; /M - copierea numai a fiierelor surs care au atributul de arhivare setat, atributul de arhivare va fi modificat; /D:date - copiaz fiierele surs modificate la sau dup data specificat; /P - cere confirmarea naintea copierii fiecrui fiier; /S - copiaz directoarele i subdirectoarele, n afar de situaia n care sunt goale; /E - copiaz toate subdirectoarele, chiar dac sunt goale; /V - verificarea identitii fiecrui fiier destinaie (deja copiat) cu fiierul surs; /W - genereaz o pauz naintea operaiei de copiere a fiierelor.

34

PATH

PATH este o comand intern prin care se stabilete caleade cutare pentru fiierele executabile (.EXE, .BAT, .COM). Odat stabilitaceast cale, fiierele executabile vor fi cutate n directoarele specificate dePATH. Sintaxa general a comenzii este: path [[disc:] cale [; [disc:] cale][;]] Pentru afiarea cilor curente de cutare se utilizeaz comanda apelat fr nici un parametru: PATH .

Exemplu S presupunem c programul PROGRAM.COM se gsete numai n directorul STUD3 de pe discul A: , iar unitatea de disc implicit este Comanda: path \stud;\stud1\stud2;a:\stud3

C:

instruiete sistemul de operare s identifice comenzile (orice fiier executabileste echivalent unei comenzi) lansate nti n directorul curent, apoi n C:\STUD; dup aceea n C:\STUD1\STUD2 i n final n A:\STUD3.

35

Comenzi pentru lucrul cu fiiere


Comanda DIR este o comand intern cu ajutorul creia se listeaz fiierele i subdirectoarele unui director. Sintaxa general a acestei comenzi este:

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


unde:
-

36

/P - permite listarea informaiei n pagini; /W - realizeaz afiarea condensat a listei; /A[[:]atribute] - se vor lista numai numele acelor fiiere i directoare care dein atributele specificate; atribute: h/- h fiiere ascunse/nu sunt ascunse; s/- s fiiere sistem/altele dect sistem; d/- d directoare/nu directoare; a/- a fiiere de arhivare/nu de arhivare; r/- r fiiere ce se pot numai citi/citi i scrie.

Comenzi pentru lucrul cu fiiere


/O[[:]ordine] - controleaz ordinea n care se listeaz numele fiierelor i directoarelor.
-

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 mrime; g/- g directoarele naintea/dup fiiere. /S - listeaz orice apariie n directorul specificat i n toate subdirectoarele acestuia a numelui de fiier specificat; /B - listeaz numele unui director sau fiier pe o linie; /L - listarea neordonat a numelor fiierelor i directoarelor cu litere mici.

37

Exemple 1. Comanda: DIR /S /O /P Dac directorul curent este directorul rdcin se va obine o listare a tuturor directoarelor de pe discul implicit. Lista fiecrui director este ordonat alfabetic, iar ntre afiarea a dou ecrane succesive se execut o pauz.

TYPE
Comanda TYPE este o comand intern prin care se vizualizeaz coninutul unui fiier text. Sintaxa general este: type [disc:][cale]nume_fisier.ext Exemplu Prin comanda: TYPE MANUAL.TXT se va afia coninutul fiierului MANUAL.TXT din directorul curent. Pentru a se executa o pauz cnd ecranul este plin se va include i comanda 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 ctre comanda MORE care realizeaz afiarea ecran cu ecran.

38

COPY
COPY este o comand intern prin care se copiaz unul sau mai multe fiiere. Sintaxa general a acestei comenzi este: copy [/a][/b]sursa[/a/b][+sursa[/a/b][+]][dest[/a/b]][/v] unde:

/A se folosete pentru fiiere text de tip ASCII; /B se folosete pentru fiiere binare; /V verific dac noile fiiere sunt corecte.

39

COPY
Exemple 1. Copierea unui fiier cu acelai nume. Presupunem c unitatea implicit de disc este A:. Comanda: COPY D:\PROG.DAT copiaz fiierul PROG.DAT din directorul rdcin al unitii de disc D n directorul curent al discului implicit A, fr a schimba numele fiierului. Prin comanda: COPY D:\PROG.DAT D:\STUD se copiaz fiierul PROG.DAT din directorul rdcin al discului D: n directorul STUD de pe aceeai unitate. Fiierul copiat are acelai nume cu fiierul original.

40

RENAME

Comanda RENAME (sau REN) este o comand intern pentru redenumirea unui fiier sau a unor fiiere. 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 fiierului iar nume_nou reprezint noul nume ce va fi atribuit.

Exemple 1. Comanda: REN A:\STUD\TABEL.DAT TABEL1.DAT redenumete fiierul TABEL.DAT din directorul \STUD de pe unitatea A: n TABEL1.DAT.

41

DEL (ERASE)
Comanda DEL (ERASE) este o comand intern care realizeaz tergerea fiierelor. 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 fiierul specificat. Exemplu: - Comanda: DEL C:\STUD\STUD3\*.* terge toate fiierelor din directorul \STUD\STUD3. Dac s-a utilizat *.* n zona numelui de fiier, MS-DOS afieaz un mesaj pentru a verifica dac se dorete tergerea tuturor fiierelor: "Are you sure (Y/N) ?" Tastnd Y i apoi <ENTER> se execut operaia de tergere.
-

42

Redirecionarea intrrii/ieirii comenzilor


Pentru a redireciona intrarea sau ieirea unei comenzi, se pot utiliza caracterele: > ieirea unei comenzi se va transmite ntr-un fiier sau ctre un dispozitiv periferic; < intrarea necesar unei comenzi va fi preluat dintr-un fiier; >> ieirea unei comenzi este adugat la sfritul unui fiier, fr a terge informaia deja existent.

43

Redirecionarea intrrii/ieirii comenzilor


Exemple: 1. Comanda: DIR > LISTA.TXT asigur redirecionarea listei ce se obine prin comanda DIR ctre fiierul LISTA.TXT. Dac fiierul nu exist, el va fi creat n directorul curent de pe unitatea implicit; dac exist, se va nlocui informaia care o conine cu aceea ce se va obine. 2. Prin comanda: DIR > PRN se va trimite lista cu numele fiierelor din directorul curent ctre imprimant.

44

Comenzi pipe

Dac se dorete ca ieirea unei comenzi s fie intrare pentru alta se vor tasta comenzile pe o singur linie de comand, fiind separate prin simbolul pipe , linie vertical ( | ). Exemple: Fie linia de comand: DIR | SORT 1.
1.

Lista obinut prin comanda DIR va fi folosit ca intrare pentru comanda SORT, astfel nct pe ecran va apare o list ordonat alfabetic.

2.

Linia de comand: DIR | SORT | MORE afieaz aceeai list ca n exemplul precedent, afiarea fcndu-se de data aceasta ecran cu ecran.

45

WINDOWS

Arhitectura mediului Windows

Arhitectura mediului Windows a fost proiectat astfel nct s fie asigura-t protecia taskurilor executate simultan. Protecia se bazeaz pe ierarhia de tutel potrivit creia un task poate s acceseze numai taskurile situate pe un nivel superior (fig. 5.1.)
2

Arhitectura mediului Windows


Nivelul 0 este asociat sistemului de operare, iar nivelul 3, programelor de aplicaie; nivelurile 1 i 2 conin drivere de echipamente neincluse n nivelurile 0 sau 5. Acest mod de aezare a taskurilor asigur faptul c orice ncercare de acces neautorizat, va genera o excepie care va lansa rutina de violare a inelului de protecie.

Windows 95 i Windows NT 4.0 spre deosebire de versiunile precedente, utilizeaz modelul de memorie nedifereniat. Modelul este suportat pe PC-urile AT386 sau superioare. Prin aceasta nu se elimin mecanismul de segmentare, ns sistemul de operare ignor aceast capacitate.

Adresare n Windows
n modul de adresare nedifereniat, fiecare registru conine o adres pe 32 de bii divizat n trei cmpuri, fiecrui cmp corespunzndu-i un anumit nivel de protecie (fig. 5.3.): 1) localizarea tabelei de pagini, care solicit volumul total de memorie necesar; numrul de pagini din tabel corespunde cu numrul de pagini de 4 K alocate aplicaiei (o aplicaie ce solicit 100 K de RAM, are 25 de intrri); 2) localizarea paginii n tabela de pagini; 3) localizarea oricrui byte din pagina de 4 K, prin adunarea deplasrii (off set) - biii 0-11.

Modul de adresare nedifereniat

Arhitectura de baz
Arhitectura de baz i componentele mediului Windows sunt redate n fig. 5.4. Sistemul VM ( Virtual Mode ) Sistemul VM furnizeaz majoritatea funciilor destinate utilizatorului; este alctuit din urmtoarele componente :

Arhitectura de baz

Windows const dintr-o combinaie de aplicaii pe 16 bii i 32 de bii; pentru a permite comunicaia ntre cele dou categorii de aplicaii, Windows folosete un strat de conversie (thunk layer), constituind o stiv aferent sensului de comunicaie ( fig. 5.5 ). Alturi de stratul de conversie, asemntor altor sisteme de operare ce execut multitasking (OS/2,UNIX), Windows folosete pentru realizarea legturii ntre aplicaii fiiere DLL (Dynamic Link Library).
9

Arhitectura de baz

Exist dou forme de legare ( linking ) sub Windows (sau OS/2 sau UNIX). Prima legtur combin toate modulele obiecte necesare pentru a crea o aplicaie unic; legarea are loc dup ce programatorul termin de copiat codul. Al doilea ciclu de legare are loc atunci cnd utilizatorul trece la ncrcarea aplicaiei .Aici este momentul n care intervine DLL. Fiecare aplicaie Windows are referine nerezolvate la funcii (numite apeluri de biblioteci de import). Aceste apeluri ncarc un fiier DLL care conine codul necesar pentru. a satisface acel apel de funcie .
10

ARHITECTURA I COMPONENTELE MEDIULUI WINDOWS -fig.5.4

Maina virtual DOS


Fiecare main virtual dispune de propriul su spaiu de memorie i acces la echipamentele de sistem, Windows crend impresia c este singura aplicaie care se execut pe sistem (cerin MS-DOS). O main virtual DOS ruleaz n mod 86 virtual crend n memoria protejat mai multe maini 8086 a cte 1 M fiecare. Unele aplicaii DOS utilizeaz extensii compatibile DPMI care le permit rularea n mod protejat.

12

Maina virtual DOS

13

API (Application Programming Interface )


Fiecare aplicaie Windows capt acces la sistemul de operare utiliznd o interfa API. n esen, un apel API face acelai lucru ca orice ntrerupere: cere sistemului de operare s execute un task.

14

Structura Windows

Indiferent ce API utilizeaz, orice aplicaie va adresa trei componente de baz: versiunile pe 16 bii ale acestor fiiere sunt GDI.EXE, USER.EXE i KRNL 386.EXE, iar versiunile pe 32 de bii sunt GDI32.DLL,USER32.DLL i KERNEL32.DLL: Kernel - nucleul Windows (KERNEL386.EXE sau KERNEL32.DLL) furnizeaz suport pentru funciile de nivel jos de care are nevoie o aplicaie pentru a rula. Aceast component nu trateaz nici cu mediul i nici cu echipamentele; ea interacioneaz numai cu Windows nsui .

15

Structura Windows
Graphical Device Interface - mediul ecipamentelor 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 urmreasc toate ferestrele create de aplicaii pentru a afia diverse tipuri de informaii. Ori de cte ori o aplicaie afieaz o pictogram sau un buton, folosete un anumit tip de funcie inclus n USER.

16

PLUG and PLAY (PNP)


PNP reprezint lucrul a trei componente de sistem: hardware-ul, componenta BIOS i sistemul de operare. El activeaz lucrurile eseniale ale sistemului cum ar fi unitatea de disc i adaptorul de afiaj. n timpul procesului de iniiere, sistemul de operare ncheie taskul de alocare a ntreruperilor i a adreselor de porturi ale tuturor componentelor sistemului. El cere componentei BIOS s furnizeze o list a alocri anterioare, pentru a nu le mai utiliza nc o dat.

17

PLUG and PLAY (PNP)


Caracteristici suplimentare oferite de standardul PNP: identific echipamentele instalate Windows detecteaz automat toate componentele ataate la sistem. determin necesitile de resurse ale echipamentelor Orice echipament instalat pe calculator are nevoie de resurse sub forma ciclurilor procesor, porturi de intrare / ieire , canale DMA, memorie i ntreruperi. Windows lucreaz cu componenta BIOS i echipamentele periferice pentru a veni n ntmpinarea acestor necesiti fr nici o intervenie.
18

PLUG and PLAY (PNP)


actualizarea automat a configuraiei sistemului i detectarea conflictelor dintre resurse Fiierele CONFIG.SYS i AUTOEXEC.BAT conineau linie dup linie, instruciuni de lansare a programelor driver de echipamente i TSR; Windows poate menine sau chiar s mbunteasc performanele unui sistem PNP fr a utiliza un fiier 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 schimbrii configurrii PNP ar putea modifica configurarea sistemului automat, doar atunci cnd se modific eventual configuraia sistemului; Windows anun acest lucru, afind o caset de dialog n care spune ce s-a modificat

19

Sistemul de baz
Sistemul de baz conine toate serviciile sistemului de operare : a) controlul fiierelor - ofer o interfa pentru toate echipamentele conectate la PC; b) servicii de reea - ofer faciliti de lucru n reeaua Microsoft i lucrul n mod protejat pentru majoritatea produselor LAN; c) servicii de sistem de operare care includ caracteris-ticile PNP, solicitri ale utilizatorului i ale sistemului de operare;
20

Sistemul de baz
d) gestiunea mainii virtuale se ocup de :

programarea execuiei taskurilor; lansarea n execuie i oprirea oricrei aplicaii din sistem; controlul memoriei virtuale prin intermediul interfeei API; controlul tuturor operaiilor de alocare a memoriei, inclusiv acionarea ca un server DPMI (interfaa pentru modul protejat DOS) pentru aplicaii MS DOS care ruleaz n mod protejat; comunicaia dintre taskuri care filtreaz toate cererile pentru DDE (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 fr comutarea n modul real.
21

Arhitectura Windows 98
1.

2.

3.

Arhitectura de baz din Windows 98 ofer numeroase avantaje pentru utilizator : Sistem de operare pe 32 de bii n modul protejat, complet integrat - dispare astfel necesitatea unui exemplar MS - DOS separat ; Sistem multitasking controlat i multifir - aceste caracteristici asigura reacia corespunztoare a sistemului i procesarea n fundal; Sistem de fiiere instalabile pe 32 de bii - sisteme cum ar fi VFAT, sistemul de fiiere pentru CD-ROM (CFS), FAT32 i redirectoare de reea, asigur performane superioare, posibilitatea utilizrii denumirilor lungi de fiiere i o arhitectur deschis care permite evoluii viitoare ;
22

Arhitectura Windows 98
4.

5.

6.

7.

8.

Drivere de dispozitiv pe 32 de bii disponibile n ntregul sistem care asigura performane superioare i utilizarea eficient a memoriei; Nucleu integral pe 32 de bii cuprinde componente de gestionare a memoriei, secveniator i componente de gestionare a proceselor; Soliditate a sistemului i faciliti de eliberare a memoriei ceea ce elibereaz memoria la terminarea sau blocarea aplicaiilor; Configurare dinamic a mediului astfel c necesitatea interveniei utilizatorului pentru a-i configura calculatorul este redus; Capacitate superioar a sistemului face ca limitele de acces la resursele sistemului n cazul rulrii simultane a mai multor aplicaii s fie mai flexibile
23

Windows 98
Windows 98 ofer urmtoarele servicii de sistem:

gestionarea proceselor i firelor de execuie; comunicaii i sincronizare ntre procese; subsistem Win32 complet controlat; servicii I/O pentru CD-ROM i hard disc; servicii I/O de reea; servicii de tiprire; operaii grafice de nivel nalt; gestionarea ferestrelor.
24

Windows 98
Pentru a rspunde cerinelor de compatibilitate cu aplicaiile i driverele existente, de micorare a dimensiunii setului de lucru al sistemului de operare i mbuntire a performanelor sistemului, Windows 98 folosete o combinaie de cod pe 32 de bii i pe 16 bii. n general, codul pe 32 de bii este folosit n Windows 98 pentru a mbunti performanele sistemului, n timp ce codul pe 16 bii rspunde cerinelor de reducere a dimensiunii sistemului i de meninere a compatibilitii cu aplicaiile i driverele existente (fig. 5.7.).

25

Windows 98
Driverele de dispozitiv virtual din Windows 98 preiau funcionalitile unor drivere de dispozitiv n modul real sub MS-DOS, eliminnd necesitatea ncrcrii lor MS-DOS. Aceast tehnic asigur o amprent minim n memoria convenional, performane ridicate, precum i fiabilitatea respectiv stabilitatea sistemului.

26

27

Windows 98
Windows 98 asigur compatibilitatea cu magistralele USB, cu interfeele pentru controllerele-gazd Universal i Open i cu dispozitivele USB pentru intrri de la utilizator. Arhitectura integrat a sistemului de operare Windows 98 permite rularea de aplicaii sub MSDOS, Win16 i Win32. Componentele sistemului sunt mprite ntre nivelul 0 i nivelul 3, realiznd diferite niveluri de protecie ( fig. 5.8.) Nivelul 3 este protejat de alte procese n derulare, prin serviciile asigurate de arhitectura procesorului Intel. Nivelul 0 este format din serviciile de nivel sczut ale sistemului de operare cum ar fi gestionarea sistemului de fiiere i a componentelor virtuale.
28

29

Windows 98
Facilitile din Windows 98 care asigur soliditatea sistemului de operare sunt:

mai bun reiniializare local; eliberarea firelor de execuie ale driverelor de dispozitiv virtual la ncheierea procesului; urmrirea strii firelor de execuie; validarea parametrilor driverelor de dispozitiv virtual.

30

Windows 98

Windows 98 asigur protecia memoriei pentru rularea aplicaiilor sub MS-DOS, mpiedicnd aplicaiile s suprascrie zona de sistem MS-DOS n modul real. La nchiderea unui sistem virtual sub Windows 98 fie prin procedura normal cnd utilizatorul prsete aplicaia sau solicit o reiniializare local, fie accidental cnd se blocheaz aplicaia, sunt eliberate toate resursele alocate sistemului virtual. Windows 98 asigur faciliti pentru aplicaiile sub Win16 i compatibilitatea cu aplicaiile sub Windows existente, meninnd solicitrile de memorie la un nivel redus.
31

Windows 98

Aplicaiile sub Win 32 beneficiaz i de sistemul de multitasking controlat, de un spaiu de adres liniar (nu segmentat) i de un set API cu numeroase faciliti. Aplicaiile sub Win32 folosesc iruri separate de mesaje pentru a asigura soliditatea sistemului. Sistemul preia mesajele din irul de intrare i le transmite aplicaiei corespunztoare sub Win32 sau sub sistemului Win16, n cazul n care mesajul este destinat unei aplicaii sub Win16 (fig. 5.9.).

32

33

Caracteristici adugate la Windows 98


Noile caracteristici ale sistemului de operare Windows 98 pot fi clasificate n:

platforma pentru inovaii; simplitate, vitez i putere; fiabilitate i posibiliti de administrare superioare; integrare Internet.

34

Win32 Driver Model (WDM)

Win32 Driver Model (WDM) este un nou model de driver universal pentru Windows 98 i Microsoft Windows NT 5.0 i permite ca noile dispozitive s aib un singur driver pentru ambele sisteme de operare. FAT32, versiunea mbuntit a sistemului de fiiere FAT (tabela de alocare a fiierelor) permite formarea discurilor de peste 2 G ca o singur unitate. Pentru mai mult flexibilitate, Windows 98 conine i un utilitar de conversie grafica
35

FAT32

FAT32, care poate converti rapid i sigur o unitate de disc de la versiunea FAT iniial, la FAT32. Windows 98 include suport pentru interfaa de configurare avansat i de gestionare a consumului (Advanced Configuration and Power InterfaceACPI). n afar de facilitatea ACPI, Windows 98 ofer suport pentru extensiile Advanced Power Management (APM) 1.2, inclusiv pentru oprirea hard discului, pentru interfaa PCMCIA, pentru dezactivarea modemului i reluarea funcionrii n cazul apelului telefonic.
36

Defragmentare a discului pentru a mri viteza de rulare a aplicaiilor utilizate frecvent. n acest scop, aplicaia Wizard creeaz un fiier jurnal (log), cu ajutorul cruia identific programele folosite cel mai des. Prin plasarea tuturor fiierelor unei aplicaii n aceeai zon de pe hard disc, se va mbunti viteza de rulare a aplicaiei respective. Aplicaia Windows Tune Up Wizard permite planificarea unei zile i a unei ore n fiecare sptmn, n care calculatorul s efectueze singur o operaie de "curare", adic s tearg fiierele inutile i s efectueze defragmentarea discului pentru aplicaiile folosite frecvent, astfel nct acestea s ruleze ct mai rapid.
37

Point-to-point Tunneling Protocol (PPTP)

Windows 98 este compatibil cu standardul Infrared Data Association (IrDA) pentru conectare fr fir. Suportul pentru IrDA le permite utilizatorilor sistemului de operare Windows 98, s se conecteze cu uurin la dispozitivele periferice sau la alte calculatoare, fr a folosi cabluri de conectare. Acest set de drivere asigur calculatoarelor portabile (laptop) sau de birou (desktop) dotate cu echipament pentru conectare prin radiaii infraroii, posibilitatea de lucru n reea, de transfer de fiiere i de tiprire fr fir, prin intermediul altor dispozitive compatibile IrDA care lucreaz pe baz de radiaii infraroii.
38

Point-to-point Tunneling Protocol (PPTP)

Point-to-point Tunneling Protocol (PPTP) ofer posibilitatea de a utiliza reele de date publice, cum este Internet, pentru a crea reele virtuale private prin conectarea unor calculatoare client cu serverele de reea. PPTP furnizeaz un sistem de ncapsulare a protocolului n scopul folosirii protocoalelor multiple prin intermediul legturilor TCP/IP i criptrii datelor pentru garantarea confidenialitii, transmiterea de informaii prin reele neprotejate devenind n acest fel mai sigur.
39

ActiveMovie este o nou arhitectur multimedia pentru Windows, prin care se obine o redare video de o calitate ridicat i un set extensibil de interfee cu ajutorul crora se pot crea aplicaii i instrumente media.

Windows 98 ofer suport pentru programele realizate de alte firme care folosesc extensiile Intel Pentium Multimedia Extensions (MMX) pentru a beneficia de facilitile audio i video ale noii generaii de procesoare Intel Pentium. Ofer servicii client pentru reele NetWare care sunt compatibile cu Novell NetWare Directory Services (NDS). Acestea permit utilizatorilor s se conecteze la servere Novell NetWare 4.x rulnd NDS pentru a obine accesul la fiiere i la resurse de tiprire.
40

System Update este un nou serviciu bazat pe Web care scaneaz calculatorul pentru a afla componentele hardware i software instalate, iar apoi compara aceste informaii cu cele dintr-o baz de date actualizat, pentru a stabili dac exist drivere sau fiiere de sistem mai noi. n cazul n care gsete drivere sau fiiere de sistem mai recente, acest serviciu poate s le instaleze n mod automat. Exist chiar i o funcie de anulare (rollback), care poate elimina driverul instalat automat de Internet System Update. System File Checker este un nou utilitar care furnizeaz o modalitate simpl de a verifica dac fiierele de sistem din Windows 98 nu au fost modificate sau alterate. El include i un mecanism simplu pentru refacerea versiunilor originale ale fiierelor de sistem, n cazul n care acestea au fost modificate.

41

Windows 98 conine o gam larg de instrumente pentru comunicarea on-line:


- Microsoft Outlook Expres, o aplicaie client cu toate facilitile pentru e-mail i citirea mesajelor - Microsoft NetMeeting, o soluie complet pentru conferine n Internet care ofer funcionaliti bazate pe standarde audio, de date i video - Microsoft NetShow, care permite urmrirea transmiterii radio /TV n direct sau nregistrate, fr ateptare pentru ncrcare sau reducerea performanelor reelei - 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 faciliti de editare HTML, ce permit chiar i utilizatorilor nceptori s creeze cu uurin pagini Web - Personal Web Server care furnizeaz o modalitate simpl de publicare a paginilor Web n reele locale sau n Internet.

42

Windows 2000

Windows 95/98 i NT desprite n ultimii ani, sunt combinate n noul produs universal Windows 2000, dotat pentru aplicaii profesionale, multimedia, jocuri cu o mare amprent asupra securitii datelor. Windows este considerat cel puin ncepnd cu versiunea 98, ca un sistem de operare destul de stabil. La Windows NT, acest lucru a stat n fruntea prioritilor dezvoltatorilor, chiar ncepnd cu versiunea 5.1. Productorii au ncercat s elimine din Windows 2000, ecranul albastru la declanarea unor erori vitale (suprnumit i Blue Screen of Death) folosind verificarea automat a registrelor, realiznd automat un backup al celor mai importante DLL-uri, afectnd domenii strict delimitate pentru aplicaiile ncrcate i implementnd noile sisteme de fiiere FAT 32 i NTFS 5.
43

Windows 2000

n timp ce Windows NT ofer pentru un start sigur modul VGA i revenirea la ultima configuraie funcional 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 aceleai nregistrri ca i n meniul din Windows 95/98:

Safe Mode cu drivere de reea (ncarc n plus suportul de reea pentru Windows 2000); Safe Mode cu solicitare de introducere a datelor (pornete Windows 2000 cu o configuraie minimal a driverelor i renun la ncrcarea interfeei grafice, ajungndu-se n modul linie de comand);
44

Windows 2000

Activare protocol de start (lansarea i executarea serviciilor i a driverelor); Activarea modului VGA (lanseaz Windows cu driverul standard VGA); Ultima configuraie funcional cunoscut (folosete setrile ultimului proces de boot reuit); Restaurarea serviciului de directoare (controller de domeniu Windows 2000 care activeaz noi servicii directoare din Windows 2000 - e posibil astfel accesarea sistemului prin intermediul unei reele); Lansarea normal (Windows booteaz cu toate driverele i uneltele de sistem).
45

Windows 2000

Microsoft a integrat NTFS 5 n Windows 2000 incompatibil cu predecesorul sau NTFS din Windows NT 4. Cu Windows 2000, administratorul are posibilitatea de a acorda fiecrui utilizator un anumit spaiu de stocare pe partiie. nainte de epuizarea acestui spaiu, utilizatorul este avertizat. Dup aceea, sistemul nu mai accept stocarea datelor utilizatorului respectiv. De asemenea, este posibil codificarea directoarelor i fiierelor automat si in timp real. Sistemul de operare poate atribui o unitate de disc oarecare unui director vid dintr-o partiie NTFS. n acest fel se poate atribui, de exemplu unitatea CDROM directorului C:\CDROM.
46

Windows 2000
Este anulata astfel limitarea la cele 26 litere ale alfabetului pentru unitile de disc. Un alt lucru important introdus de noul sistem de fiiere este USN-Journal (Update Sequence Number) ce reprezint un cod care preia modificrile fiecrui fiier i director; codurile sunt stocate n Windows 2000 ntr-o baza de date i anume USN-Journal, care este utilizabil pentru orice program. Cu ajutorul acestui jurnal pot fi realizate de exemplu, programe de backup eficiente.

47

Windows 2000
Un utilizator obinuit, cu drepturi limitate n Windows 2000, nu va simi o prea mare diferen fa de Windows 95/98. Exista n continuare obinuitul taskbar (bara de lucru) i butonul de start. Nici n ceea ce privete desktop-ul nu sunt modificri, fcnd abstracie de pictogramele care au suferit unele modificri. n schimb, un administrator va trebui sa se adapteze cu noua configurare a sistemului, mai clar dect Windows NT i cu mai multe posibiliti; funciile ns, nu se mai gsesc n acelai loc.

48

Windows 2000
Nucleul administrrii Windows 2000 l reprezint Microsoft Management Console(MMC) care se gsete sub denumirea de Computer Management, apelabil din Control Panel/Administrative Tools, ori prin intermediul meniului contextual din My Computer. MMC reunete sub o singur interfa Device Manager , informaiile de sistem din Windows 95/98 i programele de configurare care se afl n Windows NT, directorul Administrative Tools(Common). MMC este mprit n trei domenii: System Tools Storage Services and Aplications Exist ns posibilitatea adugrii de snap-in-uri.

49

Windows 2000
Din System Tools fac parte: Event Viewer System Information Un nou director Performance Logs and Alerts Directorul Shared Folders(permite controlul partajrii resurselor pe fiecare disc) Device Manager Local Users and Groups, corespunztor utilizatorilor din NT.

50

n Storage se gsete:
Managerul de hard disc Programul de defragmentare nou ataat Vizualizarea unitilor logice (Logical Drives) Directorul Removable Storage care permite gestionarea comun a unitilor CD-ROM, DAT, ZIP i a celorlalte unitti de acest fel.

51

Windows 2000- Services and Aplications


Services and Aplications conine alturi de o privire de ansamblu asupra serviciilor i a noii funcii de indexare, instrumentaia de administrare Windows (Windows Management Instrumentation-WMI), care se refer la achiziia on-line de date despre dispozitive i posibilitatea monitorizrii funcionrii acestora. O serie de programe incluse n MMC apar i separat, n meniuri contextuale pe desktop, n meniul de Start i n Control Panel.

52

Protocolul PPTP

Windows 2000 este optimizat pentru utilizarea n reea, incluznd noi funcii, n idea de a securiza conexiunile de reea cu utilizatorii aflai la distan mare. Astfel, este integrat protocolul PPTP (Point-toPoint Tunneling Protocol) i L2TP (Layer 2 Tunneling Protocol), ceea ce permite crearea reelelor private virtuale(VPN). Conexiunea on-line comun ncepnd de la grupuri de lucru mai mici este permis deja n Windows 98 SE prin Internet Connection Sharing, ea gsindu-se i n Windows 2000. Cu ajutorul acestei funcii este posibil realizarea de conexiuni la Internet printr-un modem utilizat n comun.
53

Active Directory i IntelliMirror


Pentru administrarea reelelor mari sunt importante Active Directory i IntelliMirror:

Active Directory permite n cutarea de calculatoare, imprimante sau persoane n ntreaga reea sau n imediata apropiere; IntelliMirror permite att deservirea de la distan a workstation-urilor, ct i stocarea pe server de profiluri detaliate de utilizatori.

54

Windows 2000 - retea

Reeaua poate fi configurat n aa fel nct fiecare utilizator poate gsi pe orice calculator setrile personale. n momentul n care se conecteaz n reea, Windows 2000 configureaz att desktop-ul personalizat ct i aplicaiile (Microsoft a unificat setrile de reea Dial-up Networking i accesul RAS care pot fi accesate prin Properties din meniul contextual al Network Neighborhood), a. configurarea reelei cu adaptor, protocoale, etc., nu mai poate fi accesat direct prin meniul contextual din Network Neighborhood, ci numai prin Local Area Connection/Properties din acest meniu.
55

Windows 2000 - retea


Astfel, la conectarea cu alte calculatoare din reea, este posibil alegerea unui alt nume de utilizator i a parolei; nu este necesar conectarea la propriul calculator cu numele de utilizator corespunztor care s fie acceptat i de ctre calculatorul respectiv.

56

Programul de defragmentare- o alt noutate


El se bazeaz pe shareware-ul Diskkeeper Lite i lucreaz cu fiiere att de pe partiii NTFS, ct i pe uniti FAT i FAT32. Programul de backup din NT este nlocuit printrun program cu facilitatea de control a discurilor de stocare ce pot fi scoase din sistem i posibilitatea de verificare a fiierelor mai rar folosite; acesta permite un control programat n timp al backup-urilor. Programul creeaz opional i o dischet de recuperare a informaiilor vitale prezente n sistem.

57

Programul de defragmentare
Funcia de cutare ruleaz printr-o interfa HTML i utilizeaz opional pentru accelerare, un index care preia coninutul fiierelor pe unitatea local. Acest lucru funcioneaz ns numai pe partiii NTFS.

58

Windows 2000 - facilitati


Dintre facilitile 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 sau ISA. Cablul audio nu mai este necesar, dar este nevoie ca i unitatea CD-ROM s suporte aceast facilitate. Sunt recunoscute fr probleme o mulime de componente care apoi sunt integrate n sistem. n plus, fa de Windows NT, exist i suport pentru joystick.
59

Windows 2000

Funciile din Windows 95/98 i NT pentru sincronizarea fiierelor cu un Notebook au fost extinse i n Windows 2000. Nu mai exist Briefcase, n schimb la accesarea directorului Network Neighborhood n meniul contextual al Explorer-ului se gsete comanda Make Available Offline. Prin intermediul comenzii Synchronize din meniul Start poate fi reglementat sincronizarea datelor i actualizarea de pagini Web. Pentru utilizarea pe notebook-uri, Windows 2000 pune la dispoziie standardul ACPI. Setrile corespund n mare celor din Windows 98, dar au fost extinse cu alte scheme de energie pentru un consum minim al bateriei; o noutate o constituie modul Hibernate care salveaz stadiul actual al aplicaiilor deschise, restaurndu-l automat la repornirea Windows-ului.
60

Windows 2000

Windows 2000 reunete securitatea i stabilitatea din Windows NT cu facilitile multimedia i confortul din Windows 98. Comenzile i funciile care se leag din punct de vedere tematic, se gsesc n acelai director. Cutarea unui dialog pentru instalarea unui nou driver a fost eliminat. Device Manager din Windows NT a fost nlocuit cu cel din 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 n primul rnd profesionitilor care au nevoie de o securitate crescut a datelor i care lucreaz ntr-o reea.
61

Windows 2000 - avantaje

Avantajele oferite de Windows 2000 pentru utilizatorii Windows 95/98 se pot rezuma astfel: Sistemul de operare va rula fr probleme pe un calculator cu dotare modern i toate componentele vor fi recunoscute i integrate n sistem. Nu sunt necesare alte investiii pentru hardware; Setup-ul i instalarea altor componente se va desfura mai simplu dect n Windows 98, datorit facilitilor Plug&Play mbuntite; exist o serie de asisteni care ofer ajutor n caz de nevoie;
62

Windows 2000 - avantaje


Conexiunea la Internet sau chiar la o mic reea este simplificat; Windows 2000 ofer faciliti multimedia mbuntite fa de Windows 98; Interfaa nu presupune o perioada de acomodare, semannd cu cea din Windows 98 cu Internet Explorer 5; Blocrile sunt rare datorit mecanismului de protecie, sistemul rezistnd 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, iar datele importante pot fi bine protejate mpotriva tergerii lor; totodat, accesul la Internet poate fi limitat pentru anumite persoane.

63

Windows 2000 - dezavantaje


Windows 2000 cost mult mai mult ca Windows 98; Noile funcii de administrator sunt mai greu de neles de ctre neiniiai; Windows 2000 lucreaz mai lent dect 98 innd cont de cerinele hardware mai ridicate; Jocurile DOS nu ruleaz sub Windows 2000, iar pentru jocurile 3D nu exist nc drivere Direct3D pentru toate plcile grafice.

64

Windows 2000 - Avantaje


Avantajele aduse pentru utilizatorii care au folosit anterior Windows NT: Interfaa cu utilizatorul nu s-a prea modificat, ceea ce elimin o nou colarizare a personalului; Windows 2000 se instaleaz mai rapid i mai simplu ca Windows NT; Configurarea i ntreinerea calculatoarelor Windows 2000 este mai simpl i mai uor de urmrit; Windows 2000 ofer posibiliti mbuntite de administrare n reea. O serie ntreag de sarcini pot fi rezolvate central, economisinduse astfel timp;
65

Windows 2000 - Avantaje


Funciile pentru utilizarea pe un notebook au fost mbuntite, sincronizarea datelor fiind mai simpl i mai confortabil; Power Managementul din Windows 2000 este mult mbuntit fa de cel din NT, crescnd astfel timpul de lucru al unui notebook ce nu este conectat la o reea; Legturile cu celelalte calculatoare, prin reea sau Dial-up Networking, sunt concepute astfel nct datele confideniale sunt mai bine protejate; Datele confideniale pot fi protejate foarte uor prin noul sistem de fiiere NTFS5 i prin funcia sa de criptare;

66

Windows 2000 - Avantaje

Programul de back-up integrat, permite salvarea automat a datelor de pe workstation-uri pe server, fr s fie nevoie de programe suplimentare; Conexiunile n reea a diferitelor staii de lucru ntre ele sau cu serverul, sunt mai flexibile dect n Windows NT; Exist o versiune n mai multe limbi a lui Windows 2000, destinat utilizrii n ntreprinderi mixte, permind apelarea meniurilor i a funciei de help n orice limb.
67

Windows 2000 - dezavantaje


Dezavantajele regsite de utilizatorii Windows NT pentru trecerea la Windows 2000,const n: Dotarea actual a calculatoarelor, insuficiena staiile de lucru avnd nevoie de mai mult memorie. Achiziionarea de calculatoare Pentium II/III sau Athlon este costisitoare. Pentru lucrul mobil, este nevoie de notebook-uri noi sau de upgrade-uri la cele vechi, iar sistemele server au nevoie de mai mult memorie. Funciile de administrare extinse presupun o colarizare a personalului de ntreinere pentru suportul de reea.
68

SISTEMUL DE OPERARE UNIX

Noiuni introductive

UNIX este un sistem de operare timesharing universal. Principala sa caracteristic este portabilitatea - disponibilitatea sa pentru majoritatea sistemelor de calcul (supercalculatoare, mainframes, minicalculatoare, sisteme de birotic, microcalculatoare).
2

Noiuni introductive

Oportunitatea apariiei acestui sistem de operare a constat din:

Necesitatea standardizrii i unificrii sistemelor de operare, n special a interfeei cu utilizatorul; Pstrarea n condiiile transferului pe alte sisteme de calcul, a structurii volumelor i fiierelor; Asigurarea unor niveluri superioare de portabilitate a produselor program; Posibilitatea interconectrii de sisteme cu arhitecturi, tipuri i puteri diferite, sub acelai sistem de operare. Independena software-ului de aplicaii, fa de evoluia hardware.
3

CARACTERISTICI I COMPONENTE MAJORE

In anul 1969 apare prima versiune experimental scris n limbaj de 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 asigurrii portabilitii. n 1978 s-a realizat prima implementare comercial IS/1 (Interactive System One), urmat la scurt timp de versiunea XENIX a firmei Microsoft. n 1980, UNIX s-a impus ca principal soluie de standardizare in domeniul sistemelor de operare, reprezentnd o modalitate de realizare a sistemelor deschise pentru toate categoriile de sisteme de calcul.
4

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.).

CARACTERISTICI I COMPONENTE MAJORE

Caracteristici de baz:

Este un sistem de operare time - sharing, multiuser i multitasking; Asigur protecia fiierelor i execuiei, prin existena unor parole i drepturi de acces; Dispune de intrri/ieiri generalizate prin care operaiile de intrare/ieire sunt integrate n sistemul de fiiere; Existena unui sistem de ntreruperi logice pentru sincronizarea proceselor reentrante i asincrone multiple; Managementul spaiului afectat execuiei proceselor i controlul timpului de acces la procesele n ateptare, se face prin transferul de pagini ntre memoria RAM i cea extern;

Caracteristicile de baz:

Existena unei interfee simple i interactive (SHELL) prin care se asigur dialogul utilizatorului cu sistemul de operare; Caracterul de sistem deschis este conferit de asigurarea att a portabilitii sistemului de operare, ct i a software-ului de aplicaie; Acoperirea unei vaste game de aplicaii: compilatoare, sisteme de gestiune a bazelor de date (Oracle, Gupta), reele de calculatoare, inteligen artificial, simulare, gestiune, statistic, instruire asistat de calculator, etc.; Permite execuia aplicaiilor n MS-DOS, n paralel cu execuia de procese sub UNIX (submeniu pentru MS-DOS); ntreinere i dezvoltare facil.

Arhitectura sistemelor de calcul ce lucreaz cu UNIX


Arhitectura unui sistem de calcul din punct de vedere al funcionalitii, se prezint sub form stratificat pe trei niveluri (fig.6.2.). Nivelul de baz este nivelul fizic -nivelul la care opereaz hardware-ul, acesta incluznd dispozitivele fizice, microcodul i limbajul de asamblare.

Arhitectura sistemelor de calcul ce lucreaz cu UNIX

10

Arhitectura sistemelor de calcul ce lucreaz cu UNIX


Urmtorul nivel -software-ul de baz sau software-ul de sistem are ca principal component sistemul de operare avnd la baz nucleul (Kernel) alturi de editoare de texte, compilatoare, interpretere de comenzi i utilitare. Nivelul superior materializat prin software-ul aplicativ, cuprinde practic, o gam infinit de aplicaii.

11

Este de remarcat faptul c orice nivel comunic numai cu nivelul imediat inferior sau superior, furniznd servicii pentru nivelul imediat superior. Scopul principal al SO este acela de a controla resursele hardware ale sistemului; Se poate aprecia c SO acioneaz ca o interfa ntre utilizator reprezentat prin programele de aplicaie pe care acesta le lanseaz n execuie i componenta hardware (fig. 6.3.).

12

Arhitectura sistemelor de calcul ce lucreaz cu UNIX

13

Componentele majore ale sistemului UNIX


Nucleul (Kernel) este componenta care asigur servicii de sistem pentru programele de aplicaii asigurnd gestiunii proceselor, a memoriei, a intrrilor / ieirilor i a timpului; Shell - interpreterul de comenzi, reprezint mecanismul prin care sistemul de operare realizeaz interfaa ntre utilizator i sistemul de calcul; interpreterele de comenzi existente pe sistemele de operare Unix sunt:

14

* Bourne Shell (bsh) i Bourne Again Shell (bash) al crui productor 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.

15

Componentele majore ale sistemului UNIX


Sistemul de fiiere cuprinde programe utilitare, aplicative i de gestiune a operaiilor de intrare/ieire. Interfeele disponibile utilizatorului sunt organizate pe trei niveluri: * nivelul exterior nucleului, care poate fi accesat de ctre utilizator prin intermediul utilitarelor; * nivelul intermediar, accesat prin funcii din biblioteca limbajului C; * nivelul inferior, a crui accesare se realizeaz prin funciile de sistem (System Calls).

16

Componentele sistemului UNIX

17

Asemntor MS-DOS-ului care n cursul dezvoltrii sale a fost dotat cu interfeele grafice Windows, UNIX-ul a ncorporat ca principale interfee grafice: * X/Windows al firmei MIT, folosit i de SCO n versiunile Open DeskTop (ODT); * Open Look al crei productor au fost firmele AT&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.

18

FIG.6.5

19

Tipuri de sisteme de operare UNIX

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

20

Sistemul de operare UNIX System V SysV (System Five) lucreaz cu urmtoarele tipuri de fiiere:
1.

Fiiere obinuite Aceste fiiere sunt constituite dintr-un ir de bytes (memorai de obicei pe disc) terminat cu un marker de sfrit de fiier (EOF). irul este divizat n linii de text terminate cu caracterul "new line" (CR). Restricii- de lungime, format utilizat;
21

Fiiere speciale
Fiiere speciale se constituie ca o interfa ntre programele utilizator i rutinele nucleului sistemului de operare, ce lucreaz direct cu dispozitivele periferice de intrare/ieire. Astfel, utilizatorul va trata perifericele de intrare/ieire ca fiiere, activarea unui astfel de fiier coinciznd cu activarea driverului dispozitivului periferic asociat.

22

Fiiere speciale sunt de 3 categorii:


Fiiere de tip caracter sunt fiierele care transfer un byte printr-o operaie de intrare/ieire; Fiiere de tip bloc sunt fiierele care transfer un bloc printr-o operaie de intrare/ieire; Fiiere de tip pipe sunt fiiere ce constituie canale de comunicaie ntre 2 procese; comunicaia ntre dou procese se poate realiza n memorie prin fiiere pipe obinuite, sau pe disc prin aa zisele fiiere pipe (named pipe).

23

Tipuri de fiiere
Cataloage de fiiere (directori) Directorii sunt cataloage de fiiere ce conin numele fiierelor componente i adresa fizic pe unitate simbolizat prin: . (un singur punct) identific numele directorului propriu, numit Home directory (2 bytes); .. (dou puncte) identific numele directorului printe n care fiierul cu un anumit index (inod) apare ca subdirector (14 bytes). Aceste fiiere nu se pot citi/scrie direct de utilizator, operaiile efectundu-se prin directive de sistem.

24

Structura arborescent a sistemului de fiiere


Sistemul de fiiere UNIX System V este organizat ntr-o structur arborescent sub form de directori i subdirectori conectai la directorul rdcin (/root). Restricia de parcurgere este ca un director s nu fie legat la nivelul superior dect printr-o singur legtur. Pentru fiecare utilizator, administratorul de sistem creeaz cte un director propriu ce poate conine subdirectori sau fiiere obinuite.

25

Identificarea n cadrul structurii arborescente se realizeaz prin numele fiierului precedat de calea n care se afl; specificarea cii se poate realiza n dou moduri: -absolut, porninddin directorulrdcin /root; -relativ, pornindde la directorulcurent.

26

Comenzi Unix
Schimbarea directorului curent se realizeaz prin intermediul comenzii: $cd cale unde cale poate fi specificat: - spre extremitile arborelui, prin specificarea subdirectorului dorit; - spre baza arborelui, ceea ce presupune specificarea complet a cii; Spre deosebire de MS-DOS, la UNIX nu apare la prompter calea curent; determinarea cii curente se face prin comanda: $pwd (print work directory) care va afia calea complet;

27

Comenzi Unix
Prin comanda $cd se revine n directorul utilizatorului atribuit la nceputul sesiunii de lucru de ctre 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 Operaia este validat numai dac directorul este vid i utilizatorul are acest drept la calea respectiv.
28

Structura standard a sistemului de fiiere


UNIX conine urmtorii directori avnd n componen: /dev fiiere 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;
29

/etc programe pentru administrarea sistemului: fiiere cu parole, comenzi de iniializare;

/tmp spaiu temporar de manevr folosit de programele de sistem; /root / unix nucleul sistemului de operare, direcionnd sistemul ctre /aixps2/unix.std;

30

Structura standard a sistemului de fiiere


/u director n care se creeaz Home directory pentru fiecare utilizator; /local partiia activ (de aici se face bootarea); /lost+found director unde se ataeaz fiierele i directorii gsii ca nefcnd parte din nici un sistem de fiiere; /usr alte programe necesare utilizatorilor; /dict lista de cuvinte, desprirea n silabe;

31

Structura standard a sistemului de fiiere


/man directori de fiiere text coninnd manualul complet de utilizare. /spool -at timpul la care se prelucreaz; -lpd director imprimant; /user_1 / ... structuri de directori / ... / ... ai utilizatorilor /user_n

32

Protecia fiierelor i drepturi de acces


Sistemul de operare UNIX dispune de 3 drepturi de acces la fiiere: -dreptul de citire read (r); -dreptul de scriere write (w); -dreptul de execuie execute (x); De asemenea, recunoate urmtoarele categorii de utilizatori: -proprietarul (u); -grupul de utilizatori (g); -ceilali utilizatori (o).

33

Modificarea drepturilor de acces

La crearea unui fiier, se asociaz att un identificator de proprietar (uid) ct i un identificator de grup (gid), ambele atribuite de ctre administratorul de sistem. Cuvntul care pstreaz fiierele i drepturile de acces are urmtorul format:

34

UNIX

Interpretorul de comenzi

Ke e sistemul supervizor care ncarc toate procesele i le execut n manier proprie la un moment dat; Shell este singura cale prin care utilizatorul poate comunica cu Kernel-ul cu privire la: care programe s le execute; cine s le execute; ce s fac cu ieirea; alte servicii utilizator; comunicarea dorinelor utilizatorului ctre Kernel. Shell primete comenzile de la utilizator, le decodific i comunic dorinele acestuia la Kernel, deci toate comunicaiile dintre utilizator i Kernel sunt conduse prin Shell.
2

Comenzi Shell

Dup conectarea utilizatorului la o sesiune de lucru, este invocat automat Shell-ul (prin apariia prompterului $), care informeaz utilizatorul c ateapt comenzi ce se vor introduce de la tastatur. n continuare interpreterul de comenzi Shell execut urmtoarele activiti: decodific linia de comand (caut programul); anun Kernell s execute programul i ateapt (sau nu) terminarea execuiei; primete rspunsul Kernell i afieaz rspunsul i prompterul $; reia ciclic secvena, pn la introducerea CTRL/D pe care o interpreteaz ca "sfrit transmisie de la tastatur"; anun Kernell s deconecteze utilizatorul.

Comenzi Shell

Linia de comand are forma: $comand argumente unde argumente pot fi:
- nume de fiiere, eventual calea n care se gsesc; - opiuni urmate imediat dup comand i precedate de (specifice fiecrei comenzi).

De exemplu: $comp -s nf1 nf2

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

Se puteau folosi i alte opiuni ca:


-l indic forma lung a unui serviciu efectuat de comand; -sl serviciu lung, fr imprimare.

Fiiere standard. Redirectare i extensii

Shell deschide implicit trei fiiere standard:

tastatura, ca fiier de intrare standard avnd atribuit descriptorul asociat 0 (stdin); monitorul, ca fiier standard de ieire avnd asociat numrul 1 (stdout); fiierul de afiare a erorilor cu descriptorul asociat 2 (stderr).

Pentru a redirecta intrarea/ieirea standard se pot folosi caracterele:


< pentru redirectare intrare standard; > pentru redirectare ieire standard; >> pentru redirectare ieire i adugare la fiierul existent.

Fiiere standard

De exemplu
$ls -l > nf1 listare directori forma lung n nf1 care pierde coninutul iniial; $ls -l >> nf1 idem, dar coninutul iniial nu se pierde.

Caracterele speciale (wildcards) "*" i "?" au aceeai semnificaie ca la MS-DOS, operatorul de negare fiind "!". [..] specific o list de caractere ordonate sau identificate individual (separate prin virgul).

Fiiere standard
De exemplu $rm stud. [!a-m][2,4,9] terge fiierele cu numele stud ce nu conin la extensie una din literele de la a la m urmate de 2, 4, 9 (exemplu: stud.x9)

Fiiere standard

Toate intrrile de la tastatur sunt intorduse ntr-o zon de buffer (arie de memorie rezervat pentru stocarea caracterelor recepionate) pn cnd sunt solicitate de Shell, deci Shell nu prelucreaz imediat intrrile; la un moment dat Shell va decodifica aceste intrri, pe parcursul creia nu va desfura alte activiti; se poate astfel imagina c Shell execut dou activiti distincte conectate printr-o conduct avnd rolul de:
preluarea caracterelor de la tastatur i memorarea lor ntr-un buffer; citirea caracterelor din buffer i decodificarea lor.

Efectuarea coreciilor pentru caracterele introduse, se poate realiza prin operaii 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).

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

Dac se va introduce comanda: $stty n urma execuiei, se va afia:


viteza terminalului exprimat n bauds (bytes/s) care poate fi modificat; caracterele de tergere erase='#', kill='@'; verificarea imparitii, a terminatorului de linie i a ecoului caracterelor introduse.
10

Multitasking i ateptare

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 apariia prompter-ului $ fr a atepta execuia complet a task-ului lansat n execuie i posibilitatea lansrii altei comenzi; pentru a specifica execuia (fr ateptarea terminrii) unui task se folosete caracterul & astfel:

$comanda1 & 31 $comanda2


la care Kernel arat numrul de identificare al procesului (pidp rocess id entification), de exemplu 31 ; fr a atepta terminarea execuiei comand1 furnizeaz prompterul $ pentru a introduce alt comand, comenzile 1 i 2 executndu-se concomitent.
11

Shell

Multitasking i ateptare
Dac prima comand este un task n execuie iar comanda2 este un program interactiv (de exemplu, editorul vi ), comanda2 de ctre utilizator cnd va termina editarea, iar task-ul lansat prin comanda11 este neinteractiv (se mai numete proces background deoarece execuia sa este invizibil n timpul ct utilizatorul este ocupat cu editorul vi ). Dac utilizatorul dorete oprirea task-ului background va specifica acest lucru prin comanda: $kill 31 unde 31 este numrul de identificare al procesului (pid-ul). Observaie: pot fi lansate n execuie mai multe procese background. Comanda $ps (process status) arat ce procese au fost lansate n execuie, prin ce comand i ct timp au fost executate, care sunt n execuie, pentru care utilizator, etc.

se va

12

Conducte i linii de conducte


Shell permite comunicarea ntre procese prin conducte (pipes). Conductele sunt canale de date ce conduc ieirea unui program ctre intrarea altui program, fr crearea unor fiiere intermediare; se utilizeaz n acest scop caracterul "". De exemplu $wholpr ieirea la imprimant (prin spooler-ul imprimantei lpr) a utilizatorilor conectai, echivaleaz cu secvena: $who > fis $lpr < fis $rm fis
13

Conducte i linii de conducte


Atunci cnd se specific o conduct (dou sau mai multe procese), Kernell starteaz execuia ambelor procese ca i cum ar fi procese background, cele 2 procese executndu-se sincronizat, ateptnd ieirile pentru intrri. De exemplu

$whosortlpr reprezint o linie de conducte (pipeline) unde:

who va produce la ieire toi utilizatorii conectai; sort sorteaz alfabetic; 14 lpr scrie la imprimant prin spooler.

Limbajul de programare Shell


O secven de comenzi Shell poate fi constituit ca program (numit procedur Shell) care poate fi memorat n fiiere asemntor programelor scrise n diverse limbaje i executate la cerere. Prin comanda: $sh [nf]

- dac nf lipsete, implicit se consider fiierul standard de intrare (tastatura);

este apelat o procedur Shell ce conine intrrile n fiierul specificat prin numele nf ;

Aceast comand implic dou copii Shell: una la pornirea sistemului, iar cealalt la solicitarea execuiei procedurii (prima procedur Shell preia intrri de la tastatur, iar a doua procedur preia intrrile din fiierul nf).
15

Limbajul de programare Shell


O variabil Shell se poate declara prin: $variabila=valoare iar 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.


16

Limbajul de programare Shell


Utilizarea Shell-ului ca limbaj de programare permite execuia condiionat a unor comenzi, ce se realizeaz prin testarea indicatorilor de stare poziionai dup execuia unei comenzi n funcie de care (True, False) se execut o aciune. Structura alternativ if: if grup_condiii then grup_comenzi_1 [elif grup_comenzi_2] else grup_comenzi_3 fi ude fi este identificatorul de ncheiere a structurii alternative;

17

Limbajul de programare Shell


Structura alternativ case: case variabil in varianta 1)grup_comenzi_1;; varianta 2)grup_comenzi_2;; ... varianta n)grup_comenzi_n;; case Structura 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 rnd valorile specificate n procedur ca parametrii; done este terminator de bucl.
18

Limbajul de programare Shell


Structura repetitiv while: while grup_condiii do grup_comenzi done

unde done este terminator while;

Structura repetitiv until: until grup_condiii do grup_comenzi done


19

Fiiere de comenzi indirecte


Una dintre cele mai importante funcii ale Shell-ului o constituie executarea fiierelor de comenzi indirecte (numite i script-uri). Un fiier de comenzi indirecte este o procedur Shell constituit ca un fiier text, care conine comenzi similare ce pot fi introduse interactiv. Avantajul utilizrii unui astfel de fiier const n execuia unui set complex de comenzi prin simpla introducere a numelui fiierului care se comport ca orice fiier executabil, fr a avea cele trei forme (surs, obiect, executabil).

20

Fiiere de comenzi indirecte

Puterea limbajului de comand const n posibilitatea de a utiliza diferite programe tratate ca instruciuni, mpreun cu mecanismele de interconectare puse la dispoziie de ctre Shell. Un program lansat n execuie primete anumite iruri de caractere ce formeaz mediul asociat; prin Shell, se pot introduce i alte iruri de caractere n mediu.
21

Fiiere de comenzi

De exemplu: $pwd;(cd /usr/user1;pwd);pwd

Dac se dorete execuia 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 pstreaz i dup terminarea listei de comenzi cuprinse ntre acolade.

prin care efectul comenzii cd este anulat de ntlnirea parantezei nchise, deoarece cd a schimbat calea numai pentru subprocesul lansat pentru executarea acelei liste de comenzi.

22

Fiiere de comenzi

Exemple 1) Pentru afiarea coninutului unui director al crui 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
23

Fiiere de comenzi

2) Secvena urmtoare ncearc s lanseze n execuie prog1.x; dac nu-l gsete, se va afia mesajul "Nu exista fisierul prog1.x"
if [-x $HOME/prog1.x] then $HOME/prog1.x else echo "Nu exista fisierul prog1.x" fi

[-x] afieaz comenzile i argumentele rezultatelor execuiei, prin substituiri efectuate naintea execuiei.
24

Fiiere de comenzi
Secvena: case $1 in a)x=alfa;; b)x=beta;; g)x=gamma;; *)x=$1;; case echo $x
va afia ce se va afla n parametrul specificat prin execuia procedurii ( $0 procedura, $1 primul parametru): alfa dac parametrul conine a; beta dac parametrul conine b; gamma dac parametrul conine g; coninut $1 dac parametrul nu conine a, b sau g;
25

Nucleul sistemului de operare UNIX (KERNEL)

Aa cum s-a menionat n acest capitol, o parte a programelor de comand i control sunt rezidente n RAM alctuind nucleul sistemului de operare (Kernel) ncrcat 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 main; spaiul de memorie; canalele de comunicaie ctre diverse taskuri executate de utilizator la un moment dat.
26

Structur i funcii
Nucleul sistemului de operare este alctuit din urmtoarele componente: programul supervizor central; rutine de serviciu pentru o serie de activiti cum ar fi de exemplu, scrierea n memorie, gestiunea ceasului sistem, etc. n mod normal, utilizatorul folosete comenzile Shell care dirijeaz execuia programelor dorite sub supervizorul Kernel, acesta fiind astfel invizibil utilizatorului. Pentru utilizator, sistemul de operare UNIX apare ca fiind alctuit din: un set de programe, fiecare corespunznd unei anumite comenzi; Shell-ul care dirijeaz comenzile i coordoneaz execuia programelor utilizatorului.
27

Nucleul sistemului de operare

Practic ns, sistemul de operare UNIX este compus din :

un set de programe de servicii care execut funciile legate de sarcinile hardware i software; Kernel-ul care coordoneaz execuia programelor de servicii, specificate sub forma unor comenzi adresate ctre Shell. Programele de servicii sunt apelate atunci cnd sunt necesare (zona de tranziente), n timp ce supervizorul este rezident n RAM, constituind mediul software de baz pentru orice evenimente

din sistem.
28

Nucleul sistemului de operarePrincipalele funcii ndeplinite de nucleul sistemului de operare: -planificarea, coordonarea i gestionarea execuiei proceselor; -furnizarea de servicii de sistem cum sunt: tratarea operaiilor de intrare/ieire i gestiunea fiierelor; -manipularea operaiilor dependente de hardware, ntreruperile i funciile de sistem; -gestiunea memoriei.

29

Nucleul sistemului de operare

Nucleul UNIX este alctuit din aproximativ 10000 de linii ce constituie codul programului care, n funcie de sistem, se transform ntr-un numr mai mare sau mai mic de cuvinte main (sau bytes); dintre acestea, 5 - 10% din totalul codului programelor (Shell, utilitare, KERNEL i celelalte) este variabil funcie de sistemul de calcul i de setul de utilitare (fig. 6.8.). Aa cum rezult din fig. 6.8, o mare parte din aceste programe este destinat gestiunii memoriei i gestiunii proceselor, aceast parte evideniind: - coninutul stivei; - coninutul registrelor sistemului; - detalii de mediu, cnd procesele sunt introduse n memorie i rspund la ntreruperile procesorului. 30

31

Primitivele de sistem sunt specifice fiecrui sistem de calcul (scrise n limbaj de asamblareaproximativ 1000 linii codul programului), ele coninnd: - operaii de intrare/ieire de baz;

comutarea execuiei ntre procese; permiterea sau inhibarea ntreruperilor hardware; resetarea prioritilor ntreruperilor; alte operaii.

Accesarea primitivelor de sistem se realizeaz prin apeluri (directive) de sistem (system calls) din programe n C sau n limbaj de asamblare.
32

Procese i stri

Un sistem de calcul poate s lucreze la un moment dat n dou moduri:


Comutarea ntre modul utilizator i KERNEL se realizeaz prin urmtoarele mecanisme:

utilizator, cnd execut un program sau proces; sistem (Kernel), cnd execut un cod sistem.

ceasul- care ntrerupe orice alt program cu frecvena de 60 Hz, rutina de ceas permind reevaluarea prioritilor proceselor i implicit schimbarea procesului; n absena altor ntreruperi, ceasul realizeaz divizarea timpului, ceea ce permite ca sistemul s fie mprit ntre mai muli utilizatori;

33

Procese i stri
apeluri de sistem prin care utilizatorul solicit diverse servicii oferite de sistemul de operare; cele care realizeaz operaii de intrare/ieire conducnd la suspendarea procesului apelator pe durata transmiterii datelor; cereri de serviciu ale perifericelor de intrare/ieire.

34

Procese i stri

Informaiile necesare procesului sunt memorate n: a) tabela proceselor constituit n memorie, ce conine o intrare pentru fiecare proces detaliind starea acestuia:

localizarea procesului; adresa de memorie i adresa de evacuare; mrimea procesului; numrul de identificare; identificatorul utilizat;

b) tabela utilizator, care este ataat fiecrui proces activ la rutinele nucleului lui (fig.6.9).
35

Procese i stri
Crearea unui proces implic astfel iniializarea unei intrri n tabela procesului, care iniializeaz o tabel a utilizatorului crend totodat textul real i datele pentru proces.

36

Procese i stri

Schimbarea strii unui proces (se execut, ateapt, este evacuat, este ncrcat, primete un semnal) este o activitate ce se focalizeaz pe tabela procesului (fig. 6.10.):

37

Fig.6.10

38

Procese i stri
- terminarea unui proces implic eliberarea intrrii sale n tabela proceselor, putnd fi folosit pentru alte procese; -cnd procesul este activ, au loc alte evenimente, de exemplu ateptarea terminrii unei operaii de intrare/ieire; - pe durata suspendrii 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) conine n acel moment:

39

Procese i stri

- numele de identificare al utilizatorului i al grupului din care face parte, pentru stabilirea drepturilor de acces; - pointerii din tabela de fiiere existente n sistem, pentru toate fiierele deschise; - un pointer ctre inod-ul directorului curent n tabela de inod-uri; - o list a rspunsurilor pentru diverse semnale. Informaia curent despre un proces se schimb prin execuia directivei chdir cnd este schimbat valoarea pointerului ctre inod-ul directorului curent.
40

Comunicaia ntre procese


Comunicaia prin fiiere Comunicaia prin intermediul fiierelor ofer avantajul simplitii 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 eliberrii zonei critice. Exemplu while ((f=creat("fiier",0111))<0) sleep(2); < zona critic > unlink("fiier"); prin care primul proces care reuete s creeze fiierul, va trece la execuia instruciunilor din regiunea critic; pn ce nu va executa funcia unlink, orice alt apel al funciei de creare a unui fiier (creat), va bloca procesul prin apelul funciei sleep.

41

Comunicaia ntre procese


Comunicaia prin fiiere de tip pipe Fiierele de tip pipe sunt fiiere obinuite la care ns operaiile de citire/scriere se realizeaz ntr-o ordine prestabilit FIFO (First Input First Output); aceste fiiere sunt tranzitorii, datele citite ntr-o manier stricta a ordinii n care au fost scrise respectnd regula de sincronizare productor/consumator (o dat citit dintr-un fiier nu mai poate fi reluat, iar memorarea se face ca la orice fiier utiliznd ns numai 42 blocuri adresate direct).

Fisiere

La UNIX exist dou tipuri de fiiere pipe, fiecare genernd anumite particulariti ale modului n care se realizeaz comunicaia: 1) fiiere fr nume care se creaz cu directiva pipe(p) unde p reprezint descriptorul de fiier astfel: p[0] pentru citire p[1] pentru scriere. De remarcat c n blocurile alocate fiierelor (de regul numai primele 10 blocuri de disc) alocarea se realizeaz conform algoritmului Round-Robin.
43

Fisiere

2) Fiierele pipe cu nume ofer cteva faciliti comparativ cu fiierele pipe fr nume: - se creaz ntr-un director ca orice fiier obinuit prin directiva mknod cu tipul fiierului 010000; - la deschiderea sa prin directiva open, se poate specifica blocarea procesului ce ncearc s deschid pentru citire un fiier pipe nedeschis anterior pentru scriere; - se va terge explicit prin directiva unlink; - datorit unui nume de identificare este permis accesarea lui de ctre orice procese independente.
44

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 spaiul 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:

* numrul de identificare al utilizatorului care a creat zona, al utilizatorului curent i al grupului; * dimensiunea segmentului; * identificatorul procesului care a accesat zona de memorie; * numrul de procese care partajeaz aceast zon; * alte informaii.
45

Comunicarea prin cozi de mesaje

Principiul de comunicaie 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 pn ce recepioneaz mesajul solicitat, iar cele ce doresc s emit, se vor bloca dac nu exist nici un proces care s recepioneze iar coada de mesaje este plin. Mesajele ce se transmit sunt caracterizate printr-un tip (reprezentat printr-un numr la alegere), iar recepia se poate face prin specificarea tipului.

46

Gestiunea fiierelor speciale


Toate operaiile de intrare/ieire sunt privite ca operaii cu fiiere, Shell nerecunoscnd existena unitilor periferice, deci Kernel ascunde unitile fizice reale sub forma unor fiiere aparente. Fiecare unitate fizic este nzestrat cu un program special (driver) care translateaz aciunile solicitate de unitile virtuale astfel nct utilizatorul poate comunica cu orice unitate ataat sistemului fr nici o deosebire, dac aceasta dispune de driverul corespunztor.

47

Fisiere
Fiierele disc sunt organizate fizic n blocuri de 512 bytes, fiecare fiier avnd alocat un numr ntreg de blocuri. Blocurile nu trebuie s fie neaprat contigue pe disc, spre deosebite de alte sisteme ce impun acest lucru. Atribuirile standard pentru fiiere implicit sunt: 0 fiier standard de intrare - tastatur; 1 fiier standard de ieire - ecranul terminalului; 2 ecranul de intrare al terminalului, ce servete gestionrii mesajelor de eroare i a 48 informaiilor de diagnostic.

Fisiere

Identificarea fiierelor se realizeaz prin: - intrrile din directori care identific fiierele printr-un numr de index asociat fiecrui fiier; numrul de index pentru orice volum fizic, este punctator ntr-o alt tabel rezident pe volum (index-list); - intrrile n lista de indeci ale fiecrui volum, conin un numr de intrri numite inod-uri, motiv pentru care lista de indeci se mai numete tabel de inod-uri; - un inod conine o serie de informaii cu privire la fiecare fiier: * numrul de identificare al user care a creat fiierul; * starea de protecie a fiierului (ReadOnly,Open,etc); * 13 cuvinte ce arat blocurile unitii ocupate de fiier; * dimensiunea fiierului; * data la care a avut loc ultima modificare; * de cte ori a fost referit n directori; * biii de identificare a directorilor, fiierelor speciale i a fiierelor mari.
49

Fisiere

Corespondena nume fiier-index este disponibil prin comanda ls-i i se numete legtur (link), aceasta servind drept mijloc de identificare i gestiune a fiierului; alte comenzi ce afecteaz legturile: mv - mut legtura; ln - creaz o legtur; rm - terge o legtur;

50

51

Unix vs MS-Dos

52

POSIBILITATEA RETELELOR INTERNET/INTRANET

53

SCALABILITATEA I SECURITATEA

54

SISTEMUL DE CONTROL

55

Shell
Acest termen este mult mai simplu de explicat si echivalat: promptul DOS este un shell pentru sistemul de operare DOS - din el se pot lansa n execuie programe, se pot da comenzi pentru copiere, tergere, mutare fiiere etc.

56

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.

57

Sistem de fiiere

n UNIX se ntlnete acelai stil de structura arborescenta cu directoare i subdirectoare ca i n DOS. Se pot utiliza nume lungi (256 de caractere) i se face diferena ntre litere mici i mari. Sub UNIX nu mai au importanta extensiile fiierelor. Sub DOS exista atribute ale fiierelor, dar in UNIX exista ceva mai avansat: drepturi asociate fiecrui fiier pentru citire, scriere i execuie n triplu exemplar - pentru proprietarul fiierului, pentru grupul din care face parte acest proprietar si pentru alii (dac vrei s le vedei, tastai "ls -l").
58

Chiar daca un fiier este executabil, el nu poate fi rulat daca nu are setat dreptul de execuie pentru cel care-l lanseaz - nu are importanta daca i-ai pus extensia exe in virtutea obinuinei. Pentru a naviga si pentru a manipula fiiere, putei folosi comenzi asemntoare celor DOS: cp - copy, ls dir, cd, rm - del etc.

59

Drivere
In DOS, driverele se ncarc din CONFIG.SYS (de exemplu, device = c:\dos\himem.sys), pe cnd in UNIX-urile tradiionale driverele sunt incluse in kernel (atunci cnd este compilat kernel-ul se specifica acele drivere ce vor fi cldite in kernel). Solutia moderna este cea a nucleelor modulare: se pot ncarc dinamic module ce conin drivere (pentru floppy, de exemplu) si nu mai este nevoie de recompilarea kernelului.

60

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.

61

PROCESE SUB UNIX

1. CREAREA PROCESELOR
Un proces este un program in execuie. Un proces este dinamic, pe cnd programul este static. Pentru un program executabil pot exista la un moment dat unul sau mai multe procese asocite, numite instane. Un proces sub UNIX este constituit din:

segment de text (cod); segment de date; segment de stiva.

Segmentul de cod
Reprezinta partea pur, nemodificabil a programului. Teoretic n timpul execuiei se poate modifica orice instruciune a programului (ca i datele), dar acest lucru nu este recomandat i este evitat sau chiar interzis prin mecanisme ale sistemului de operare. Sub UNIX mai multe procese care au segmente de cod identice, pot utiliza n comun o singur copie din memorie a acestor segmente de cod.

Segmentul de date

Cuprinde att zonele alocate static, nc de la nceputul execuiei programului, ct i zonele alocate dinamic n timpul execuiei, prin funcii cum ar fi: malloc, calloc, realloc, sau free.
4

Segmentul de stiva

Cuprinde informaiile prin care se realizeaz apelurile la funcii i proceduri: n stiva se stocheaz parametrii de apel i datele locale, care se terg la ncheierea procedurii sau funciei. Execuia 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)
5

Un proces trece din modul de lucru utilizator n modul nucleu cnd lanseaz un apel sistem sau cnd genereaz o ntrerupere. Pentru aceasta situaie, oricarui proces i se asociaz o stiva nucleu, care va stoca parametrii afereni apelurilor sistem.

Un proces are ataate mai multe atribute dintre care cele mai importante sunt: IDentificatorul procesului (PID -unic), ID printe, ID grup, ID utilizator real, ID utilizator efectiv, etc. Un proces are atasati diveri descriptori: structuri de date care pstreaza starea plus toate informaiile eseniale pentru continuarea procesului, din locul n care execuia sa a fost suspendat la un moment dat.

2. OPERATII ASUPRA PROCESELOR


Sub UNIX se pot efectua mai multe tipuri de operaii aupra proceselor, cum ar fi: crearea i distrugerea (terminarea) proceselor, adormirea i trezirea lor, asigurarea comunicrii ntre procese, sincronizarea aciunilor proceselor .a. Operaii foarte importante, legate de procese, sunt crearea (naterea) unui proces i punerea n execuie a unui nou proces. Naterea unui proces este realizat ntotdeuna de un proces printe i const n crearea unui proces fiu, avnd identificator i descriptor propriu.

Crearea unui nou proces se poate face prin doua metode:


1.

Prin copierea codului procesului parinte: - operaia de creare proces fiu se numete n acest caz fork (duplicare); - procesul fiu primete un identificator (PID) diferit fa de cel al printelui; - controlul este dat procesului fiu, exact n locul n care se afl procesul printe; - procesul fiu ruleaz n paralel cu procesul printe.

2. Prin punerea n execuie de ctre procesul printe a unei noi imagini, provenind dintr-un fiier executabil de pe disc:

- operaia de creare proces fiu se numete n acest caz exec; - procesul fiu primete acelai identificator ca i printele; - controlul este dat procesului fiu din punctul de start; - procesul printe este nlocuit de procesul fiu (se sinucide prin crearea fiului).
10

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.

11

Exemplu:
# include <stdio.h> # include <sys/types.h> int main (void) { pid_t pid_fiu ; pid_fiu = fork( ) ; printf(Identificator proces :\n, pid_fiu) ; }

12

Apelul sistem fork returneaz:


- PID fiu n procesul printe 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 printe prin apelul getppid; orice proces poate afla PID propriu prin funcia sistem (apelul sistem) getpid.
13

3. STARILE UNUI PROCES SUB UNIX


n timpul existenei sale, un proces se poate afla n una din urmtoarele stri: - in executie - RUN (procesul este executat de UC n mod nucleu sau n mod utilizator); - gata de executie - READY (procesul este pregtit de execuie, asteptnd resursa UC); - blocat - WAIT, ASLEEP (proc. este n ateptarea producerii unui eveniment extern, fr de care el nu i poate continua execuia).

14

Aceste stri (care se ntlnesc la toate sistemele de operare ce lucreaz n regim de multiprogramare UC), pot avea n cazul UNIX unele particulariti.

15

Starile unui proces sub UNIX, precum i tranzitiile ntre stri sunt :

16

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 execuie). Din starea READY, procesul nou creat (dac are o prioritate corespunztoare) va trece n starea RUN n mod nucleu, iar apoi, dup ncheierea apelului fork, n starea RUN n mod utilizator.

17

Dac ntreruperea de ceas apare ct timp procesul ruleaz n modul nucleu, i dac dup tratarea nteruperii de ceas nucleul decide c UC va fi acordat altui proces dect 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 atepte un eveniment, este trecut n starea WAIT pn la producerea acelui eveniment.

18

Pentru terminarea un proces lanseaz apelul sistem exit, i ca urmare el este trecut n starea TERMINAT (zombie), caz n care i pstreaza intrarea n tabela proceselor, dar nu mai dispune de nici o resurs. Intrarea sa din tabela proceselor va fi eliberat de printe sau de procesul init.

19

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 (numrul de ntreruperi de ceas/sec.); utilizare_recent_UC = numrul_de_tacturi _UC /2; valoare_nice = 0; constant = 2.

20

5. APLICAII
I.

II. 1.

S se studieze paginile de manual ale apelurilor sistem fork, vfork, getpid, getppid, ps, nice, kill, fg. S se rezolve exerciiile urmtoare: S se testeze comanda ps. S se explice semnificaia valorilor ce apar n coloana ce reprezint starea procesului. S se gseasc corespondena cu starile prezentate n sectiunea 3 a acestei prezentri- dac exist vreuna.
21

1.

S se creeze un script Shell care cicleaz la infinit. S se lanseze n background cu prioritate redus. S se opreasc apoi procesul respectiv.

22

2. S se implementeze i testeze exemplul din paragraful 2. S se modifice acest exemplu astfel nct pe ecran s apar o singur valoare, PID-ul procesului fiu. S se trateze cazurile de eroare.

23

3.

S se modifice ex. de la sectiunea 2 a. s se afieze att PID-ul procesului fiu ct i al procesului printe, pentru ambele procese. S se modifice acest exemplu a. procesul fiu s cicleze la infinit iar procesul printe s se termine i invers. n care din cele dou variante unul dintre procese devine zombie?
24

5.

S se creeze un script shell care afiseaz arborescent toate procesele care ruleaz n sistem, similar cu comanda pstree. Indicaie:ps, cut, recursivitate.

25