sisteme de operare - facultatea de matematica si...

23
SISTEME DE OPERARE 20092010 Conf.dr. Teodor-Florin Fortiș Cursul #4

Upload: vannhi

Post on 19-Feb-2018

429 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

SISTEME DE OPERARE

2009—2010

Conf.dr. Teodor-Florin FortișCursul #4

Page 2: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Informatii de baza

Procese

Page 3: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Un proces este un program in executie, impreuna cu valorile asociate acestuia;

Un sistem poate pastra la un moment dat mai multeprocese, incluzand si sistemul de operare;

Sistemul de operare ofera mecanismele necesare pentruoperatia de comutare de proces, ascunzand executiasecventiala a proceselor in spatele iluziei de paralelism;

Multiprogramarea este bazata pe operatia de comutare a proceselor;

Prin aceasta operatie, procesorul poate fi oferitalternativ fiecarui proces;

Page 4: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

In cazul operatiei de comutare de proces, vor fi avutein vedere limitarile hardware existente:

De regula exista un singur set de registrii care sunt utilizati direct pentru executie, chiar daca procesorul poate oferi mai multeseturi de registri.

Sistemul de operare trebuie sa foloseasca aceastacaracteristica pentru a rezolva toate operatiile legate de comutarea de context (salvare si restaurare de context);

Sistemul de operare nu va face niciun fel de presupuneri legate de timpii de executie a proceselor.

Page 5: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

(a) Multiprogramarea pentru patru programe.

(b) Modelul conceptual a patru procese

independente, secventiale.

(c) Doar un program este activ la un moment dat

Page 6: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza. Crearea proceselor

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Evenimente care pot determinacrearea proceselor:

Initializarea sistemului.

Executia unui apel sistem pentrucrearea proceselor de catre un proces.

O cerere utilizator pentru crearea unuiproces nou.

Initierea unei prelucrari in loturi.

Page 7: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza. Crearea proceselor

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

La initializarea sistemului, sistemul de operare va creeaprocesele necesare pentru utilizarea corecta a sistemului

Ex. Procese care suporta interactiunea utilizat; procesedestinate rezolvarii unor sarcini specifice.

In cazul sistemelor de operare moderne, procesele noisunt capabile sa creeze alte procese.

Exista diferite motive pentru un asemenea comportament:

Oferirea de servicii specializate;

Oferirea sprijinului pentru rezolvarea de probleme;

Oferirea sprijinului pentru executia proceselor inrudite; etc.

Page 8: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza. Crearea proceselor

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Pentru sistemele interactive, cererile utilizator pot fiutilizate pentru crearea de procese noi.

Interactiunea cu utilizatorul este posibila prin utilizarea unuiinterpretor de comenzi; procesele nou create sunt (de regula) instante ale unor comenzi sistem sau programeutilizator.

Pentru sistemele cu prelucrare in loturi, creareaproceselor se poate realiza in timpul transmiterii uneilucrari catre sistem, sau ca urmare a prelucrarii uneicartele de control.

Sistemul de operare trebuie sa decida asupra creerii uneilucrari noi doar atunci cand resursele disponibile suntsuficiente pentru aceasta operatie.

Page 9: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza. Crearea proceselor

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Mecanismul de creare a proceselor este urmatorul:

Un proces existent emite un apel sistem pentru a creea un proces nou (ex. Apelul sistem fork()). Anumite sisteme de operare limiteaza aceasta posibilitate la anumtie categoriide procese.

Sistemul de operare poate fi instiintat, in acelasi timp, asupra necesitatii de a incarca (sau executa) un alt program in spatiul nou creat (ex. Printr-un apel sistem de tip exec…()).

Alte sisteme de operare, cum ar fi sisteme de tip Windows, ofera o functie unica (si in acelasi timp complexa) pentru a rezolva toate cerintele operatiei de creare a proceselor.

Page 10: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza. Terminarea proceselor

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Evenimente care pot determina

terminarea proceselor:

Terminare normala (voluntar).

Terminare printr-o eroare (voluntar).

Eroare fatala (involuntar).

Terminare datorata unui alt proces (involuntar).

Page 11: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza. Terminarea proceselor

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Majoritatea proceselor dintr-un sistem de operare sunt caracterizateprintr-o terminare normala, odata emis un apel sistem specific;

Erorile fatale reprezinta evenimente speciale in timpul executieiproceselor (ex. Ca urmare a utilizarii unui nume de fisier invalid).

Procesele nu-si pot continua executia, ca urmare a erorilor fatale;

Situatiile de exceptie (ex. Impartire la zero, acces ilegal la memorie, operatii invalide cu pointeri) ofera un alt tip de motiv pentruterminarea proceselor.

Exceptiile pot fi interceptate si manipulate. Pentru acest tip de evenimente, terminarea proceselor poate fi evitata sau amanata;

Terminarea fortata poata sa apara doar ca urmare a cererii unuialt proces, autorizat pentru acest tip de operatie.

Page 12: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii de baza. Ierarhii de procese

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Diferitele sisteme de operare ofera mecanisme diferite

pentru a pune in evidenta relatiile dintre procese.

Pentru sistemele UNIX este implementata o relatie de tip

parinte-copil.

Toate procesele sunt descendetul unui unic proces, init, creat

odata cu initializarea sistemului (traditional, valoarea PID –

Process ID – este 1).

Pentru sistemele de tip Windows, ―creatorul‖ unui proces

este inzestrat cu un token special prin care poate fi utilizat

pentru a controla procesul ―creat‖. Cu toate acestea, in

filozofia Windows, toate procesele sunt egale.

Page 13: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Starile proceselor

Procese

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Page 14: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Starile proceselor

Modelul cu 3 stari

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Starile unui proces reflecta principalele momente in cursulexecutiei acestora. Primele sisteme folosesc un model simplu, cu 3 stari:

―in curs de executie‖

―pregatit‖

―blocat‖.

Procesele sunt blocate atunci cand asteapta aparitia unuieveniment extern (de regula, o operatie I/O, dar siactivitatea unui planificator sau altele)

Fiecare Sistem de operare implementeaza o schema proprie de tranzitie intre stari, in conformitate cu politicilesistemului in ceea ce priveste gestiunea proceselor.

Page 15: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Starile proceselor

Modelul cu 3 stari

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Un proces se poate gasi in stare “running” (in curs

de executie), “blocked” (blocat) sau “ready”

(pregatit).

Tranzitiile dintre aceste stari, pentru modelul simplu

cu trei stari, sunt evidentiate.

Page 16: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Starile proceselor

Modelul cu o stare suspendata

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Modelul clasic ofera o viziune de ansamblu asupraexecutiei proceselor.

Ca urmare a introducerii tehnicilor de memorie virtuala, modelul cu 3 stari poate fi modificat pentru a oferi starisuplimentare, asociate mecanismelor de swapping.

Un proces blocat (in memorie) poate fi transferat pe disc, ca proces suspendat. Activitatea unui proces suspendat poate fireluata prin readucerea acestuia in memorie ca proces―pregatit pentru executie‖.

Procesele suspendate nu pot fi incarcate in memorieintr-o alta stare decat daca fac obiectul unei activitatide planificare.

Page 17: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Starile proceselor

Modelul cu o stare suspendata

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Page 18: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Starile proceselor

Modelul cu doua stari suspendate

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Page 19: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Implementarea proceselor

Procese

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Page 20: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii despre procese

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Sistemul de operare pastreaza permanent in memorieinformatii despre procese intr-o tabela specializata (tabelaproceselor).

Fiecare proces aflat in memorie sau memoria virtuala estecaracterizat printr-o intrare in aceasta tabela.

Informatiile din aceasta tabela formeaza PCB (Process Control Block). Acesta include infromatii care definesccontextul proceselor:

Informatii pentru gestiunea proceselor: UID, GID, descriptori de fisiere, directorul radacina, directorul curent.

Informatii de utilizare a memoriei: pointeri catre segmenteleprogram.

Informatii specifice: registrii, informatii de planificare, PID, PPID, PGRP, semnale, timpii CPU, si altele.

Page 21: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Informatii despre procese

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Campuri tipice aflate in tabela proceselor.

Page 22: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Implementarea proceselor

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Nivelul de baza al unui SO bazat pe procese rezolva

intreruperile si planificarea. Deasupra acestui

nivel se regasesc procesele secventiale.

Page 23: Sisteme de operare - Facultatea de Matematica si Informaticaweb.info.uvt.ro/~fortis/LICENTA/SO/Lectures/SistemeOperare2009... · procese, incluzand si sistemul de operare; ... Anumite

Procese

Implementarea proceselor

after A.S.Tanenbaum, Modern Operating Systems, 3rd edition

Sarcini rezolvate de nivelele inferioare ale unui SO la aparitia uneiintreruperi.