Curs 05 - Iuliana Dorobat website

Download Report

Transcript Curs 05 - Iuliana Dorobat website

Curs 5
Planificarea proceselor
Introducere în planificarea
proceselor
a)Compute-bound process
b)I/O-bound process
Planificarea proceselor
1. Toate sistemele:
 Corectitudine – fiecare proces trebuie să aibă alocată o cuantă de timp pentru
prelucrări ale UCP
 Constrângeri generate de politici – politicile de sistem sunt prioritare
planificării proceselor
 Echilibru – toate componentele sistemului trebuie să fie active simultan
2. Sisteme batch:
 Maximizarea numărului de job-uri finalizate pe oră
 Minimizarea timpului de execuție a job-urilor
 UCP trebuie să fie permanent utilizată
3. Sisteme interactive
 Răspunsul la cereri trebuie să fie rapid
 Nivelul de satisfacție al utilizatorului să fie maxim
4. Sisteme în timp real:
 Finalizarea execuție proceselor și evitarea pierderii de date
 Evitarea alterării datelor mai ales pentru sistemele multimedia
Obiectivele algoritmilor de planificare
Planificare pe sistemele batch
1.First come first served
2.Shortest job first
3.Shortest remaing time next
4.Three level scheduling
Planificarea pe trei nivele
Sisteme interactive
Algoritmul Round Robin
Sisteme interactive
Clase de prioritate
Sisteme interactive
Alți algoritmi de planificare
Au mai fost implementați următorii algoritmi de
planificare:
–Multiple queues
–Shortest process next
–Guaranteed scheduling
–Lottery scheduling
–Fair share scheduling
Situația inițială: Utilizator1 deține 4 procese, Utilizator2 deține un proces
Aplicând algoritmul Round Robin secvența de procese executate este următoarea:
AEBECEDEAEBECEDEAEBECEDE….
Aplicând algoritmul Fair Share Scheduling secvența secvența de procese executate
este următoarea:
ABECDEABECDEABECDEABECDE….
Planificarea proceselor pentru sistemele în
timp real
Sisteme în timp real planificabile
• Fiind date:
– m evenimente periodice
– evenimentul i apare în perioada Pi și solicită Ci
secunde UCP
• Procesele generate pot fi planificate dacă:
m
Ci
1

i 1 Pi
Politică versus Mecanism
• Separă ceea ce este permis să se facă de
cum se face
– Un proces știe care din fii săi sunt importanți și
necesită prioritate mare de execuție
• Algoritmul de planificare este parametrizat
• Parametrii sunt furnizați de procese
utilizator
– Politica este realizată de procesele utilizator
Planificarea user-thread-urilor (1)
Algoritm de planificare utilizat:
• Round robin
• Prioritate
Planificarea kernel-thread-urilor (1)
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
De știut...
Motivația planificării proceselor.
Definiția algoritmului de planificare preemtiv.
Definiția algoritmului de planificare nonpreemtiv.
Definiția compute-bound process.
Definiția I/O-bound process.
Care sunt obiectivele generale ale unui algoritm de planificare.
Care sunt obiectivele generale ale unui algoritm de planificare pentru un
sistem batch.
Care sunt obiectivele generale ale unui algoritm de planificare pentru un
sistem interactiv.
Care sunt obiectivele generale ale unui algoritm de planificare pentru un
sistem în timp real.
Algoritmi de planificare utilizați pentru sistemele batch.
Algoritmi de planificare utilizați pentru sistemele interactive.
Algoritmi de planificare utilizați pentru sistemele în timp real.
Planificarea user-thread-urilor.
Planificarea kernel-thread-urilor.
Avantaje și dezavantaje ale planificării user-thread-urilor comparativ cu
kernel-thread-urilor.
Bibliografie
• A. Tanembaum, Modern Operating Systems,
Prentice Hall 2001, pag 132-158.
• A. Silberschatz, P. Galvin, Operating System
Concepts, John Wiley and Sons Inc., 2005, pag
90-108, 191-222.
• A. Tanembaum, Modern Operating Systems,
Prentice Hall, 2007, pag 145-163.
• Gh. Dodescu, Sisteme de operare, Ed. Economică,
2003, pag 65-80.