Sistemede operare - carment.ase.ro · Conf.dr.Carmen Timofte Sisteme de operare 4 SO Integrate, in...

38
Conf.dr.Carmen Timofte Sisteme de operare 1 Sisteme de operare Conf. Dr. Carmen Timofte Bibliografie: Sisteme de operare, Adrian Vasilescu, Răzvan Daniel Zota, Carmen Timofte, Ed.ASE, 2006. Sisteme de operare- Unix si Windows, Gheorghe Dodescu, Adrian Vasilescu, Bogdan Oancea, Ed. Economică, 2003; Sisteme de operare pentru reţele de calculatoare, Răzvan Daniel Zota, Ed. Economică, 2002. UNIX, Răzvan Daniel Zota, Ed. ASE, 2004. Modern Operating Systems, A.S.Tanenbaum, 3 rd ed., Prentice-Hall, Inc., 2008, http://www.cs.vu.nl/~ast Operating Systems (4 th edition). William Stallings, Prentice-Hall 2001 Resurse Internet

Transcript of Sistemede operare - carment.ase.ro · Conf.dr.Carmen Timofte Sisteme de operare 4 SO Integrate, in...

  • Conf.dr.Carmen Timofte Sisteme de operare 1

    Sisteme de operareConf. Dr. Carmen Timofte

    Bibliografie: Sisteme de operare, Adrian Vasilescu, Rzvan

    Daniel Zota, Carmen Timofte, Ed.ASE, 2006. Sisteme de operare- Unix si Windows, Gheorghe

    Dodescu, Adrian Vasilescu, Bogdan Oancea, Ed. Economic, 2003;

    Sisteme de operare pentru reele de calculatoare, Rzvan Daniel Zota, Ed. Economic, 2002.

    UNIX, Rzvan Daniel Zota, Ed. ASE, 2004. Modern Operating Systems, A.S.Tanenbaum, 3rd

    ed., Prentice-Hall, Inc., 2008, http://www.cs.vu.nl/~ast

    Operating Systems (4th edition). William Stallings,Prentice-Hall 2001

    Resurse Internet

  • Conf.dr.Carmen Timofte Sisteme de operare 2

    Andrew S.Tanenbaum, Modern Operating Systems 2nd ed., 2001

  • Conf.dr.Carmen Timofte Sisteme de operare 3

  • Conf.dr.Carmen Timofte Sisteme de operare 4

    SO

    Integrate, in timp real(Embedded real-time)

    QNX VXWorks LynxOS MVS, AS/400

    Alte SO compatibile Unix/POSIX: exp. MESHIXPrototipuri din cercetare: exp. MACH, Plan9, Pebble, Go!Sun: Java Virtual Machine => JOS ?

    Proiectate pt. handhelds

    Symbian: EPOC PalmOS

    Tipuri de Unix Linux BSD (FreeBSD, NetBSD) Sun: Solaris IBM: AIX Compaq: Tru64 Unix, OpenVMS Hewlett-Packard: HP-UX Apple: MacOS-8, MacOS-X

    Microsoft: Windows 7, Vista, Windows 2000, etc.

  • Conf.dr.Carmen Timofte Sisteme de operare 5

    Zoo SO SO pt. Mainframe SO pt Servere SO pt sisteme Multiprocessor SO pt PC Personal computer SO pt sisteme in timp real (Real-time operating systems) SO pt sisteme integrate (Embedded operating systems) SO pt Smart card

  • Conf.dr.Carmen Timofte Sisteme de operare 6

    1. Noiuni introductive

    1.1.Definitie. Obiective. 1.2. Functiile SO1.3. Organizarea SO. Structura1.4. Clasificare1.5. Concepte1.6. Tehnici de exploatare a SO 1.7. Mecanisme de protectie

  • Conf.dr.Carmen Timofte Sisteme de operare 7

    1.1. Definitie.Obiective Un SC pt. a putea prelucra date, tb. Sa fie

    programat => 2 categ. de programe: Programe de aplicatii Programe de sistem

    Sistemul de operare reprezint: o colecie integrat de programe de

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

    interfa ntre componenta hardware a sistemului de calcul i utilizator, reprezentat de programele de aplicaii.

    ansamblul programelor de control i servicii ce urmrete un sistem de calcul n executarea sarcinilor sale i asist programele de aplicaii prin intermediul unor funciuni

    ansamblul programelor care au rolul de a realiza utilizarea optim a resurselor fizice i logice ale sistemului de calcul i de a concura la pregtirea, punerea n lucru i coordonarea execuiei programelor utilizatorului.

  • Conf.dr.Carmen Timofte Sisteme de operare 8

    Ce este un SO? Este o main extins

    Ascunde detaliile care trebuie s fie efectuate Prezinta utilizatorului o main virtual, maiuor de folosit

    Este un manager de resurse Fiecare program primeste resurse de timp Fiecare program primeste resurse de spaiu

  • Conf.dr.Carmen Timofte Sisteme de operare 9

    Obiective. Pozitia SO in SC

    Obiective:Obiectivulprelucrarii(crearea, stocarea, regasirea, distrugereadatelor)Executareasarcinilor SC Asistareaprogramelor de aplicatii prinintermediul unorfunctiuni

  • Conf.dr.Carmen Timofte Sisteme de operare 10

    1.2. Functiile SO1. Pregatirea si lansarea in executie a programelor de aplicatie2. Alocarea resurselor3. Folosirea utilitarelor de interes general4. Planificarea executie programelor dupa anumite criterii5. Coordonarea executiei mai multor programe6. Asistarea executiei programelor de catre utilizator7. Asigurarea posisbilitatilor de organizare si protectie a informatiei8. Generarea de catre utilizator a unui SO configurabil

    Gestiunea proceselor si resurselor Gestiunea memoriei Gestiunea dispozitivelor de I/E Gestiunea fisierelor

  • Conf.dr.Carmen Timofte Sisteme de operare 11

    1.2. Functiile SO (*)Pregatirea si lansarea in executie a programelor de aplicatie

  • Conf.dr.Carmen Timofte Sisteme de operare 12

    1.3. Organizarea SO Nivel logic Nivel fizic

    n t r e r u p e r i

    N i v e l l o g i c

    N i v e l f i z i c

    A p l i c a i i u t i l i z a t o r

    H a r d w a r e

    C o m e n z i M e s a j e n t r e r u p e r i

    S O

  • Conf.dr.Carmen Timofte Sisteme de operare 13

    1.3. Organizarea SO (*) PCC- programe de comanda si control:

    gestiunea resurselor fizice, planificarea, lansarea si urmarirea executiei, depistarea si tratarea evenimentelor la executie

    PS- programe de servicii: translatoare, editoare de legaturi, incarcator, editor texte, programe organizare colectii de date, operatii cu fiisiere si cataloage, comprimare/decomprimare, antivirus, alte utilitare

    PCC- rutine rezidente- rutine tranzitorii

  • Conf.dr.Carmen Timofte Sisteme de operare 14

    Structura SO Monolitica

    Stratificata(THE=Technical HogeschoolEindhoven)

    Masina virtuala

  • Conf.dr.Carmen Timofte Sisteme de operare 15

    Structura SO (*) Modelul client-server

    Modelul client-server intr-un mediu distribuit

  • Conf.dr.Carmen Timofte Sisteme de operare 16

    1.4. Clasificare Monotasking /multitasking Monouser/multiuser Seriale/paralele/RJE Planificare la nivel de proces/de lucrare Cu resurse alocate/distribuite:

    time-sharing, memorie virtuala, sisteme in timp real

  • Conf.dr.Carmen Timofte Sisteme de operare 17

    1.5 ConcepteUn proces tree (arbore)A creeaza 2 procese copil:Bi C B, a creat trei procesecopil:D, E, i F

    Un potential blocaj Un blocaj

  • Conf.dr.Carmen Timofte Sisteme de operare 18

    Concepte (*)

    Sistem de fisiere (SF) arborescent

  • Conf.dr.Carmen Timofte Sisteme de operare 19

    Concepte (*)a)nainte de montare, fiierele de pe floppy sunt inaccesibile

    b) Dup montarea floppy pe B,fiierele de pe discheta fac parte din

    structura ierarhiei

  • Conf.dr.Carmen Timofte Sisteme de operare 20

    Concepte (*)

    2 procese sunt conectate printr-o conducta(pipe)

  • Conf.dr.Carmen Timofte Sisteme de operare 21

    Concepte (*) System calls (apeluri sistem)Win 32 API

  • Conf.dr.Carmen Timofte Sisteme de operare 22

    Concepte (*)Ce este un apel de sistem?principala modalitate prin care unprogram utilizator interacioneaz cu SO.

    Cum funcioneaza un apel de sistem

    1. Obine acces la spaiul sistem2. Face validarea parametrilor3. Colecie de resurse de sistem4. Interogheaz un echipament/

    sistem pentru un anumit element

    5. Suspend ateptarea pentru un echipament

    6. ntreruperea face ca acest thread s fie gata de execuie

    7. Mascare8. ntoarcere la utilizator

  • Conf.dr.Carmen Timofte Sisteme de operare 23

    Concepte- apeluri sistem (*)

  • Conf.dr.Carmen Timofte Sisteme de operare 24

    Concepte- apeluri sistem (*)

  • Conf.dr.Carmen Timofte Sisteme de operare 25

    while (TRUE) { /* repeat forever */type_prompt( ); /* display prompt */read_command (command, parameters) /* input from terminal */

    if (fork() != 0) { /* fork off child process */

    /* Parent code */waitpid( -1, &status, 0); /* wait for child

    to exit */} else {

    /* Child code */execve (command, parameters, 0); /* execute command */

    }

    }

    Cum lucreaza SHELL-ul? (interpretorul de comenzi)

    Concepte (*)

  • Conf.dr.Carmen Timofte Sisteme de operare 26

    1.6.Tehnici de exploatare a SO

    Monoprogramare Multiprogramare Spool-ing (Simultaneus Peripherial Operations On-Line) Time-sharing Multiprelucrare Multitasking

  • Conf.dr.Carmen Timofte Sisteme de operare 27

    1.6.Tehnici de exploatare a SO (*)

    monoprogramare

  • Conf.dr.Carmen Timofte Sisteme de operare 28

    1.6.Tehnici de exploatare a SO (*)

    Multiprogramare

  • Conf.dr.Carmen Timofte Sisteme de operare 29

    1.6.Tehnici de exploatare a SO (*)

    Spool-ing (Simultaneus Peripherial Operations On-Line)

  • Conf.dr.Carmen Timofte Sisteme de operare 30

    1.6.Tehnici de exploatare a SO (*)

    Time-sharing

  • Conf.dr.Carmen Timofte Sisteme de operare 31

    1.6.Tehnici de exploatare a SO (*)

    Multiprelucrare

  • Conf.dr.Carmen Timofte Sisteme de operare 32

    Multiprelucrare

  • Conf.dr.Carmen Timofte Sisteme de operare 33

    1.7. Mecanisme de protectieControlul accesului=>

    separareaspatiului de adresa

    mecanisme de privilegii

    Protectia prin ierarhie de tutela

  • Conf.dr.Carmen Timofte Sisteme de operare 34

    (*)

    Intreruperi si exceptii de protectie- Intreruperi hardware: INT si NMI- Intreruperi software: INT n

    Exceptii de protectieVectori rezervati

  • Conf.dr.Carmen Timofte Sisteme de operare 35

    Etapele tratarii unei intreruperi

    - n momentul apariiei unei cereri de ntreruperi, aceasta se va lua n consideraredac este cea mai prioritar din irul de ntreruperi;- analiza tipului de ntrerupere i salvareacuvntului de stare al programului la o anumitadres din memoria intern;- ncrcarea unui cuvnt de stare al programuluispecific ntreruperii i lansarea n execuiea rutinei ce prelucreaz ntreruperea;- rencrcarea vechiului cuvnt de stare al programului de la adresa unde a fost salvat nmemoria intern, dup terminarea prelucrriintreruperii;- redarea controlului programului ntrerupt.

    ntreruperile pot fi generate: de program, de operaiile de intrare/ieire, de defect al CPU sauexterne sistemului de calcul provenind de la alteechipamente cu care este cuplat.

  • Conf.dr.Carmen Timofte Sisteme de operare 36

    (*)

    Controler de intreruperi pe 16b

    Atribuirea intreruperilor si prioritatile asociate

  • Conf.dr.Carmen Timofte Sisteme de operare 37

    Tabelul vectorilor de ntrerupere

    ntreruperile provoac abandonarea programului curent, urmnd a fi dat controlul rutinei care trateaz ntreruperea.

    Astfel, procesorul are nevoie de o modalitate simpl i clar de a gsi rutina de tratare a ntreruperii, pentru aceasta folosind un tabel de vectori de ntreruperi.

    Tabelul conine adresele rutinelor de tratare a ntreruperilor, care ncepe cu vectorul corespunztor ntreruperii 0 la locaia de memorie 0.

    Fiecare adres de vector are 4B, astfel c vectorul pentru ntreruperea n se gsete la locaia de memorie n*4.

    Vectorii conin adresele complete de memorie, scrise n form segmentat, ale rutinelor care urmeaz s fie activate la apelul ntreruperii. Adresa segmentat este format dintr-o pereche de cuvinte pe 2B (total 4B).

    Adresele din tabelul vectorilor de ntrerupere sunt de 3 tipuri: numrul de segment ncepe cu cifra hexa F indic componenta ROM-BIOS; memoria principal (vezi imaginea urmtoare); pot conine programe ale DOS,

    programul DEBUG nsui etc.; nivel de ntrerupere netratat, dac vectorii sunt toi 0.

  • Conf.dr.Carmen Timofte Sisteme de operare 38

    (*)

    Examinarea tabelului vectorilor de ntrerupere se realizeaz cu ajutorul programului DEBUG, cu comanda d 0:0 (adic la nceputul memorie), iar debug se lanseaz fr nici un parametru.Vectorii sunt stocai invers, cu deplasamentul naintea segmentului.

    n exemplul anterior, primii 4 B afiai de DEBUG sunt: 68 10 A7 00, adic adresa segmentat este 00A7:1068. Pentru a studia oricare dintre rutinele de tratare a ntreruperi, se efectueaz urmtorii pai:se decodific vectorii, se obine adresa segmentat se examineaz codul rutinei de tratare a ntreruperii cu ajutorul comenzii U (Unassemble-dezasamblare) n exemplul anterior, pentru a afla ce se gsete la adresa segmentat, se aplic comanda:u 00A7:1068 l 10 (afieaz numrul de linii specificat, n cazul acesta 10)

    TEMA: Utiliznd instruciunea U (unassemble) din programul DEBUG, dezasamblai poriuni din ROM-BIOS. De exemplu, tastai:u F000:A000 L 30ncercai s descoperii exemple de stocare invers.