Sisteme de Operare

download Sisteme de Operare

of 30

description

Generalitati S.O.

Transcript of Sisteme de Operare

  • 1IntroducereIntroducere

    Capitolul 1

    Ce este un sistem de operare?

    1.1. Evoluia sistemelor de operare1.2. Structura unui sistem de calcul1.3. Concepte de baz n teoria sistemelor de operare1.4. Apeluri de sistem (system calls)1.5. Structura sistemelor de operare

  • 31.1. 1.1. IntroducereIntroducere (2)(2)

    { Rolul unui sistem de operare (SO){ SO gestioneaz resursele hardware

    z asigur accesul fiecrui program la resursez rezolv conflictele dintre cererile de resursez asigur utilizarea eficient a resurselor

    { SO este un program de controlz controleaz execuia programelor pentru a preveni

    { apariia erorilor{ utilizarea incorect a resurselor hard

    z ascunde detaliile operaiilor efectuatez prezint utilizatorului o main virtual, uor de

    exploatat

  • 71.3. Concepte ce stau la baza SO1.3. Concepte ce stau la baza SO1.3.1. Procese1.3.2. Blocaje (deadlock)1.3.3. Gestionarea memoriei1.3.4. Fiiere

  • 81.3.1. Procese{ proces: program n curs de execuie

    { program entitate pasiv; proces - entitate activ

    { asociate unui proces:z un spaiu de adrese (programul executabil,

    datele i stiva programului);z un set de regitri (PC, SP, etc.)z alte informaii necesare procesului;z identificatorul utilizatorului ce a startat procesul.

    { resurse necesare:z CPU, memorie, dispozitive I/O, fiierez date iniiale

    { terminarea unui proces eliberarea resurselor

    1.3. Concepte ce stau la baza 1.3. Concepte ce stau la baza SO (1)SO (1)

  • 9{ A process treez A created two child processes, B and Cz B created three child processes, D, E, and F

    1.3. Concepte ce stau la baza 1.3. Concepte ce stau la baza SO (2)SO (2)

  • 10

    1.3. Concepte ce stau la baza 1.3. Concepte ce stau la baza SO (3)SO (3)Gestionarea proceselor de ctre SO:{ apeluri de sistem:

    z crearea i terminarea proceselor utilizator i de sistem

    { semnale de alarm:z suspendarea i reluarea proceselor

    { asigurarea mecanismelor de:z sincronizare a proceselorz comunicare ntre procesez evitarea / ieirea din blocaj (deadlock)

  • 11

    (a) deadlock posibil (b) deadlock efectiv{ probleme: prevenire / rezolvare (ieire din) deadlock

    1.3. Concepte ce stau la baza 1.3. Concepte ce stau la baza SO (4)SO (4)1.3.2. Blocaje (deadlock)

  • 12

    1.3. Concepte ce stau la baza 1.3. Concepte ce stau la baza SO (5)SO (5)1.3.3. Gestionarea memoriei{ existena n memorie a instruciunilor i datelor

    corespunztoare proceselor{ existena simultan n memorie a mai multor

    procese z mecanism de protecie ntre programe i ntre

    programe i SO: { implementat n hardware{ gestionat de SO

    { activiti:z tine evidena memoriei utilizate i de ctre cine z decide care procese (sau pri din procese) i date

    mut n / din memoriez alocarea i eliberarea spaiului de memorie

  • 13

    1.3. Concepte ce stau la baza 1.3. Concepte ce stau la baza SO (5)SO (5)1.3.4. Fiiere{ directoare: gruparea fiierelor{ apeluri de sistem:

    z creare/tergere fiierez citirea din/scrierea n fiierez creare/tergere directoarez copiere/mutare fiiere n directoare

    { sistemul de fiiere: ierarhie directoare{ calea unui fiier

    z UNIX: /Dir1/Dir11/file0z Windows: \Dir1\Dir11\file0

  • 14

    { UNIX: sistem de fiiere montat (mounted file sys.)z nainte de montare :

    { fiierele de pe floppy sunt inaccesibilez dup montarea floppy pe b:

    { fiierele de pe floppy sunt ataate la sistemul de fiiere de pe HDD

    1.3. Concepte ce stau la baza 1.3. Concepte ce stau la baza SO (6)SO (6)

  • 15

    { UNIX: z fiier special - dispozitive I/O

    { de tip bloc (HDD blocuri adresabile aleator) { de tip caracter (imprimant, modem flux de car.)

    z pipe: pseudo-fiier pt. conectarea a dou procese

    1.3. Concepte ce stau la baza 1.3. Concepte ce stau la baza SO (7)SO (7)

  • 16

    { apeluri sistem: interfa programe utilizator SOz instruciuni n limbaj de asamblarez procedur de bibliotec apelabil ntr-un program

    scris ntr-un limbaj de nivel nalt (C, C++,)

    { metode de transmitere a parametrilor ntre un program i SO:z ncrcarea parametrilor n regitriz salvarea parametrilor ntr-un tablou n memorie i

    transmiterea adresei tabelului ca parametruz push parametrii n stiv de ctre program i

    pop din stiv de ctre SO.

    1.4. Apeluri de sistem (1)1.4. Apeluri de sistem (1)

  • 17

    11 pentru executarea apelului de sistem

    count = read (fd, buffer, nbytes)

    1.4. Apeluri de sistem (2)1.4. Apeluri de sistem (2)

  • 18

    1.4. Apeluri de sistem (3)1.4. Apeluri de sistem (3)

    FORK: z creeaz un duplicat al procesului apelat, inclusiv regitrii i

    descriptorii de fiierez returneaz 0 n procesul copil i o valoare egal cu

    identificatorul procesului copil (PID) n procesul printeWAITPID:

    z pune n ateptare procesul apelant pn cnd un anumit copil (primul parametru este PID-ul copilului) sau oricare dintre copii (primul parametru este 1) i ncheie execuia

    EXECVE: z nlocuiete nucleul procesului cu fiierul namez argv=pointer la lista de parametri

  • 19

    { Exemplu:

    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 */}

    }

    1.4. Apeluri de sistem (4)1.4. Apeluri de sistem (4)

  • 20

    1.4. Apeluri de sistem (5)1.4. Apeluri de sistem (5)

    z file numele fiierului (cale absolut sau relativ)z how O_RDONLY, O_WRONLY, O_RDWR, O_CREATz fd file descriptor z n - numr de octei citii/scriiz &buf pointer la o structur n care sunt plasate

    informaiile despre fiier (tip fiier, dimensiune, data ultimei modificri,)

  • 21

    1.4. Apeluri de sistem (6)1.4. Apeluri de sistem (6)

  • 22Apeluri specifice Win32 API (Application Program Interface)

    1.4. Apeluri de sistem (1.4. Apeluri de sistem (77))

  • 23

    1.5.1. Sisteme monoliticez fiecare procedur este vizibil celorlalte proceduri

    1.5. Structura sistemelor de operare (1)1.5. Structura sistemelor de operare (1)

  • 24

    1.5.2. Sistem pe mai multe nivele (layered syst.)z fiecare nivel ncapsuleaz seturi de date i

    proceduri: { pot fi apelate de proc. de la nivelele superioare{ pot apela proc. de la nivelele inferioare

    z grad ridicat de modularizarez eficien redus n utilizarea resurselor hardware

    1.5. Structura sistemelor de operare (2)1.5. Structura sistemelor de operare (2)

  • 25

    Structura VM/370 cu CMS (Conversational SystemMonitor)

    1.5. Structura sistemelor de operare (3)1.5. Structura sistemelor de operare (3)1.5.3. Maini virtuale (virtual machine)

    z SO furnizeaz fiecrui proces o copie virtual a mainii; nucleul SO: VM Monitor

    z securitate: fiecare program are o VM propriez utilitate: testarea unor versiuni noi de SO, rularea

    pe aceeai main a mai multor SO,

    Monitor

  • 26

    1.5. Structura sistemelor de operare (4)1.5. Structura sistemelor de operare (4)1.5.4. Modelul client-server

    z proces utilizator (client) obin servicii prin cereri ctre procese server

    z micronucleul asigur comunicaia clieni-servere

  • 27

    Modelul client-server ntr-un sistem distribuit

    1.5. Structura sistemelor de operare (1)1.5. Structura sistemelor de operare (1)

  • 28

    Procese i fire de execuieProcese i fire de execuie

    Capitolul 2

    Ce sunt procesele?

    2.1. Procese2.2. Fire de execuie2.3. Comunicarea dintre procese (Interprocesscommunication IPC)2.4. Probleme clasice n IPC 2.5. Planificarea proceselor

  • 29

    { proces: program n curs de execuie{ program entitate pasiv; proces - entitate activ

    { asociate unui proces:z un spaiu de adrese (programul executabil,

    datele i stiva programului);z un set de regitri (PC, SP, etc.)z alte informaii necesare procesului;z identificatorul utilizatorului ce a startat procesul.

    { resurse necesare:z CPU, memorie, dispozitive I/O, fiierez date iniiale

    { terminarea unui proces eliberarea resurselor

    2.1. Procese (1)2.1. Procese (1)

  • 30

    2.1.1. Crearea i terminarea proceselor{ evenimente care conduc la crearea proceselor:

    z iniializarea sistemului de operarez executarea unui apel de sistem ce creeaz un

    proces de ctre un proces n execuiez cererea unui utilizator de a crea un procesz iniierea unei activiti pe un sistem cu

    prelucrare pe loturi

    { prin apeluri de sistem efectuate de procese aflate n curs de execuie

    2.1. Procese (2)2.1. Procese (2)

  • 31

    { terminarea proceselor:z normal (voluntar) (EXIT)z datorit unei erori (error exit) (voluntar)z datorit unei erori fatale (involuntar)z cauzat de un alt proces (KILL) (involuntar)

    { UNIX: ierarhie a proceselorz proces printe creeaz proces(e) copil, care

    creeaz proces(e) copilz printe + toi copii process groupz semnalele sunt transmise tuturor proceselor din

    grup{ Windows: nu exist ierarhie a proceselor

    z toate procesele sunt egalez un printe poate dezmoteni copii (NU i n

    UNIX)

    2.1. Procese (3)2.1. Procese (3)

  • 32

    2.1.2. Strile unui procesz n execuie utilizeaz procesorulz gata de execuie ateapt procesorulz blocat este n execuie dar nu mai poate

    continua

    z tranziiile dintre strile unui proces

    2.1. Procese (4)2.1. Procese (4)

  • 33

    2.1.3. Blocul de control al unui procesz n tabelul proceselor gestionat de SO exist

    cte o intrare pt. fiecare proces: ProcessControl Block (PCB)

    2.1. Procese (5)2.1. Procese (5)

  • 34

    z dispozitivele de I/O au asociat cte un vector de ntreruperi (conine adresa rutinei de tratare a ntreruperii)

    z operaii efectuate de SO (la nivelul de jos) la apariia unei ntreruperi

    2.1. Procese (6)2.1. Procese (6)

    Introducere1.1. Introducere (1)1.1. Introducere (2)1.2. Structura unui sistem de calcul (1)1.2. Structura unui sistem de calcul (2)1.2.4. Magistrale1.2. Structura unui sistem de calcul (3) 1.3. Concepte ce stau la baza SO (1)1.3. Concepte ce stau la baza SO (2)1.3. Concepte ce stau la baza SO (3)1.3. Concepte ce stau la baza SO (4)1.3. Concepte ce stau la baza SO (5)1.3. Concepte ce stau la baza SO (5)1.3. Concepte ce stau la baza SO (6)1.3. Concepte ce stau la baza SO (7)1.4. Apeluri de sistem (1)1.4. Apeluri de sistem (2)1.4. Apeluri de sistem (4)1.4. Apeluri de sistem (6)1.4. Apeluri de sistem (7)1.5. Structura sistemelor de operare (1)1.5. Structura sistemelor de operare (2)1.5. Structura sistemelor de operare (3)1.5. Structura sistemelor de operare (4)1.5. Structura sistemelor de operare (1)Procese i fire de execuie2.1. Procese (1)2.1. Procese (2)2.1. Procese (3)2.1. Procese (4)2.1. Procese (5)2.1. Procese (6)2.2. Fire de execuie2.2. Fire de execuie