3. Curs USO - SM

download 3. Curs USO - SM

of 20

Transcript of 3. Curs USO - SM

  • 7/25/2019 3. Curs USO - SM

    1/20

    Utilizarea SistemelorUtilizarea SistemelorUtilizarea SistemelorUtilizarea Sistemelor

    de Operarede Operarede Operarede Operare

    Curs 3

    2012 - 2016

    SL. dr. ing. Stefan Mocanu

    SL. dr. ing. Mihnea Moisescu

    CuprinsCuprinsCuprinsCuprins

    1. Descrierea si starea proceselor

    . rearea procese or

    3. Identificarea si atributele proceselor

    4. Gestiunea proceselor

  • 7/25/2019 3. Curs USO - SM

    2/20

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

    Ce esteun

    proces

    ?

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

  • 7/25/2019 3. Curs USO - SM

    3/20

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

    Definitii

    =

    = imaginea dinamica a unui program;

    In cazul in care exista mai multe procese asociate cu un acelasiprogram, acestea se vor numi instante.

    Un program devine proces atunci cand este incarcat in memoriein vederea executarii propriu-zise.

  • 7/25/2019 3. Curs USO - SM

    4/20

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

    In timpul executiei orice proces poate fi caracterizat prin:

    Identificator: unic atribuit fiecarui proces

    Stare

    Prioritate: prioritate relativa la alte procese

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

    Program counter (contor program): adresa urmatoareiinstructiuni din program ce se va executa

    Pointer de memorie: pointeri catre cod si date asociateprocesului

    Date de context: date din registrele procesorului prezente lamomentul executiei procesului

    Stare I/O: intrari, iesiri folosite de proces

    Informatii gestiune: timp folosit, constrangeri de timp, etc

    Caracteristici stocate in Blocul de control proces(Process Control Block)

  • 7/25/2019 3. Curs USO - SM

    5/20

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

    Proces P1

    Salveaza in PCB1

    Incarca din PCB2

    Interrupt / system call Proces P2

    ready or

    waiting

    executing

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

    Non-executing

    (Ready, Waiting)

    Salveaza in PCB2

    Incarca din PCB1

    Interrupt / system call

    ready orwaiting

    executing

    executing

  • 7/25/2019 3. Curs USO - SM

    6/20

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

    De-a lungul vietii, un proces trece prin mai multe stari:

    NEW

    RUNNING

    WAITING

    FINISHED

    ZOMBIE

    Gestiunea propriu-zisa si trecerea dintr-o stare in alta sunt facute de catre

    o entitate numitaplanificator de procese.

    Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor

    running finished

    new ready

    waiting zombie

    Diagrama starilor unui proces

  • 7/25/2019 3. Curs USO - SM

    7/20

    Tipuri de proceseTipuri de proceseTipuri de proceseTipuri de procese

    Procese sistem - Procese speciale: swapper, init.

    Procese utilizator

    Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor

    Cea mai simpla metoda de a crea un proces consta inlansarea in executie a unui program

    Conditii:

    disponibilitate resurse (HW si de alta natura !);

    drepturi/permisiuni pentru utilizator;

    utilizarea corecta a comenzii specifice.

  • 7/25/2019 3. Curs USO - SM

    8/20

    Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor

    Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor

  • 7/25/2019 3. Curs USO - SM

    9/20

    Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor

    Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor

    Alta modalitate de a genera/crea procese:

    din interiorul unui proces existent

    rocesu curen = proces par n e sau a a.

    Procesul creat = proces copil sau fiu

    In mod normal procesul parinte asteapta finalizarea procesului fiu.Abaterea de la aceasta regula poate duce la generearea de procese

    zombie.

    MOSTENIRE !

  • 7/25/2019 3. Curs USO - SM

    10/20

    Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor

    T T

    fork()

    T F

    a. Un singur proces copil b. Mai multe procese copil

    fork()

    T F1 F2 Fn. . .

    Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor

    T

    a=5;

    MOSTENIRE

    fork()

    T F

    a=5; a=5;

    a=a+1; a=5;

  • 7/25/2019 3. Curs USO - SM

    11/20

    Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor

    Pentru gestionarea proceselor este necesara identificarea acestora

    in mod unic !

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

    PID, PPID

    Memorie ocupata

    Procesor ocupat

    Prioritate

    Durata executie Terminal asociat

    etc.

    specifice proceselor:

    De cine credeti ca esteconditionat ?

    3 categorii:

    Identificarea proceselor

    Informatii de stare

    Informatii de control

  • 7/25/2019 3. Curs USO - SM

    12/20

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

  • 7/25/2019 3. Curs USO - SM

    13/20

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

  • 7/25/2019 3. Curs USO - SM

    14/20

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

    Proces de prim plan (foreground)

  • 7/25/2019 3. Curs USO - SM

    15/20

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

    Proces de prim plan (foreground)

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

  • 7/25/2019 3. Curs USO - SM

    16/20

    Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor

    Proces de fundal (background)

    Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor

    Pornirea proceselor (subiect deja discutat) (SO, utilizator)

    nc erea procese or , u za or

    Schimbarea prioritatii (utilizator)

    Suspendarea/revenirea din starea de suspendare (SO)

    Sincronizare/comunicare (SO, utilizator)

  • 7/25/2019 3. Curs USO - SM

    17/20

    Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor

    Pornirea proceselor

    Resurse necesare:

    memorie

    procesor

    ID I/O

    Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor

    Inchiderea proceselor

    Conditii de inchidere:

    Iesire normala

    Iesire cu eroare

    Eroare fatala

    Terminare de catre alt proces

  • 7/25/2019 3. Curs USO - SM

    18/20

    Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor

    Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor

  • 7/25/2019 3. Curs USO - SM

    19/20

    Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor

    Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor

    Linux:

    * nice

    Schimbarea prioritatii proceselor

    * renice

    Windows :

    Set priority:

  • 7/25/2019 3. Curs USO - SM

    20/20

    Bibliografie

    Stefan Mocanu, Daniela Saru, "Comunicare si sincronizare ntre procese

    utilizator in sistemul de operare QNX", Editura Printech, Bucuresti, 2010 A.Tanenbaum & A.Woodhull, Operating Systems Design and

    Implementation, 2nd edition, Prentice Hall, 2003 p: e oo rowse.com opera ng-sys em-concep s-s ersc a z-ga v n-

    gagne-7th-ed-pdf-d276634357 Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating Systems

    Concepts, Ed. Wiley, diverse editii http://tille.garrels.be/training/tldp/ch04.html#sect_04_01