Pl anov an. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Podobné dokumenty
Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek Verze : jaro 2015

Distribuovan e algoritmy

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci

Procesy. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Procesy. Uvodem k proces um. PB 152 Operacn syst emy. Program a proces. Uvodem k proces um

Poctacov e syst emy { prehled

Přidělování CPU Mgr. Josef Horálek

Vl akna. Proces a vl akna. PB 152 Operacn syst emy. Resen editoru pomoc vl aken. Koncept sekvencnho procesu m uze b yt neefektivn

Podsyst em vstupu a v ystupu

Operační systémy. Přednáška 3: Plánování procesů a vláken

Sekven cn soubory. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Spr ava hlavn pam eti

OS Plánování procesů

ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Operacn syst emy { prehled

Spr ava hlavn pam eti

Projekt implementace ISMS Dodatek 1, PDCA

Operacn syst emy { prehled

GPDR, General Data Protection Regulation

Podsyst em vstupu a v ystupu

Uvod, celkov y prehled problematiky

Uvod, celkov y prehled problematiky

Projekt implementace ISMS

OPERAČNÍ SYSTÉMY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PŘIDĚLOVÁNÍ PROCESORU. doc. Dr. Ing. Oldřich Kodym.

Prklad dokumentov e z akladny ISMS

Typologie, funkcn skladby a architektury OS

Virtu aln pam et' PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Volba v udce, Leader Election

Obnova transakc po v ypadku

Principy operačních systémů. Lekce 4: Správa procesů

Volba v udce, Leader Election

Služba ve Windows. Služba (service) je program

Typologie, funkcn skladby a architektury OS

Prepn an, switching. Propojovac probl em. PV 169 Z aklady prenosu dat. Prepnac, prepnan a st' Metody prepn an

Management procesu I Mgr. Josef Horálek

Politika informacn bezpecnosti, Dodatek

Hasov an (hashing) na vn ejsch pam etech

Přednáška. Implementace procesů/vláken. Plánování vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Distribuovan e prostred, cas a stav v distribuovan em prostred

Politika informacn bezpecnosti, Dodatek

Distribuovan e prostred, cas a stav v distribuovan em prostred

Aplikacn bezpecnost. Informacn bezpecnost z pohledu aplikacnch syst em u. PV 017 Bezpecnost informacnch technologi

Soubor, souborov e organizace

Von Neumannovo schéma

Prklady opatren, zranitelnost a hrozeb

Projekt implementace ISMS

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2017

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Informacn teorie. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Rzen reakc na bezpecnostn incidenty

Obnova transakc po v ypadku

Hierarchick e indexy, B / B+ stromy, tries

Stavba operačního systému

Hierarchick e indexy, B / B+ stromy, tries

Politika informacn bezpecnosti

Bezs n urov a telefonie, DECT

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Krit eria hodnocen informacn bezpecnosti, dodatek

Projekt implementace ISMS, Dodatek 2, Pozn amky k projektov emu rzen

Komunikace a synchronizace proces u

Principy operačních systémů. Lekce 7: Souborový systém

Hierarchick e indexy, B / B+ stromy, tries

Principy operačních systémů. Lekce 2: Správa paměti

Projekt implementace ISMS Dodatek 4, Prklad politiky ISMS

Přidělování paměti II Mgr. Josef Horálek

Sign aly. Data a sign aly. PV 169 Z aklady prenosu dat. Sign al, elektromagnetick y sign al. (Elektromagnetick y) sign al

Téma 4 Plánování práce procesorů

Souborov e syst emy { koncepty a rozhran

Komunikace a synchronizace proces u

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

X u zs speci kace { v etev matematiky zabyvaj. Verze : jaro 2018 Jan Staudek, FI MU Brno. X late Middle English

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android

Sign aly. PV 169 Z aklady prenosu dat. Jan Staudek Verze : podzim 2018

N avrh a pouzit metrik informacn bezpecnosti, m eren v ISMS

Procesy a vlákna Mgr. Josef Horálek

PB153 Operační systémy a jejich rozhraní

projektu implementace ISMS

Principy operačních systémů. Lekce 3: Virtualizace paměti

Plánovanie procesov a vlákien

Rzen rizik. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2018

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Komunikace a synchronizace proces u

vjj 1. Priority. Dispatcher

N avrh a pouzit metrik informacn bezpecnosti, m eren v ISMS

Principy operačních systémů. Lekce 1: Úvod

Satelitn komunikace. PA 151 Soudob e ste. Jan Staudek Verze : jaro 2018

Principy operačních systémů. Lekce 6: Synchronizace procesů

Procesy a vlákna (Processes and Threads)

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Krit eria hodnocen informacn bezpecnosti

Ukázka zkouškové písemka OSY

Řízení IO přenosů DMA řadičem

Digit aln vysl an. PV 169 Z aklady prenosu dat. Jan Staudek Verze : podzim 2018

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

ZOS OPAKOVÁNÍ. L. Pešička

Transkript:

Pl anov an PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017

Osnova predn asky Motivace: V multitaskingov ych syst emech existuje vce proces u pripraven ych k behu procesor u je ve v ypocetnm syst emu (prakticky vzdy) m ene nez proces u OS mus rozhodovat, kter y proces pob ez jako prst, tj. kter emu procesu prid el (prp. na omezenou dobu) procesor Osnova: Z akladn pojmy Krit eria kvality pl anov an Pl anovac algoritmus FCFS, rezim fronty Pl anovac algoritmus SPF, prednost maj kr atk e procesy Prioritn pl anovac algoritmus, prednost maj prioritn procesy Pl anovac algoritmus Round-Robin, spravedliv e cerp an kapacity CPU Pl anov an multiprocesor u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 1

Klasikace metod pl anov an Podle clov ych objekt u pl anov an CPU { cl predn asky pl anuj se behy proces u / vl aken na CPU IO pl anov an pl anuje se porad plnen pozadavk u proces u na IO predm et hlubsho studia v PV 062 Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 2

Klasikace metod pl anov an podle casu uplatn en kr atkodob e, operativn pl anov an, hlavn cl predn asky kr atkodob y pl anovac (operacn pl anovac, dispecer, dispatcher): rozhodov an, kter emu procesu /vl aknu OS prid el CPU vyvol av an velmi casto, destky { stovky milisekund, mus b yt rychl y samozrejm a souc ast spr avy procesoru stredn edob e, taktick e pl anov an Stredn edob y pl anovac (taktick y pl anovac) taktika vyuzv an omezen e kapacity FAP pri multitaskingu, rozhodov an, kter e procesy mohou vyuzvat prostor hlavn pam eti, logicky tudz n alez do spr avy hlavn pam eti rdic algoritmus techniky oznacovan e pojmem swapping { vybr a proces, kter y je nutn e zaradit mezi odsunut e procesy (odebr a mu prostor ve FAP) a vybr a odsunut y proces, kter emu lze opet pridelit prostor ve FAP Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 3

Klasikace metod pl anov an podle casu uplatn en dlouhodob e, strategick e pl anov an dlouhodob y pl anovac (strategick y pl anovac, job scheduler) m a se nov y proces zaradit mezi aktivn procesy? denuje stupe n multiprogramov an je vyvol av an rdce, nemus b yt rychl y m uze b yt souc ast spr avy proces u, souc asti rozhran OS,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 4

Klasikace metod pl anov an podle casu uplatn en Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 5

Pro pripomenut { stavov y diagram proces u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 6

Frontov y model metod pl anov an Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 7

Dlouhodob e pl anov an Zad an ulohy ke zpracov an / programu se stane procesem a pred a se do fronty pripraven ych proces u dispecerovi V nekter ych OS se mohou zarazovat nov e procesy mezi potlacen e procesy, pak o jejich zarazen mezi pripraven e procesy rozhoduje stredn edob y pl anovac V OS s moznost d avkov eho zpracov an se nove zadan e ulohy rad do fronty uloh na disku a z n dlouhodob y pl anovac vybr a nove vytv aren y proces udrzuje efektivn stupe n multitaskingu porad v yberu m uze b yt typu { FCSF (first-come-first-served) { prioritn { urcen e pozadavkem na vyv azenost IO a CPU cinnosti,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 8

Dlouhodob e pl anov an V interaktivn e orientovan ych syst emech dlouhodob y pl anovac m uze urcovat stav nasycenosti syst emu a nov ym uzivatel um sd elovat nemoznost pripojen Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 9

Stredn edob y pl anovac, odkl ad an (suspending) proces u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 10

Kr atkodov e pl anov an { prciny zsk an/odebr an CPU Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 11

Dals mozn e klasikace metod pl anov an Podle charakteru interakce s procesy d avkov e pl anov an pl anov an interaktivnch proces u pl anov an proces u v real-time prostred Podle dynamiky aktualizace pl anu nepreemptivn pl anov an, (pl anov an bez predbh an) prov ad se po dokoncen pripraven eho pl anu preemptivn pl anov an, (pl anov an s predbh anm) prov ad se v okamziku zmeny stavu nekter eho z proces u pl an se dynamicky men Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 12

Krit eria (metriky) kvality pl anov an Uzivatelsky orientovan a krit eria Doba obr atky, Turnaround time doba behu + doba cek an na zdroje vc. CPU vhodn a mra pro d avkov e zpracov an prirozen a je snaha o minimalizaci doby obr atky v dimenzi doby cek an normalizovan a doba obr atky = doba obr atky / doba behu Doba reakce, Response time mra pro interaktivn syst emy doba od zad an pozadavku do doby ocek avan e reakce cl { snaha o minimalizaci pro co nejv ets komunitu uzivatel u v interaktivn e orientovan ych syst emech mvaj interaktivn ulohy prednost pred d avkov ymi ulohami Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 13

Krit eria (metriky) kvality pl anov an Casov e limity, Deadlines pokud jsou zadan e, pln en ostatnch cl u se mus upozadit vhodn e pro real-time syst emy casov a proporcionalita napr. cek an 45 s na uzavren modemov eho spojen je akceptovateln e doba reakce na spusten procesu z termin alu 45 s je neakceptovateln a Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 14

Krit eria / metriky kvality pl anov an Syst emov e orientovan a krit eria Propustnost, Throughput pocet proces u dokoncen ych za jednotku casu prirozen a je snaha o maximalizaci propustnosti pozadavek dosazen vysok e propustnosti neb yv a kompatibiln s pozadavkem minimalizace doby obr atky Vyuzit CPU maximalizace ve vceuzivatelsk ych syst emech pro real-time syst emy a 1-uzivatelsk e syst emy nepodstatn e krit erium Spravedlivost, Fairness porovnateln e procesy mus zskat porovnatelnou obsluhu pokud uzivatel nebo syst em nerekne jinak, maj vsechny procesy stejnou sanci, vc, ochrany pred st arnutm Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 15

Krit eria / metriky kvality pl anov an Prosazov an priorit uprednost nov an proces u oznacen ych jako prednostn, prioritn Vyrovn av an z ateze oblast stredn edob eho a dlouhodob eho pl anov an udrzov an vyuzitelnosti syst emov ych zdroj u uprednost nov an proces u rdce vyuzvajcch kritick e, uzkoprolov e zdroje budou-li se uprednost novat procesy v azan e na CPU, budou IO casto v prostojch budou-li se uprednost novat procesy v azan e na IO, bude CPU casto v prostojch ide al { multiprogramov an se ucastn vhodn y mix proces u v azan ych na CPU a na IO Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 16

V aha krit eri podle clov e oblasti Krit eria jsou nez avisl a, nelze optimalizovat vsechny soucasn e. Interaktivn uzivatelsk e syst emy pozaduj minimalizaci doby reakce { prepn an CPU mezi procesy mus b yt cast e, to zvysuje syst emovou rezii, takze se snizuje propustnost minimalizaci doby obr atky maximalizaci poctu interaktivnch uzivatel u (tj. i proces u) proporcionalitu pln en ocek av an uzivatel u (spravedlivost) syst emech D avkov e syst emy pozaduj maximalizaci propustnosti maximalizaci vyuzv an CPU Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 17

V aha krit eri podle clov e oblasti Real-time syst emy pozaduj dodrzov an casov ych limit u, zamezen ztr at am dat prepov editelnost { zamezen degradace kvality v multimedi alnch syst emech OS obecn e pozaduj maximalizaci propustnosti minimalizaci dob obr atek maximalizaci vyuzv an CPU pri zajist en proporcnho vyuzv an vsech komponent poctace spravedlivost odvozenou z prosazovan e politiky zpracov an, dodrzov an priorit,... minimalizaci potrebn eho v ykonu OS, minimalizaci syst emov e rezie Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 18

Pozadavky na pl anov an CPU pl anov an mus racion aln e zohled novat ocek av an uzivatel u m ejme 2 procesy: { korekce obrazovky po uzavren okna { odesl an e-mailu { zdrzen o 2s je akceptovateln e zdrzen korekce obrazovky po uzavren okna kv uli odesl an mailu o 2s je neakceptovateln e zdrzen odesl an mailu kv uli korekci obrazovky po uzavren okna o 2s je akceptovateln e proces = strd an d avek CPU (behu) a cek an na konec IO maximalizace vyuzit CPU vyzaduje prokl ad an d avek CPU r uzn ych proces u, pocet prokl ad an mus b yt minim aln prepnut kontextu mezi procesy je slozit e (100 K instrukc,... ) { prepnut z uzivatelsk eho rezimu do privilegovan eho rezimu { uchov an stavu CPU { uchov an stavu procesu { obnova stavu procesu,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 19

Pozadavky na pl anov an CPU je z adouc uprednost nov an proces u orientovan ych na IO (disk) trval e urychlov an CPU zp usobuje, ze vetsina proces u se st av a vce v azan a na IO (disk) kdy vyd avat pl anovac rozhodnut? vytvoril se nov y proces { m a bezet rodic nebo potomek? proces skoncil { kter y proces m a bezet jak dals? IO prerusen indikuje konec IO operace { { m a d ale bezet proces cekajc na konec t eto IO operace? { m a d ale bezet pr ave bezc proces? { m a d ale bezet uplne jin y proces? uplynul pl anovan y casov y interval { co d al? Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 20

Pl anovac CPU, dispecer, souc ast j adra OS cl funkcionality { alokace CPU konkr etnmu procesu / vl aknu dispecer vybr a mezi procesy, kter e sdl v hlavn pam eti ty, kter e jsou pripraven e k behu { ready Pl anovac rozhodnut vyd av a v okamziku, kdy proces: vznik a a rad se mezi pripraven e procesy prech az ze stavu b ezc do stavu cekajc prech az ze stavu cekajc do stavu pripraven y konc a nebo kdyz okoln podmnky indikuj potrebu zm eny alokace CPU, pak z rozhodnut dispecera m uze nastat, ze proces prech az ze stavu b ezc do stavu pripraven y Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 21

Pl anovac CPU, dispecer role v OS { po proveden vyz adan e sluzby nekter ym procesem nebo funkce aktivovan e prerusenm se pred av a procesor procesu vybran emu kr atkodob ym pl anovacem algoritmus pred an: prepnut kontextu z kontextu OS na kontext procesu vc. prepnut rezimu procesoru na uzivatelsk y rezim n ale pred an { skok na odpovdajc msto v uzivatelsk em programu pro restart procesu (urcuje obraz ctace instrukc v PCB) dispecersk e zpozd en { obvykl a denice doba, kterou potrebuje OS pro pozastaven b ehu jednoho procesu a pro start behu jin eho procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 22

Studovan e pl anovac politiky / algoritmy Chov an syst emu vymezuje politika, chov an pl anovacho syst emu vymezuje pl anovac politika Pl anovac politiku implementuje pl anovac algoritmus Pl anovac algoritmus je realizac v yb erov e funkce V yberov a funkce vybr a proces z fronty pripraven ych proces u Charakteristiky v yb erov e funkce w { waiting, doba cek an, doba ve fronte pripraven ych proces u e { execution, doba behu procesu na CPU s { process service time, ocek avan a doba realizace procesu, doba potrebn a pro realizaci procesu urcen a / odhadnut a uzivatelem, zahrnuje e Napr. max (w) je implementac politiky FCFS Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 23

Studovan e pl anovac politiky / algoritmy Pl anov an monoprocesorov ych syst em u First-Come, First-Served (FCFS) Round Robin, RR, cyklick e pl anov an Shortest-Proces-Next (SPN) Shortest-Remaining-Time-First (SRT) Prioritn pl anov an Pl anov an s vce frontami Fair Share Scheduler (FSS) Pl anov an homogennch multiprocesor u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 24

Studovan e pl anovac politiky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 25

Procesy pouzit e pri studov an pl anovacch politik Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 26

First-Come, First-Served (FCFS) tak e first-in-first-out (FIFO), resp. prsn y frontov y rezim Nepreemptivn politika, uvoln en y procesor se prid eluje procesu, kter y je ve fronte pripraven ych proces u nejd ele Jednoduch a implementace Vhodn e pro dlouh e procesy, uprednost nuj se procesy orientovan e na CPU pred procesy orientovan ymi na IO Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 27

Round Robin (RR), cyklick e pl anov an preemptivn pl anov an typu FCFS zalozen e na sledov an casov ych interval u Kazd y proces dost av a CPU cyklicky na malou jednotku casu { casov e kvantum, q q = destky az stovky ms po uplynut doby q je b ezc proces predb ehnut y nejstarsm procesem ve fronte pripraven ych proces u a dosud b ezc proces se zarazuje na konec t eto fronty je-li ve fronte pripraven ych proces u n proces u, pak kazd y proces zsk av a 1/n-tinu doby (v ykonu) CPU, najednou zsk av a CPU nejv yse na dobu d elky q Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 28

Round Robin (RR), cyklick e pl anov an Z adn y proces necek a na pridelen CPU d ele nez (n 1)q V ykonnostn hodnocen: q velmi velk e { pl anov an se blz principu FCFS q velmi mal e { kr atk e procesy se budou rychleji ukoncovat, ale CPU se venuje prev azne prepn an kontext u proces u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 29

Round Robin (RR), cyklick e pl anov an efektivn politika pro interaktivn vceuzivatelsk e syst emy a pro transakcn zpracov an Pr umern a doba obr atky se m uze zlepsit, pokud vetsina procesu se dob e q ukonc zlat e pravidlo volby q { 80% d avek CPU by melo b yt < q Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 30

Round Robin (RR), cyklick e pl anov an procesy orientovan e na CPU zsk avaj nef er v yhodu, pln e vyuzvaj prid elen e kvantum procesy orientovan e na IO obvykle kvantum nevyuzij a po ukoncen IO cekaj ve fronte pripraven ych proces u resenm je prioritn pl anov an proces u orientovan ych na CPU Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 31

Round Robin (RR), cyklick e pl anov an Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 32

Shortest-Process-Next (SPN) Metoda jak redukovat nevhodn e chov an disciplny FCFS K denici procesu se dopln d elka jeho (prst) CPU d avky Vybr a se { proces s nejkrats (prst) dobou d avky CPU { resp. proces, kter y se ukonc nejdrve pravd epodobn e mohou st arnout dels procesy d avka CPU se mus zn at, { velikost m uze ud avat vlastnk procesu { velikost lze odhadovat na z aklade chov an procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 33

Shortest-Process-Next, Shortest-Remaining-Time-Next Pouzvaj se dv e varianty: nonpreemptivn, bez predbh an, Shortest-Process-Next (SPN) jakmile se CPU pred a vybran emu procesu, tento nem uze b yt predbehnut y z adn ym jin ym procesem, dokud svoji d avku CPU nedokonc (nevycerp a prid elen e kvantum casu procesoru) preemptivn, s predbh anm, Shortest-Remaining-Time-First (SRT) jakmile se ve fronte ready objev proces s d elkou d avky CPU krats nez je doba zb yvajc k dokoncen d avky pr ave bezcho procesu, nov y proces,,predb ehne"pr av e b ezc proces pokud je krit eriem kvality pl anov an pr umern a doba cek an, je preemptivn varianta (tj. SRT) optim aln algoritmus { pro danou mnozinu proces u zarucuje minim aln pr umernou dobu cek an Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 34

Shortest-Process-Next, Shortest-Remaining-Time-Next Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 35

Jak urcit (odhadnout) d elku (prst) d avky CPU procesu Skutecn y proces nemus odhadovanou d avku CPU (prid elen e kvantum casu procesoru) vyuzt (napr. vyvol a I/O operaci a pridelenou dobu CPU nedocerp a, skonc drve,... ) D elka prst d avky CPU skutecn eho procesu se zn a presne jen ve speci alnch prpadech, d elku prst d avky CPU skutecn eho procesu lze pouze odhadnout Zkusenostmi prov eren a heuristika { odhad pravdepodobn e d elky prst d avky CPU se odvod z historie chov an procesu mus se zn at predchoz odhady d elky d avek CPU mus se zn at jak proces vyuzval pridelen a kvanta CPU pouzije se exponenci aln pr um erov an, klasick e pr um erov an odhaduje budouc chov an nepresn e Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 36

Exponenci aln pr um erov an { t n... skutecn a d elka n-t e d avky CPU { τ n+1... odhad d elky prst d avky CPU { Klasick e pr umerov an: τ n+1 = 1 n n i=1 t i { Exponenci aln pr umerov an: τ n+1 = αt n + (1 α)τ n { α, 0 α 1... parametr vlivu historie { inici aln odhad: τ 0 = 10 { vliv historie: α = 1/2 { τ n+1 = 0.5t n + 0.5τ n = = 0.5(t n + τ n ) τ 0 se vol jako pr umern a d elka CPU d avky v syst emu nebo se odvod z typu programu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 37

Exponenci aln pr um erov an { anal yza vlastnost cm je α mens, tm m a historie na odhad mens vliv, α = 0, τ n+1 = τ n, procesu se prideluj konstantn doby CPU cm je α vets, tm vce se respektuje (kr atk a) historie α = 1, pro pridelen doby CPU je urcujc pouze skutecn a posledn CPU d avka, τ n+1 = t n Kdyz formuli τ n+1 = αt n + (1 α)τ n rozvineme (τ n = αt n 1 + (1 α)τ n 1,... ) dostaneme pro obecn e α τ n+1 = αt n + (1 α)αt n 1 +... +(1 α) j αt n j +... +(1 α) n τ 0 τ 0 se vol jako vhodn a konstanta, τ 0 = 0 prioritizuje nov e procesy Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 38

Exponenci aln pr um erov an { anal yza vlastnost Pon evadz α a (1 α) jsou hodnoty 1, kazd y dals term m a na τ n+1 mens vliv nez jeho predch udce Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 39

Exponenci aln pr umerov an vs. jednoduch e pr umerov an Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 40

Exponenci aln pr umerov an vs. jednoduch e pr umerov an Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 41

Highest Response Ratio Next (HRRN) Vybr a se proces s nejvetsm pomerem skutecn e a ocek avan e doby existence procesu R, normalizovan a doba obr atky,r = max( w+s s ) Atraktivn algoritmus, protoze poct a s dobou existence procesu preference d ele cekajcch kratsch proces u, ale pri zachov an moznosti pozd ejsho vt ezstv i delsch proces u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 42

Prioritn pl anov an s kazd ym procesem je spojeno prioritn cslo (integer) prioritn cslo { preference procesu pri v yb eru prst e b ezcho procesu CPU se prid eluje procesu s nejvyss prioritou nejvyss priorit e obvykle odpovd a nejnizs prioritn cslo Pouzvaj se dv e varianty: nonpreemptivn, bez predbh an jakmile se CPU vybran emu procesu pred a, tento, dokud d avku CPU nedokonc, nem uze b yt predbehnut z adn ym jin ym procesem preemptivn, s predbh anm jakmile se ve front e pripraven ych objev proces s prioritou vyss, nez je priorita pr av e b ezcho procesu, nov y proces predbehne pr ave bezc proces Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 43

Prioritn pl anov an SPN je prioritn pl anov an, prioritou je predpovdan a d elka prst CPU d avky Probl em: st arnut procesy s nizs prioritou se nemus nikdy prov est Resen st arnut: zr an proces u napr. priorita procesu se s postupem casu (doby cek an,... ) zvysuje, HRRN Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 44

Pl anov an s vce urov nov ymi frontami frontu pripraven ych proces u lze d elit napr. do dvou front: fronta prednostn (foreground) { interaktivn fronta proces u na pozad (background) { d avkov a kazd e front e n alez specick y pl anovac algoritmus, napr. prednostn fronta (interaktivn) { RR fronta na pozad (d avkov a) { FCFS jin e mozn e delen fronty pripraven ych proces u: syst emov e procesy (OS) interaktivn aplikacn procesy clov e aplikace interaktivn editacn procesy clov e aplikace (prprava program u, dat,... ) d avkov e procesy clov e aplikace (t ydenn pl any,... ) ostatn procesy (hry, studensk e ulohy,... ) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 45

Pl anov an s vce urov nov ymi frontami, 2 mus se uplatnit vhodn a politika pl anov an, tj. rozhodov an, kdy se prov ad v yber z jedn e a kdy z druh e (dals) fronty pevn e prioritn pl anov an napr. pro prv y prklad na minul e obrazovce { { d avkov a fronta se obsluhuje jen kdyz je interaktivn fronta pr azdn a { ex. hrozba st arnut proces u v d avkov e fronte! casov e rezy { pro obsluhu kazd e fronty se venuje jist y dl casu CPU, po kter y pl anovac procesy vybr a z t e kter e fronty { napr. 80 % casu CPU pro interaktivn ulohy s pl anov anm typu RR 20 % casu CPU pro d avkov e ulohy s pl anov anm typu FCFS Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 46

Zp etnovazebn pl anov an s vce urov nov ymi frontami pl anovac m uze procesy mezi frontami presouvat zpetn a vazba { pl anovac zn a charakteristiky beh u proces u takto lze implementovat zr an procesu Pl anovac s vce urov nov ymi zp etnovazebn frontami lze denovat napr. n asledujcmi parametry pocet front pl anovac algoritmus kazd e fronty metoda pouzit a pro urcen kdy proces prelozit mezi procesy s v ets preferenc (napr. po interakci) metoda pouzit a pro urcen kdy proces prelozit mezi procesy s mens preferenc (napr. po pln em vycerp an casov eho kvanta) metoda pouzit a pro urcen do kter e fronty bude proces vstupovat kdyz pozaduje prov est n ejakou sluzbu (napr. vstoup do f aze krizov eho rzen aplikace) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 47

Zp etnovazebn pl anov an s vce urov nov ymi frontami Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 48

Zp etnovazebn pl anov an s vce urov nov ymi frontami Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 49

Fair Share Scheduler (FSS) Pl anov an v nekter ych OS typu Unix Cl { d at spravedlivou sanci proces um na b azi prslusnosti proces u do skupin Procesy se del do skupin napr. na b azi prslusnosti k uzivatel um Kazd emu uzivateli je pridelov ana jist a c ast v ykonu procesoru, kdo ho vyuzv a vce nez je spravedliv e, bude dost avat m ene, kdo ho vyuzv a m ene nez je spravedliv e, bude dost avat vce Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 50

Fair Share Scheduler (FSS) Princip pl anov an je prioritn skupina proces u k vyuzv a dl v ykonu procesoru W k koncept spravedlivosti { priorita procesu kles a s r ustem doby pouzv an procesoru { procesem a { skupinou, do kter e proces patr skupine s vets vahou W k, kles a pouzv anm CPU priorita pomaleji oznacov an priority { vyss prioritn cslo znamen a nizs prioritu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 51

prioritn cslo P i j je dan e vztahem: Fair Share Scheduler (FSS) procesu j patrcho skupine k v casov em intervalu i P i j = B j + CP U i 1 j 2 + GCP U i 1 k (4W k ) kde B j je b azov a priorita procesu j CP U i 1 j exponenci alne v azen y pr umer pouzv an procesoru procesem j v casov em intervalu i 1 GCP U i 1 k exponenci alne v azen y pr umer pouzv an procesoru skupinou k v casov em intervalu i 1 Pro v ypocty exponenci alne v azen ych pr umer u se pouzv a α = 1/2: CP Uj i = U i 1 j kde U i 1 2 + i 1 CP Uj, GCP U i 2 j i 1 GUj = + 2 GCP U i 1 j 2 j je pouzit procesoru procesem j v intervalu i 1 GU i 1 k je pouzit procesoru skupinou k v intervalu i 1 Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 52

Zp etnovazebn pl anov an s vce urov nov ymi frontami Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 53

Klasikace multiprocesorov ych syst em u Multiprocesor { poctac vybaven y vce procesory (CPU, IO procesor,... ) Distribuovan y multiprocesor, cluster kolekce relativne autonomnch syst em u, kazd y se svou hlavn pamet a se sv ym IO podsyst emem propojen st, typicky model klient-server Funkcn e specializovan e procesory, asymetrick y multiprocesor hlavn, univerz aln procesor + specializovan e procesory realizujc procesy poskytujc sluzby (IO,... ) proces um hlavnho procesoru Homogenn multiprocesor (HMP), uzce v azan y multiprocesor symetrick y multiprocesor skupina procesor u sdlejcch spolecnou hlavn pam et' a integrovan e rzen ych operacnm syst emem Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 54

Pl anov an homogennho multiprocesoru (HMP) Predm et studia { nez avisl y paralelismus, pl anov an soubezn eho resen vz ajemne nez avisl ych proces u na HMP Prirozen e rozsren monoprocesorov eho prostred na multiprocesor Pl anov an HMP zahrnuje vz ajemne z avisl e probl emy prid elov an proces u k procesor um pouzit multitaskingu na jednotliv ych procesorech v yber konkr etnho procesu, jak vybrat z fronty pripraven ych proces u? Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 55

Pl anov an homogennho multiprocesoru (HMP) Pridelov an proces u procesor um v HMP Procesory tvor bank a z banku se prideluj na z adost Statick e prid elen procesu k procesoru pro kazd y procesor se udrzuje individu aln fronta pripraven ych proces u vhodn e pro skupinov e (gangov e) pl anov an, detaily pozdeji Dynamick e prid elov an procesu k procesoru udrzuje je glob aln fronta pripraven ych proces u, spolecn a pro vsechny procesory kazd y proces m uze strdav e b ezet na kter emkoliv procesoru vhodn e pro dynamick e vyrovn an z at eze (load balancing) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 56

Pl anov an homogennho multiprocesoru (HMP) Kdo o prid elen rozhoduje? jedin y, centr aln (master) procesor res opakovane dostupnou pl anovac sluzbu z j adra OS na z adost generovanou uvoln enm podrzen eho procesoru kter ykoliv uvoln en y procesor, symetrick y multiprocesing udrzuje se jedna centr aln fronta pripraven ych proces u / sled u kazd y voln y procesor si s am vyhled av a prst sled presneji { kopie OS bezc na procesoru si sama vyhled av a... uvoln en y procesor res n asobn e dostupnou pl anovac sluzbou j adra OS, coz vyzaduje pouzvat vz ajemn e vylucov an v j adru Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 57

Pl anov an homogennho multiprocesoru (HMP) Provozovat multitasking na jednotliv ych procesorech HMP? pokud je dostupn ych mnoho procesor u nen d ulezit e, aby byl kazd y procesor vyuzv an co mozn a nejvce Jak vybrat z fronty pripraven ych proces u / vl aken v HMP pri pl anov an na urovni proces u co nejjednoduss v yber { FIFO pri pl anov an na urovni vl aken se pouzvaj specick e techniky, prioritn v yber ci v yber na z aklade sledov an historie nejsou pro pl anov an vl aken v yhodn e politiky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 58

Pl anov an vl aken v HMP Sdlen z at eze, load sharing kazd y procesor m uze realizovat kter ekoliv vl akno, procesy nejsou prid eleny z adn emu konkr etnmu procesoru glob aln fronta ready, v yber z fronty { FIFO nebo prioritne (priorita kles a s r ustem poctu vl aken v procesu) predb ehnut e sledy pravd epodobn e nebudou pokracovat na stejn em procesoru { nelze proto pouzvat,,cache"pam eti procesor u jestlize jsou vsechna vl akna procesu v jedn e spolecn e front e ready, pravd epodobn e nebudou spust en a najednou (paraleln e) Gangy technika pl anov an zarucujc soucasn y b eh vce sled u 1 procesu na vce procesorech vhodn e pro aplikace jejichz v ykon kles a, pokud se neres paralelne { napr. rozpozn av an sc eny Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 59

Pl anov an vl aken v HMP Dedikovan e prid elen, opak sdlen z at eze pri vytboren procesu se prid el kazd emu vl aknu procesor pri cek an vl akna na IO je procesor v prodleve, z adn y multitasking na prid elen ych procesorech v syst emech s tisci ci stovkami procesor u nen vyuzit procesoru metrikou efektivnosti eliminace pl anov an v pr ubehu procesu m uze v yznamne urychlit proveden procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 60

Pl anov an v syst emu Windows V j adru neexistuje centr aln pl anovac vl akno kdyz vl akno nem uze pokracovat v behu, vstupuje do rezimu j adra a prov ad program pl anovace a zjist'uje kter emu vl aknu se pred a rzen Vl akno nem uze pokracovat v behu kdyz mus cekat na ud alost, semafor, mutex, IO,..., signalizuje ud alost (zved a semafor,... ) vycerpalo pridelen e casov e kvantum behu na CPU (doslo k prerusen casovacem) Pl anovac se rovnez vyvol av a kdyz se dokonc IO operace uplynul interval casov e omezen eho cek an Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 61

Windows { Pl anov an je prioritn pro nastaven Real-time priority mus mt uzivatel speci aln opr avn en aplikacn vl akna maj priority 15 { 1 b azov a priorita vl akna = priorita procesu bezn a priorita vl akna = b azov a priorita + relativn korekce priority Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 62

Windows { Pl anov an, korekce priorit Nejvyss prioritn urove n je pl anovan a v rezimu round-robin, cyklick e pl anov an Nav ysen priority vl akna, prklady po dokoncen ocek avan e IO operace + 1: disk, +2: komunikace, +6: kl avesnice, +8: zvukov a karta po ud alosti, zvednut semaforu,... : + 1 Snizov an priority vl akna kdykoliv vl akno vycerp a casov e kvantum CPU az do urovne b azov e priority Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 63

Prklad pl anov an { Linux, pl anov an proces u Linux pouzv a dva algoritmy pro pl anov an proces u: algoritmus pro spravedliv e casov e sdlen umoz nujc predbh an (fair preemptive scheduling algorithm) kazd y proces zsk a jist y pocet kredit u pri kazd em prerusen casovacem ztr ac b ezc proces 1 kredit proces s 0 kredity se vzd av a CPU jakmile neexistuje z adn y pripraven y proces s kredity, provede se rekreditace, kter a prid a kredity vsem proces um v syst emu, nejen pripraven ym, podle pravidla kredity = kredity/2 + priorita real-time algoritmus pro resen t ech ukol u, pro kter e je mnohem d ulezit ejs absolutn priorita pred spravedlivost neimperativn (soft) real-time Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 64

Prklad pl anov an { Linux, pl anov an proces u, 2 O aplikaci toho kter eho pl anovacho algoritmu rozhoduje pl anovac trda procesu (process s scheduling class) Linux implementuje FIFO pl anovac trdu a round-robin real-time pl anovac trdu V obou variant ach m a proces navc i prioritu Pl anovac spoust proces nejvyss priority Na stejn e prioritn urovni se vybr a podle doby cek an (FIFO) Procesy plánovací třídy FIFO b ez dokud neskonc nebo se nezablokuj Procesy round-robin real-time plánovací třídy jsou po uplynut casov ych kvant predbhan e a rad se na konec pl anovac fronty round-robin procesy stejn e priority se spravedliv e strdaj v b ehu automaticky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 65

Prklad pl anov an { Linux, pl anov an proces u, 3 V Linuxu se pl anov anm oznacuje i spousten r uzn ych,,proces u j adra\ (tasks) spousten proces u j adra pozadovan a behem norm alnch proces u spoust en proces u j adra vynucen a drivery zarzen Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 66

Pl anov an javovsk ych sled u JVM pouzv a prioritn preemptivn pl anov an na stejn e prioritn urovni se aplikuje princip FIFO JVM pl anuje beh sledu kdyz: bezc sled se vzd av a pr ava bezet bezet { konec sledu { sled vystupuje z metody typu run(), { cek an na ud alost { napr. na konec I/O operace se stane pripraven ym sled vyss priority nez b ezc sled Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 67

Pl anov an javovsk ych sled u sled um se prideluje stejn e kvantum casu pokud podp urn y OS nepodporuje RR pl anov an, ex. n astroje pro sdelen JVM, ze zbytek pridelen eho kvanta nepotrebuje a lze proto pl anovat dals kvantum dalsmu sledu { thread.yield() { pl anuje se b eh dalsho sledu stejn e priority sledu je priorita prid elena pri jeho vytvoren JVM priority dynamicky nem en Jan Staudek, FI MU Brno PB152 Operacn syst emy { Pl anov an 68