SISTEME DE OPERARE

Similar documents
STRUCTURI DE DATE. Compresia datelor

Metode ansamblu Ensemble learning. Ruxandra Stoean

Noul sistem de sine de ghidaj pentru o precizie maxima!!!

Structura sistemelor de operare

Combinarea tabelelor SAS

BRAN BOOTCAMP BE FIT!

UTILIZAREA PRODUSELOR BENDER LA NAVE

1. Noua procedura pentru biletele Zug zum Flug la rezervarea pachetelor

CAP.I DESCRIEREA STRUCTURALA A UNUI SISTEM DE CALCUL

Ghid practic pentru stabilirea categoriei unei întreprinderi

Laborator 2. Crearea unei interfete MatLab cu ajutorul functiilor uicontrol si uimenu.

EXCURSII OPTIONALE EMIRATELE ARABE UNITE

Routing Information Protocol

Ghid Operational pentru Mentenanta HW IBM

AIRAC AIP SUPPLEMENT 01/16. WORK in progress at BACĂU/George Enescu airport Phase I

Izoeritroliza neonatala

FAST FLEXIBLE FRIENDLY

CASA si BANCA. Modulele de CASA si BANCA sunt asemanatoare, de aceea prezentarea lor va fi facuta in comun. 1. Primul submodul de Casa / Banca

Procedura de rezolvare a reclamatiilor si contestatiilor

KIT DE MASURARE NIVEL DE SEMNAL IN RETELE CATV

Tel: Fax: Sos. Bucure ti-ploie ti Nr RO , Sector 1 Bucure ti, Romania

Lucrarea de laborator nr. 11 Globalizarea si localizarea aplicatiilor.net

Folie PVC pentru amenajarea de iazuri, lacuri sau helestee

Modul Retineri.

Fig Trapezul exterior este y 1, iar cel interior y 3.

De ce sa optimizezi procesul de comanda?

Modelul O I D al unei organizatii

12 Specii de rechini

2. Dispersii. Ozon (O 3): Viteza si directia vantului:

Dimensiunea metropolitana a Europei: de la orase la regiuni urbane

Corfu (din București)

AGENTIA DE TURISM KUSADASI KUSADASI SEDIU CENTRAL B-dul Iancu de Hunedoara, nr 36, etaj 1, sector 1 Telefon: ; Fax:

CARTE TEHNICA. Instructiuni de instalare, functionare PENTRU REGULATORUL CLIMATIC EV 70

Inginerie software seminar 1. ISS - Seminar Multimi, structuri, sisteme, modelare

3.6.7 Terminale [i terminatoare de re]ea ISDN

Regasiti in cele ce urmeaza ultimele update-uri in materie de produs si operational la touroperatorii din grupul Neckermann/Thomas Cook.

Specificatii Grau Panificatie-UE Futures

Implicatiile Teoriei Haosului in stiinta economica

Anexe. Clasele de asigurare

SINTEZE CURS. Lectia 1 Principiile modelarii retelei de bugete, bugetul de tip master

Asistenţă tehnică pentru managementul proiectului Extinderea si reabilitarea sistemelor de apă in judetele SIBIU si BRASOV

(Valoarea Pasului de Tranzactionare = 1 leu)

2.1. Sectiunea administrator Sectiunea profil...5

Baile Felix - Inscrieri Timpurii 2017

Primul document elaborat abordeaza subiectul Briefului de la client catre agentie considerat unanim a fi primul pas catre o campanie buna.

Sistem de informare si ierarhizare pentru imbunatatirea dezvoltarii regionale. Sistem general de diseminare

Buton de alarmare manuala

Exista trei mari principii ale cultivarii biologice a legumelor: FERTILIZAREA CU INGRASAMANT ORGANIC

Desensibilizarea sistematica

Preview 6 PHI of 8 1/25/2015 8:35 PM

PLANIFICAREA SI ASIGURAREA CALITATII LUCRARILOR DE CONSTRUCTII

The Decameron Of Giovanni Boccaccio - Limpidsoft the decameron of giovanni boccaccio by giovanni boccaccio trans. john payne styled bylimpidsoft

World Robot Olympiad 2016 Categoria Standard Standard I Primar Descrierea probei, reguli si punctaj. Clean Road to School

Abordarea familiei pentru obtinerea consimtamantului scris in vederea donarii de organe

Alina Iordache Acest Raport este un produs al PDA International.

Impactul legislativ in aria de culegere a datelor cu caracter personal - cerinte si beneficii pentru clienti. Cornelia Jiloan

SISTEM DE COMANDA PRIN SEMNALE MIDI

Pasul 1. Realizati-va designul dorit. Acesta poate contine fotografii sau imagini vectoriale.

Fondul deschis de investitii BRD EUROFOND

INTERVIU Iordan Gheorghe BARBULESCU Cred ca in 30 de ani Uniunea Europeana va fi o federatie

Cod de proiectare. Evaluarea actiunii zapezii asupra constructiilor

Navigare la pagina de start

Sos. Bucure ti-ploie ti Nr RO , Sector 1 Bucure ti, Romania

Clasa a 11-a. Review of preview

AIRAC AIP SUPPLEMENT 09/15. Work in progress at IA I/Ia i Airport

STUDIU PRIVIND OPTIMIZAREA OPERATIILOR DE STRUNJIRE PRIN SIMULARE CAM CU VISUALTURN

PROGRAMME For the information visit to the European Commission of:

Utilizarea incasarilor si platilor prin mijloace electronice in administratia publica

Santa Claus Kingdom si Happy Tour te trimit in Vacanta organizat de Park Expert Service DTL SRL in perioada:

Laser Multipoint Verde-50mW Rosu-80mW Nr. Ref

Royal Caribbean International

Masurarea gradului de inovare in cadrul subregiunillor europene. Conferinta de lansare a proiectului 16 martie 2012

s:vii!. 6pV(~r6:-: ~~

GSM Gate Control Telecomanda GSM pentru porti si bariere electrice

cele mai ok referate MINISTERUL EDUCAŢIEI SI CERCETĂRII GRUPUL ŞCOLAR INDUSTRIAL DE TRANSPORTURI AUTO TIMISOARA

ROMANIA RAPORTUL PRIVIND IMPLEMENTAREA CONVENTIEI AARHUS

Ghid orientativ privind dispozitiile Regulamentului UE 2016/679 (GDPR)

Regulamentul promotiei din restaurante Fa-ti plinul la KFC Drive Thru

tom Programmer Manual de utilizare - versiune software

Bulgaria Statiunea Nisipurile de Aur Optional transport cu autocar Preturile sunt in EURO / persoana / noapte

Editia a 3-a (ianuarie 2009)

MANUAL DE UTILIZARE CIEL SIMPLU

AIRAC AIP SUPPLEMENT 01/14. Work in progress at ORADEA/Oradea airport Phase I

Două țări, un scop, succes comun! PLAN DE AFACERI. Agenție de turism

TERMENI SI CONDITII SPECIFICE DE UTILIZARE A CARDURILOR DE CREDIT DESTINATE PERSOANELOR FIZICE

Active Totalul tuturor posesiunilor unei entitati. Banca centrala Se refera la o institutie care este, prin lege, abilitata sa emita moneda.

Salcianu Attorneys at Law

AIRAC AIP SUPPLEMENT 02/17 WORK in progress at BAC U/George Enescu airport Phase II

TEHNOLOGII FOLOSITE LA LUCRARI DE MARI ADANCIME

Sistemul de Tranzactionare al OPCOM

Ordin ANRE nr.17 / Codul de masurare a energiei electrice

GENERATOARE DE CURENT INDUSTRIALE

OUG nr. 77/2009, privind organizarea si exploatarea jocurilor de noroc

REGULAMENTUL OFICIAL AL CAMPANIEI PROMOTIONALE

TUNEL DE SPALARE Sistem de spalare continuu

The world is a book and those who do not travel read only one page. St. Augustine

Sugestii cu privire la armonizarea legislatiei romanesti din domeniul concurentei cu reglementarile comunitare si practica din alte state membre UE

Sejururi exotice All Inclusive

t'rff,a NP#W, domiciliul /46Y f{s BL jtor,, DECLARATIE DE A\TERE lpolrytffi_;j--.fiil;:]

Raport integrat privind sursele de finantare a activitatilor ce vizeaza eficienta energetica in cladiri si saracia fata de combustibil

Transcription:

SISTEME DE OPERARE 2009 2010 Cursul #6 Conf.dr. Teodor-Florin Fortiș

Informatii generale

Informatii generale Procese cooperante Un proces este independent daca nu este afectat si nu poate afecta un alt proces (in executie). Un proces care nu este independent este cooperant. De regula, procesele cooperante partajeaza anumite resurse (e.g. fisiere PIPE, zone de memorie, altele) cu alte procese. Cooperarea este necesara pentru a: Partaja informatii. Obtine o viteza superioara de calcul. Oferi modularitate, eventual prin oferirea de sarcini elementare catre procese diferite. Oferi convenienta, pentru rezolvarea unui numar mare de sarcini simultan.

Informatii generale Obiectivul multiprogramarii: maximizarea utilizarii procesorului Sistemele cu partajarea timpului utilizeaza o frecventa comutare a resurselor de calcul intre diferitele procese; Interactiunea cu utilizatorul se bazeaza pe acest mecanism de comutare. Pentru sistemele simple, mono-procesor, multiprogramarea si partajarea in timp sunt notiuni similare Procesorul este oferit alternativ proceselor printr-o comutare frecventa intre acestea.

Informatii generale Cozi de planificare Intr-un sistem, procesele se afla permanent in una dintre cozile acestuia: COADA LUCRARILOR: contine procesele acceptate in sistem; Aceasta coada ofera intreaga plaja de lucrari existente. COADA PROCESELOR PREGATITE PENTRU EXECUTIE: contine procesele pregatite pentru executie; Aceste procese se afla in memorie (daca este posibil, toate procesele pregatite se gasesc in aceasta coada). BCP trebuie sa contina un camp specializat pentru a suporta aceasta coada. Planificarea procesorului este puternic bazata pe aceasta coada. COZILE I/O & DE INTRERUPERI: contin procese blocate De asemenea, procesele blocate se pot regasi in coada proceselor carora le-a expirat timpul alocat. Procesele migreaza permanent intre diferitele cozi pe baza modelului de stari asociat.

Informatii generale Ready queue CPU I/O device I/O queue I/O request Time slice expired Wait child exit Execute child Fork a child Intr. occurs Interrupt wait Migrarea proceselor intre diferitele cozi. Diagrama nu contine cozile asociate planificarii pe termen mediu (swapping/memorie virtuala)

Informatii generale Planificatori. Nivele de planificare Procesele depozitate in diferitele cozi concureaza pentru acces la diferite resurse. Intreaga existenta a unui proces este bazata pe o permanenta migrare intre diferitele cozi. Sistemul de operare, prin componentele sale specializate (planificatori) este responsabil cu alegerea proceselor care urmeaza sa acceseze aceste resurse. Aceasta alegere este bazata pe un algoritm de planificare, si trebuie sa asigure un bun echilibru intre diferitele procese existente: Nivelul de multiprogramare al sistemului trebuie sa fie mentinut la un nivel cat mai constant posibil. Acesta este reprezentat de numarul de procese care se afla simultan in memorie Sistemul trebuie sa suporte doua categorii majore de procese Procese marginite la operatii I/O Procese care petrec majoritatea timpului pentru a rezolva operatii I/O in defavoarea calculului. Procese marginite la procesor Procese care petrec majoritatea timpului pentru a realiza calcule in defavoarea operatiilor I/O.

Informatii generale Deciziile de planificare vin in ajutorul sistemului de operare SO este ajutat pentru a lua decizii importante, indeosebi legate de utilizarea resurselor. Aceste decizii sunt realizate pe baza unor algoritmi de planificare, care afecteaza activitatea intregului sistem. Categorii de algoritmi de planificare Batch simpli, dar efectivi Interactivi Real-time complexi, bazat pe politica sistemului.

Informatii generale Pentru diferitele categorii de sisteme de operare pot fi identificate necesitati diferite, rezultand din cerintele specifice ale acestora. Pentru un sistem de operare pentru micro-calculatoare, sistemul de operare nu este foarte interesat de planificare atata vreme cat raspunsul aplicatiilor este in limite rezonabile. Exista cerinte diferite pentru sisteme cu o incarcare mare, cum ar fi sistemele de operare server. Activitatea planificatorului este puternic influentata de o alta activitate a sistemului de operare: comultarea de context (de proces). Fiind o activitate costisitoare, aceasta trebuie realizata intr-o maniera cat mai eficienta posibil.

Informatii generale Categorii de procese. Cele doua categorii majore considerate pentru activitatile de planificare: Procese marginite (limitate) la operatii I/O; Procese marginite (limitate) la procesor. Momentele planificarii. Deciziile de planificare trebuie sa fie luate din motive diferite, la momente diferite in cursul vietii unui proces. Aceste momente pot include. Crearea unui nou proces; Terminarea unui proces; O intrerupere pentru o cerere I/O; Blocarea/suspendarea unui proces; Aparitia unor alte intreruperi (trap, e.g. timer trap).

Informatii generale Bazat pe momentele planificarii, exista doua categorii majore de algoritmi: Algoritmi non-preemptivi. Algoritmi utilizati pentru situatii in care activitatea proceselor nu poate fi intrerupta. Sistemele cu prelucrare in loturi (batch) prefera acesti algoritmi. Eventual sunt folositi algoritmi preemptivi cu limite largi de timp. Algoritmi preemptivi. In acest caz procesele sunt alese pentru executie pentru o perioada limitata de timp. Sistemele interactive prefera acesti algoritmi. Algoritmii non-preemptivi nu sunt potriviti pentru comportament interactiv.

Informatii generale Cerinte Corectitudine: procesele comparabile vor fi tratate in acelasi mod. Acestea vor avea aceeasi sansa de a ajunge la resurse. Echilibrul: activitatile de planificare vor oferi un nivel inalt de utilizare a majoritatii componentelor sistemului. Prin aceasta cerinta se poate atinge un nivel inalt de productivitate. De exemplu, s-ar putea evita preferarea proceselor limitate la procesor in detrimentul celor limitate la operatii I/O. Respectarea politicilor: algoritmii de planificare se vor adapta la politicile locale ale sistemului, impuse de cerintele specifice ale sistemului de calcul.

Informatii generale

Informatii generale. Batch Pentru algoritmii de planificare batch, se va urmari evolutia unor parametrii, incluzand: Iesirea: numarul de lucrari procesate in unitate ade timp (de exemplu, o ora). Timpul de intoarcere: pentru un proces, acesta este diferenta dintre momentul la care lucrarea isi termina executia si cel la care lucrarea a fost oferita sistemului. La nivel de algoritm se considera valoarea medie. Utilizarea procesorului: cerinta impusa de costul inalt al sistemelor de calcul de acest tip.

Informatii generale. Interactive Pentru sistemele interactive, se urmareste evolutia unor parametrii, incluzand: Timpul de raspuns: diferenta dintre momentul transmiterii si cel al obtinerii rezultatelor. proportionalitate: timpul de asteptare trebuie mentinut in limite rezonabile, acceptabile de catre utilizatorii finali. Timpul de asteptare: acesta reprezinta suma tuturor perioadelor de inactivitate ale unui proces. Se va calcula la nivel de algoritm timpul mediu de asteptare.

Informatii generale Bursts of CPU usage alternate with periods of waiting for I/O. (a) Un proces marginit la CPU. (b) Un proces marginit la operatii de I/O.

Informatii generale. Evaluarea algoritmilor In timpul evaluarii diferitilor algoritmi de planificare, vor fi urmariti diferiti parametrii, incluzand: 1. Timpul mediu de raspuns (de intoarcere); 2. Timpul mediu de asteptare; 3. Momentul sosirii; momentul la care un proces este acceptat in sistem. 4. Burst ; durata unui ciclu de executie tipic. 5. Operatii de comutare context; numarul total de operatii de comutare context necesare.

Algoritmi. Batch

Batch. Algoritmi (1) FCFS (First Come First Served), sau FIFO Cel mai simplu algoritm de planificare. Procesele sunt alocate procesorului in ordinea in care sosesc. Toate procesele utilizeaza aceeasi coada de asteptare. Cand un proces este intrerupt (temporar), activitatea sa este reluata la capatul cozii de asteptare. Acesta este un algoritm non-preemptiv.

Batch. Algoritmi (2) Shortest Job First (SJF) De asemenea un algoritm non-preemptiv, bazat pe durata (estimata) de executie a procesului. La fiecare pas este ales procesul cu cea mai scurta durata estimata de executie. Cand mai multe procese au aceeasi durata estimata de executie, FIFO (FCFS) este utilizat pentru decizia finala.

Batch. Algoritmi (3) Shortest Job First (SJF) Acest algoritm ofera valoarea optima pentru timpul mediu de asteptare. Din nefericire, este dificil de obtinut o estimare corecta a timpului de executie. Algoritmul SJF poate fi utilizat mai degraba pentru planificarea pe termen lung. De regula, estimarea timpului de executie este obtinuta pornind de la ideea ca aceasta va fi similara ca marime cu duratele anterioare.

Batch. Algoritmi (4) Shortest Job First (a) Algoritmul FIFO pentru patru procese. (b) Algoritmul SJF pentru aceleasi procese.

Batch. Algoritmi (5) Shortest Return Time Next Acest algoritm este similar cu SJF. De data aceasta este folosit timpul estimat pentru terminarea ciclului de executie curent. Deciziile planificatorului au loc acum si la sosirea unui nou proces in sistem, precum si la terminarea unui proces. La sosirea unui nou proces, procesul curent este evacuat daca durata estimata a noului proces este mai scurta decat a procesului curent; altfel procesul curent isi continua executia. Este un algoritm preemptiv (de regula, identificat ca SJF preemptiv). Este folosit si numele shortest remaining time first.

Algorithmi. Interactivi

Interactiv. Algoritmi (1) Round Robin (RR) Unul dintre cei mai vechi algoritmi de planificare pentru sisteme interactive (inca in functiune). Pentru fiecare proces este alocata o cuanta de timp: cea mai mare felie de timp permisa pentru executia unui ciclu al unui proces. Un proces a carui felie de timp a expirat este evacuat din memrie si pus la capatul cozii de procese pregatite pentru executie. Valoarea aleasa pentru cuanta trebuie sa fie cat mai mica posibil, astfel incat timpul pierdut de catre procesor cu operatii de comutare de context sa fie cat mai mic posibil.

Interactiv. Algoritmi (2) Round Robin (RR) Performanta intregului algoritm depinde puternic de valoarea cuantei. Pentru valori foarte mari ale cuantei, algoritmul este similar cu FCFS. Pentru valori foarte mici, abordarea RR este de partajare a procesului Valoarea cuantei va acoperi, pe cat posibil, cca 80% din timpii estimati de executie. In acest mod, cca 20% dintre procese vor avea nevoie de operatii de comutare de context. Timpul de raspuns este, de asemenea, afectat de aceasta decizie: valori mai bune sunt obtinute cand majoritatea proceselor se descurca cu o singura cuanta de timp.

Interactiv. Algoritmi (3) Round Robin Scheduling (a) Lista proceselor pregatite pentru executie (b) Aceeasi lista dupa ce procesul B si-a epuizat cuanta

Interactiv. Algoritmi (4) Planificare pe prioritati De data aceasta procesele nu mai au aceeasi importanta Procesele sunt caracterizate printr-o valoarea (prioritate) care este utilizata pentru a determina urmatorul proces planificat pentru executie. Procesele cu prioritati inalte sunt totdeauna preferate la planificare Pentru a evita monopolul acestor procese, planificatorul va modifica periodic prioritatile proceselor vechi in sistem, sau ale proceselor care asteapta perioade lungi de timp. Schema bazata pe prioritati este puternic influentata de politicile sistemului. Diferite scheme pot fi utilizate pentru a determina dinamic prioritatile de executie, in scopul obtinerii unor sanse egale pentru executie. O versiune acceptabila: Planificarea bazata pe clase de prioritati. In acest caz este aleasa o intreaga clasa de procese. Planificarea interna (la nivelul clasei) se poate realiza folosind un alt algoritm, de exemplu RR.

Interactiv. Algoritmi (5) Priority Scheduling

Interactiv. Algoritmi (6) Shortest Process Next (SPN) Acest algoritm este bazat pe SJF, din punctul de vedere al sistemelor interactive. Algoritmul realizeaza o estimare a timpului de executie necesar in urmatoarea cuanta, si alege procesul cu cea mai mica valoare. Estimarea poate fi imbunatatita prin utilizarea unei valori medii balansate: daca T 0 si T 1 sunt valoarea estimata si valoarea reala, urmatoarea estimare va fi: a T 0 +(1-a) T 1 Aceasta tehnica se numeste imbatranire, si este de regula bazata pe a=1/2.

Interactiv. Algoritmi (6) Planificare garantata Algoritmul GS va realiza o promisiune asupra performantei sistemului: Daca promisiunea este realizata pentru un sistem cu n procese, atunci sistemul va incerca sa ofere a n-a parte a resurselor sale fiecarui proces in unitatea de timp. Pentru a atinge aceasta tinta este necesara o buna contabilizare a tuturor resurselor disponibile. Procesul ales este cel cu cea mai mica utilizare in ultima unitate de timp (FIFO, cand nu se poate realiza o alegere).

Interactiv. Algoritmi (7) Lottery Scheduling Acest algoritm ofera fiecarui proces cate un bilet de loterie. Fiecare decizie este realizata printr-o extragere, premiul constand in resursele procesorului (o felie de timp). Sunt permise activitati adiacente, cum ar fi: Un proces poate detine mai multe bilete (prin aceasta isi poate mari sansele: util pentru implementarea unei scheme bazata pe prioritati). Tranzactiile cu bilete sunt permise. Un grup de procese client ar putea coopera pentru a creste sansele procesului server cu care acestea comunica, atunci cand o activitate critica urmeaza sa aiba loc.

OPERATING SYSTEMS FALL, 2009 Lecture #7 Assoc.Prof. PhD. Teodor-Florin Fortiș

Process Scheduling Scheduling Algorithms. Batch. Examples

Process Scheduling Interactive Algorithms. Batch. Examples