slides 05 scheduling
TRANSCRIPT
-
8/3/2019 Slides 05 Scheduling
1/53
Feladatok (task) kezelse
multiprogramozott opercisrendszerekben
Opercis rendszerek (vimia219)
BME-MIT 2011, Minden jog fenntartvaBudapesti Mszaki s Gazdasgtudomnyi EgyetemMrstechnika s Informcis Rendszerek Tanszk
r. ov cs zy am s2. anyagrsz, temezs
-
8/3/2019 Slides 05 Scheduling
2/53
Trtneti httr
Batch rendszerek...
Spooling...
Multiprogramozso 1 processzor (vgrehajt egysg), M feladat (task)
o Feladat tpusok
BME-MIT 2011, Minden jog fenntartva 2. lap
Rendszerfeladatok Batch feladatok On-line feladatok (felhasznlk)
Egy felhasznlnak akr tbb fggetlen vagy fgg feladata lehet
Egy feladat akr tbb prhuzamos rszfeladatra is oszthat
o Feladat kszlet (Job pool)
o A feladatok vgrehajtshoz erforrsok szksgesek
-
8/3/2019 Slides 05 Scheduling
3/53
Feladat megfogalmazsa A multiprogramozs sorn a cl az, hogy a feladat kszletet minl
optimlisabban hajtsa vgre a rendszer.
Mit jelent az, hogy optimlis?o
Alkalmazsfgg szempontok...o Egszen ms az optimlis egy notebook, szerver, vagy kemny vals idej
begyazott rendszer (ESP, ABS, stb.) esetn.
o Sokat fogunk errl a krdsrl beszlni...
BME-MIT 2011, Minden jog fenntartva 3. lap
z u u y :o Egy-egy kln virtulis gpen futnak.
Virtulisan sajt CPU s memria
o De osztozniuk kell a rendszer erforrsain, szinkronizldniuk(egyttmkds), kommuniklniuk kell egymssal.
o Ezeket a feladatokat a feladatok nem tudjk nmaguk megoldani, azopercis rendszert (annak a szolgltatsait) kell hasznlniuk.
Az OS a nagy machintor, a dikttor, stb. a rendszerben. A szmtgp llamformja a felvilgosult diktatra.
-
8/3/2019 Slides 05 Scheduling
4/53
Egy plda ms terletrl 1.
Krhzi osztly (SOTE-s hallgatk is vannak itt.)
Vgrehajt egysgek
o Orvosok, nvrek, kisegt szemlyzet (heterogntbbprocesszoros rendszer)
o Egyben k a rendszer legfontosabb erforrsai is!
BME-MIT 2011, Minden jog fenntartva 4. lap
, , , .
o Vizsglk, drga mszerek, stb. Adott szm ll rendelkezsre bellk.
Egy adott feladathoz ezek egy szablyrendszer szerint kell hogy
rendelkezsre lljanak.o Anyagok s egyb szksgletek (gygyszer, energia, stb.)
Minl kevesebbet, de eleget kell hasznlnunk.
o Az erforrsokhoz trtn hozzfrs idbe kerl.
-
8/3/2019 Slides 05 Scheduling
5/53
Egy plda ms terletrl 2.
Feladatok: Betegek s egyb mkdsselkapcsolatos dolgok elltsa.
temezs (scheduling, scheduler):o Forvos, fnvr, stb. kiosztja a munkt.
Ki mit s mikor csinl a vgrehajt egysgek kzl.
BME-MIT 2011, Minden jog fenntartva 5. lap
oMi trtnik, ha a feladat kszlet megvltozik? Pl. feladat befejezdik, egy beteg llapota rosszabbodik, stb.
jraosztjk a munkt.
o A vgrehajt egysgek hogyan hasznljk azerforrsokat?
A szmtgp esetn a feladat egyszerbb...
-
8/3/2019 Slides 05 Scheduling
6/53
Opercis rendszerek
Alapfogalmak tisztzsa.
Fraszt lesz, de sajnos elkerlhetetlen...
BME-MIT 2011, Minden jog fenntartva 6. lap
-
8/3/2019 Slides 05 Scheduling
7/53
Esemny (event)
A rendszer letben lezajl vltozs vagy trtns
Bels esemny
o Szoftver megszakts vagy kivtel Kls esemny
BME-MIT 2011, Minden jog fenntartva 7. lap
A modern opercis rendszerek megszaktsvezreltek!
Esemnyvezreltnek is hvjk (event driven)ezrt az OS-eket...
-
8/3/2019 Slides 05 Scheduling
8/53
Feladat (task)
A feladat (task) fogalmat absztrakt mdonhasznljuk.o Ksbb lesznek specilis, a vgrehajts/mkds
rszleteit is megad fogalmaink (folyamat, szl).o Hvjk munknak (job) is.
BME-MIT 2011, Minden jog fenntartva 8. lap
hasznljk.o Ez mg az OS API-k szintjn is keveredik.
Pl. egyes OS-ekben a CreateTask() nagyon klnbz
dolgokat csinlhat... Nem az a krds, hogyan hvjk, hanem hogy mit csinl,
vagyis a rszletek megismerse nem kerlhet el egy adottOS hasznlata esetn.
-
8/3/2019 Slides 05 Scheduling
9/53
Feladat (task) 1.
A multiprogramozott opercis rendszerek egyiklegfontosabb alapfogalma.
A feladatokat folyamatknt, vagy egyttmkdfolyamatok egytteseknt valsthatjuk meg(implementci)
BME-MIT 2011, Minden jog fenntartva 9. lap
vgrehajtsa.
o Elkezddik, szekvencilisan vgrehajt utastsokat, befejezdik. Ezt a defincit ksbb kibvtjk (lesz egy szl fogalom is)
o A feladat egy vgrehajts alatt ll program: A program betltse, vgrehajtsa, s befejezse az opercis rendszer
egyik fontos feladata (nem sok sz lesz rla, mindent megcsinl neknk afejlesztrendszer, ha meg nem, akkor megnzzk a rszleteket).
-
8/3/2019 Slides 05 Scheduling
10/53
Feladat (task) 2.
A feladat tbb mint a program:o Aktv, nem passzv! (Virtulis CPU)
o llapota van (hiszen egy fut
program): Minimlisan: Fut (run), vr (waiting),
futsra ksz (ready).
Ersen OS fgg llapotok s
Verem (stack)
Szabad memria(free memory)
BME-MIT 2011, Minden jog fenntartva 10. lap
apot tmenete .
Rszletesen fogunk vele foglalkozni.
o Adatszerkezetek adattal vannakfeltltve (fgg a folyamat ellettl):
Virtulis memria (OS + HW)
Adat terlet (globlis adatok). Verem (stack), Halom (Heap). Ersen egyszerstett bra jobbra.
Halom (Heap)
Adat
Kd
-
8/3/2019 Slides 05 Scheduling
11/53
Feladatok llapota 1.
Egyszerstett llapot-tmeneti brt fogunk vizsglni. Ennl tbb, OS specifikus llapot s llapottmenet
szokott lenni.
BME-MIT 2011, Minden jog fenntartva 11. lap
-
8/3/2019 Slides 05 Scheduling
12/53
Feladat llapota 2.
Minden feladat elszr ltrejn...
Ltrejn
BME-MIT 2011, Minden jog fenntartva 12. lap
-
8/3/2019 Slides 05 Scheduling
13/53
Feladatok llapota 3.
Ekkor tbbnyire Futsra ksz (Ready) llapotba kerl. Az ilyen feladatnak minden erforrs rendelkezsre ll,
kivve a CPU.
Futsra kszLtrejn
BME-MIT 2011, Minden jog fenntartva 13. lap
-
8/3/2019 Slides 05 Scheduling
14/53
Feladatok llapota 4.
Ha a CPU felszabadul, akkor egy futsra ksz feladat fut llapotbakerlhet.
Milyen algoritmus dnti el, hogy a futsra ksz feladatok kzlmelyik kap CPU-t? A CPU temezs (CPU scheduling).
Futsra kszLtrejn
CPU-t kap
BME-MIT 2011, Minden jog fenntartva 14. lap
-
8/3/2019 Slides 05 Scheduling
15/53
Feladatok llapota 5.
A feladat Fut (Run) llapotban van (v a processzor).
Futsra ksz FutLtrejn
CPU-t kap
BME-MIT 2011, Minden jog fenntartva 15. lap
-
8/3/2019 Slides 05 Scheduling
16/53
Feladatok llapota 5.
A feladat Fut (Run) llapotban van (v a processzor).
Futsra ksz FutLtrejn
CPU-t kap
BME-MIT 2011, Minden jog fenntartva 16. lap
Mi fut, ha nem fut semmi?Valaminek futnia kell egy CPU-un, ha az be van kapcsolva!Idle feladat
Alacsony priorits httrfeladatokPower menedzsment
-
8/3/2019 Slides 05 Scheduling
17/53
Feladatok llapota 5.
A feladat Fut (Run) llapotban van (v a processzor).
Mi veheti el tle a CPU-t? Vizsgljuk meg a lehetsgeket.
Futsra ksz FutLtrejn
CPU-t kap
BME-MIT 2011, Minden jog fenntartva 17. lap
-
8/3/2019 Slides 05 Scheduling
18/53
Feladat llapota 6a.
A feladat befejezdik (kilp, terminl, stb.).
Ezt a feladat akarja gy (exit() rendszerhvst hvja).
Hibakezels esetn tovbbi llapotok szksgesek tbbnyire.
Futsra ksz FutLtrejn Befejezdik
CPU-t kap
BME-MIT 2011, Minden jog fenntartva 18. lap
-
8/3/2019 Slides 05 Scheduling
19/53
Feladatok llapota 6b.
A feladat lemond vagy elveszik tle a CPU-t.
Lemond a CPU-rl. Pl. yield() rendszerhvs.
Elveszik a CPU-t. Preemptv CPU temezs, lesz rla sz...
Futsra ksz FutLtrejn Befejezdik
CPU-t kap
BME-MIT 2011, Minden jog fenntartva 19. lap
Lemond vagyelveszik a CPU-t
Elveszik a CPU-t, mirt, hogyan? A feladat fut, mi tudja elvenni a CPU-t? Az OS tudja csak elvenni Futnia kell valahogy, de a folyamat fut... Megszakts esetn tud futni az OS... Kell egy megszakts (HW, SW, vagy kivtel)
-
8/3/2019 Slides 05 Scheduling
20/53
Feladatok llapota 6c.
A feladat rendszerhvst hajt vgre, de nem kapja vissza a CPU-t.
Az OS gy dnt, hogy a feladat ltal kldtt krs kiszolglshozidre van szksge, s addig a CPU-t ms hasznlja.
Futsra ksz FutLtrejn Befejezdik
CPU-t kap
BME-MIT 2011, Minden jog fenntartva 20. lap
Lemond vagyelveszik a CPU-t
Rendszerhvseredmnyekppenvrakoz llapotbakerl
-
8/3/2019 Slides 05 Scheduling
21/53
Feladatok llapota 7.
A feladat Esemnyre vrakozik (Waiting) llapotban van.
Az OS vagy ms feladatok fogjk azt ellltani. A feladat passzvanvrakozik, nem hasznl CPU idt.
Futsra ksz FutLtrejn Befejezdik
CPU-t kap
BME-MIT 2011, Minden jog fenntartva 21. lap
Esemnyrevrakozik(Waiting)
Lemond vagyelveszik a CPU-t
Rendszerhvseredmnyekppenvrakoz llapotbakerl
-
8/3/2019 Slides 05 Scheduling
22/53
Feladat llapota 8.
A vrt esemny bekvetkezik. A feladat ismt futsra ksz llapotba kerlhet, hiszen
minden felttel megvan a futshoz, kivve a CPU.
Futsra ksz FutLtrejn Befejezdik
CPU-t kap
BME-MIT 2011, Minden jog fenntartva 22. lap
Esemnyrevrakozik(Waiting)
Lemond vagyelveszik a CPU-t
Rendszerhvseredmnyekppenvrakoz llapotbakerl
A vrt esemnybekvetkezik
-
8/3/2019 Slides 05 Scheduling
23/53
Feladat llapota 9.
Minden llapottmenet megszaktsra trtnik!
A modern opercis rendszerek megszakts vezreltek!
Futsra ksz FutLtrejn Befejezdik
CPU-t kapSyscall
Syscall, IT,
kivtel Syscall,Kivtel
BME-MIT 2011, Minden jog fenntartva 23. lap
Esemnyrevrakozik(Waiting)
Lemond vagyelveszik a CPU-t
Rendszerhvseredmnyekppenvrakoz llapotbakerl
A vrt esemnybekvetkezik
Syscall, IT,kivtel Syscall, IT,
kivtel
Syscall
-
8/3/2019 Slides 05 Scheduling
24/53
Feladat ler (Task control block, TCB) Adatstruktra a feladattal kapcsolatos adatok
opercis rendszeren belli trolsra. Ez alapjn vgzi az OS a feladatok kezelst.
o A feladat bizonyos rszhez hozzfrhet rendszerhvssal(tbbnyire lekrdezheti).
Mit tartalmaz?
BME-MIT 2011, Minden jog fenntartva 24. lap
Task ID (Process ID vagy Thread ID az implementcikban) llapot (Futsra ksz, Fut, Esemnyre vr, stb., OS specifikus) Utasts szmll (Program Counter, ments/visszallts) CPU regiszterek (Registers, ments/visszallts) CPU temezssel kapcsolatos informcik Memria kezelssel kapcsolatos informcik (Virtulis memria)
MMU llapot (ments/visszallts)
Jogosultsgokkal kapcsolatos informcik (tulajdonos, ACL) I/O sttusz informci (hasznlt I/O erforrsok, s azok llapota)
-
8/3/2019 Slides 05 Scheduling
25/53
-
8/3/2019 Slides 05 Scheduling
26/53
Feladatok temezse (task scheduling)
Feladat: Kivlasztani a futsra ksz feladatok kzl a futt(visszatrtnk a feladat megnevezshez)
A feladatokat a tbbnyire feladat sorokban (task queue
vagy job queue) troljuko Ez a legegyszerbb esetben tnyleg egy FIFO, ami TCB tpus
objektumokra/struktrkra mutat pointereket tartalmaz.
BME-MIT 2011, Minden jog fenntartva 26. lap
o . u sra sz sor, a o esem nyre v r sor, s .
o Az temezs sorballsi modellje (Queuing diagram)
o Az temez algoritmus ezeken a struktrkon dolgozva vgzi ela feladatt (elssorban a futsra ksz soron).
o Keressrl van sz, ltalnos esetben NP teljes a problma.o Viszont kemny vals idej a feladat mg nem vals idej
opercis rendszerben is. Az overhead-et egy minimlis szinten kell tartani!
-
8/3/2019 Slides 05 Scheduling
27/53
temezs idskli 1.
Rvid tv (short-term) v. CPU temezso A futsra ksz sorbl vlaszt egy fut llapotba tmen
feladatot.o Minimum 10-20 ms-enknt vgrehajtsra kerl (idzt
megszakts), de inkbb gyakrabban. Hossz tv (long-term) temezs batch rendszerekben
o Sokkal tbb feladatunk van, mint amennyit hatkonyan
BME-MIT 2011, Minden jog fenntartva 27. lap
p r uzamosan v gre u un a an .o Percenknt vagy ritkbban fut, ismernie kell a feladatot (az
ltala okozott terhelst).o Tbbnyire maximum idzteni lehet feladatokat (UNIX: cron)o Pl. 3-4 nagy file msolsa Windows alatt egy diszkrl egy
msikra. 1. lehetsg: Prhuzamos msols. 2. lehetsg: Szekvencilis msols. Krds a hallgatknak: Melyik lesz gyorsabb s mirt?
-
8/3/2019 Slides 05 Scheduling
28/53
temezs idskli 2.
Kzptv (medium-term) temezso Swapping (Ksbb rszletesen fogunk vele foglalkozni)
A rendszerben lv feladatok memrijnak egyes rszeikirhatak httrtrra.
Tbb feladat fr el a fizikai memriba (virtulisan).
BME-MIT 2011, Minden jog fenntartva 28. lap
.
oMi van, ha a fut vagy futsra ksz (ami vrhatanhamarosan futni fog) feladat egyes szksges rszei ahttrtron vannak?
Nem tud futni, addig, amg a szksges memria rszekvissza nem kerlnek a fizikai memriba.
A kzptv temezs ezt irnytja...
-
8/3/2019 Slides 05 Scheduling
29/53
Tovbbi alapfogalmak
jabb alapfogalmakat s defincikat kellbevezetnnk...
BME-MIT 2011, Minden jog fenntartva 29. lap
-
8/3/2019 Slides 05 Scheduling
30/53
Preemptv temezs (preemptive)
Tervezsi krds, hogy a fut feladattl elvehet-e a CPU.o Preemptv: A fut feladattl az OS elveheti a CPU-t
Ez a tipikus a modern opercis rendszerekben.
Bizonyos kernel feladatokra nem felttlenl, azok nem megszakthatak,ennek vannak kvetkezmnyei (pl. vals idej mkds nehezenbiztosthat)
BME-MIT 2011, Minden jog fenntartva 30. lap
Pl. Windows 3.x A fut feladatnak le kell mondania a CPU-rl vagy esemnyre kell vrnia,
ahhoz hogy ms feladat tudjon futni.
Az egyes alkalmazsoktl fgg a teljes rendszer mkdse.
Lnyegben az alkalmazs programozjtl, ami nem j tlet Ha a fut feladat hibs (vgtelen ciklus), akkor a teljes rendszer
mkdskptelenn vlik.
OS az ilyen OS egyltaln?
-
8/3/2019 Slides 05 Scheduling
31/53
Mrtkek 1.
Mrtk (metric)o Ezekkel tudjuk az algoritmusokat sszehasonltani.
o Tbbnyire tbb mrtket egytt tekintve kell vlasztanunk.
o Mindegyiknek van mrtkegysge (unit) is! CPU kihasznltsg (CPU utilization)
o Mrtkegysg: %
BME-MIT 2011, Minden jog fenntartva 31. lap
o
A hasznos munkval tlttt id arnya az sszes idhz kpest.o tCPU=tCPU,munka+tCPU,admin+tCPU,idle, vagyis az adminisztrci s
henyls vesztesg
o Jellegzetesen egy 40-90 % krli rtk tekinthet jnak.
[ ]%100,
CPU
munkaCPU
t
t
-
8/3/2019 Slides 05 Scheduling
32/53
Mrtkek 2.
tbocst kpessg (throughput)oMrtkegysg: munka/s, vagy 1/s
o Adott idegysg alatt elvgzett feladatok szma.
o A rendszerfeladatokat nem szmoljuk. Lnyegben cskkentik az tbocst kpessget, elveszik a CPU
idt.
BME-MIT 2011, Minden jog fenntartva 32. lap
o A tipikus rtk ersen fgg a feladat jellegtl Standard benchmarkokkal mrik. Pl. TPC-X benchmarkok a Transaction Processing Performance
Council-tl (Lsd: http://www.tpc.org/)
]/1[Id
szmamunkkElvgzetts
-
8/3/2019 Slides 05 Scheduling
33/53
Mrtkek 3.
Vrakozsi id (waiting time)oMrtkegysg: s
o
Az sszes id, amit a feladat vrakozssal tlttt.o Igazn ez fgg az temez algoritmustl...
o Statisztikai ingadozs a munka jellegbl s a
BME-MIT 2011, Minden jog fenntartva 33. lap
vgrehajts rszleteibl kvetkezen: Ennek megfelelen tlagos vrakozsi idrl, annak a
szrsrl, stb. beszlhetnk inkbb.
][, sttt runningnonotherreadywaiting +=
-
8/3/2019 Slides 05 Scheduling
34/53
Mrtkek 4.
Krbefordulsi id (turnaround time)o Mrtkegysg: s
o Egy feladatra vonatkozan a rendszerbe helyezstl a teljestsig
eltelt id.o Statisztikai ingadozs a munka jellegbl s a vgrehajts
rszleteibl kvetkezen:
BME-MIT 2011, Minden jog fenntartva 34. lap
Ennek megfelelen tlagos krbefordulsi idrl, annak a szrsrl, stb.beszlhetnk inkbb.
Ez fontos a felhasznl szmra, hiszen az minl hamarabb szeretn ltni ateljes eredmnyt.
A szabvnyos benchmarkok itt is fontos szerepet jtszanak.
vrakozssvgrehajtCPU tt +,
k k
-
8/3/2019 Slides 05 Scheduling
35/53
Mrtkek 5.
Vlaszid (response time)oMrtkegysg: s
o On-line, interaktv feladatok esetn.
o A feladat megkezdstl az els kimenetekproduklsig eltelt id.
BME-MIT 2011, Minden jog fenntartva 35. lap
vgrehajts rszleteibl kvetkezen: Ennek megfelelen tlagos vlaszidrl, annak a szrsrl,
stb. beszlhetnk inkbb.
Ez fontos a felhasznl szmra, hiszen az minl hamarabbszeretn ltni az els eredmnyeket (el tud kezdeni dolgozni,nem henyl tovbb).
A szabvnyos benchmarkok itt is fontos szerepet jtszanak.
k k 6
-
8/3/2019 Slides 05 Scheduling
36/53
Mrtkek 6.
Felhasznlt energia jelleg mrtkek (energy metrics)o Mrtkegysg: pl. Ws/task (pl. TPC-Energy)
Mennyi energia szksges egy standard feladat (benchmark)
elvgzshez?o Az energia fogyaszts egyre jobban a kzppontba kerl.
o Ersen tlapoldik a tbbi mrtkkel.
BME-MIT 2011, Minden jog fenntartva 36. lap
Pl. Szmtsi teljestmny, r s energia fogyaszts?
Pl. Intel ATOM sszehasonltsa egy C2D-vel? Ki a jobb?
o Statisztikai ingadozs a feladat jellegbl s a vgrehajtsrszleteibl kvetkezen:
Ennek megfelelen tlagos energiafogyasztsrl, annak a szrsrl, stb.beszlhetnk inkbb.
Energiatudatos temezs, benchmarkok kidolgozs alatt.
K l k
-
8/3/2019 Slides 05 Scheduling
37/53
Kvetelmnyek
Az temez algoritmus vals idej mkdseo Alacsony overhead
Clfggvny szerint legyen optimliso A clfggvny a klnbz mrtkekbl szrmaztat
egy sszehasonltsra hasznlhat szmot.
BME-MIT 2011, Minden jog fenntartva 37. lap
. .
Matematikai modell, szimulci vagy mrsekalapjn vizsgldnak.
Reproduklhat, jellemz terhels (benchmark)?
Statisztikai ingadozs a rendszer mkdsi bizonytalansgaimiatt (spekulatv vgrehajts, utasts trendezs, cache,stb.).
K lit t j ll k
-
8/3/2019 Slides 05 Scheduling
38/53
Kvalitatv jellemzk
Elvrt tulajdonsgok (nem szmszersthetk):o Korrektsg (fairness)
o Kiheztets elkerlse (no starvation)
o Jsolhat viselkeds (predictability, determinism)o Alacsony adminisztratv vesztesgek (low overhead)
BME-MIT 2011, Minden jog fenntartva 38. lap
o ax m s ocs pess g, m n m s v ra oz s
idko Erforrs hasznlat figyelembe vtele
Npszer erforrsokat hasznlk futtatsa (haladjon a
rendszer) Ritkn hasznlt erforrsokat hasznlk eltrbe helyezse
(nem fog feltartani senkit)
K t l k 2
-
8/3/2019 Slides 05 Scheduling
39/53
Kvetelmnyek 2.
Egyb tulajdonsgoko Vals idej temezs (hard or soft real-time)
Lehessen feladatokat garantlt krbefordulsi idvel temezni, ha azokvgrehajtsi idejre adhat fels korlt.
Prioritso A feladatokhoz fontossgot (prioritst) rendelnk
-
BME-MIT 2011, Minden jog fenntartva 39. lap
o Rszletesen fogunk vele foglalkozni! Fokozatos leromls/sszeomls? (Graceful degradation)
o Ha a rendszer terhelse elri az u.n. knykkapacitst, akkor
utna viselkedse megvltozik, a tovbb nvekv terhelsremr egyre rosszabb mkdssel reagl (overhead).
o Elvrhat, hogy ezt fokozatosan tegye (ne omoljon ssze)
Eg b s empontok
-
8/3/2019 Slides 05 Scheduling
40/53
Egyb szempontok
Statikus v. dinamikus temezsi algoritmusoko Statikus:
Tervezsi idben teljesen meghatrozott, hogy milyen
feladatok s mikor futnak. Legrosszabb esetre tervezs. Nem foglalkozunk vele, nagyon specilis, tbbnyire
BME-MIT 2011, Minden jog fenntartva 40. lap
z ons g r us e gyazo ren szere en
alkalmazzk.oDinamikus: Futsi idben dl melyik feladat s
mikor fut (Ezekkel foglalkozunk).
A gyakorlatban hasznlt algoritmusok ilyenek. Dinamikus erforrs kihasznls. Tervezsi idben nehezen vizsglhatk.
CPU temezsi algoritmusok (1 CPU)
-
8/3/2019 Slides 05 Scheduling
41/53
CPU temezsi algoritmusok (1 CPU)
Felttelezzk az albbiakat:o A rendszerben egy vgrehajt egysg van.
Tbb processzor esetn a problma sokkal sszetettebb.
o Egy idben egy feladat tud futni.o A futsra ksz feladatokat valamilyen vrakozsi sorban
BME-MIT 2011, Minden jog fenntartva 41. lap
Ez specilis esetben lehet FIFO, de ltalban nem az...o A feladataink CPU s I/O lketekbl (burst) llnak
Ez tapasztalat, mrsek is vannak.
Pl. a CPU lket jellegzetesen kisebb 10 ms-nl a mrsekszerint. Ezek kztt I/O lketek vannak, ekkor a feladat passzvan vr
az I/O lezajlsra.
Legrgebben vrakoz (FIFO FCFS)
-
8/3/2019 Slides 05 Scheduling
42/53
Legrgebben vrakoz (FIFO, FCFS)
A legegyszerbb algoritmus:o Feladat lerra mutat referencikat trol FIFO (First
Input First Output) sor az implementci. put()-tal bekerl a folyamat a vrakoz sorba. get()-tel levesszk a futsra kerlt. FCFS (First Come First Serve)
Nem reem tv definciszeren
BME-MIT 2011, Minden jog fenntartva 42. lap
o I/O-ra vrhat!
Az tlagos vrakozsi id nagy lehet, s ersenfgg a CPU s I/O lket (burst) nagysgoktl.o
Ez egyben tlagosan nagy vlaszidt is jelent, on-linefelhasznlkat is kiszolgl rendszerek szmra nemalkalmas.
Kis adminisztrcis overhead.
FIFO algoritmus tulajdonsgai
-
8/3/2019 Slides 05 Scheduling
43/53
FIFO algoritmus tulajdonsgai
Vrakozsi id kicsit rszletesebb vizsglata: Tiszta CPU hasznlat:
o A ksbb berkez feladatoknak ki kell vrniuk a
korbban berkez feladatokat.o Hossz feladat sokig feltartja az utna kvetkezket.
CPU s I/O lketek:
BME-MIT 2011, Minden jog fenntartva 43. lap
o Ha van olyan feladat, aminek hossz a CPU lkete, akkoraz fel fogja tartani a kis CPU lkettel rendelkezfeladatokat.
A kis CPU lkettel rendelkez feladatok a gyakori I/O lket miattgyorsan a sor vgre kerlnek.
A nagy CPU lkettel rendelkez mg a sor vgrl is hamar elrekerl, aztn feltartja a tbbit.
Convoy hats...
Krforg (Round robin)
-
8/3/2019 Slides 05 Scheduling
44/53
Krforg (Round-robin)
Idosztsos rendszerek szmra talltk ki azegyszer FIFO temezs problminak kijavtsra.
Kedvezbb az on-line felhasznlk szmra.o Jobb az tlagos vlaszideje a FIFO-nl.o Adott idnknt garantltan vlt, fggetlenl a feladattl.
BME-MIT 2011, Minden jog fenntartva 44. lap
o Lnyegben a FIFO kiegsztse egy egyszeri ramegszaktssal.
Quantum vagy time slice (idszelet).
100-1 ms, tipikusan 10-20 ms. Elssorban elfogadhat on-line vlaszid biztostsra.
Egyszeri ra megszakts
-
8/3/2019 Slides 05 Scheduling
45/53
Egyszeri ra megszakts
A feladat futtatsa eltt az rt elindtjuk, az egyadott id (idszelet) lejrta utn megszaktst kr(fut az OS)o Ha a feladat befejezdik vagy I/O-t hajt vgre az ra
megszakts eltt (fut az temez): jratemeznk, s az rt jraindtjuk.
o Ha a feladat nem fejezdik be:
BME-MIT 2011, Minden jog fenntartva 45. lap
, .
A feladat futsra ksz llapotba kerl, jratemeznk s az rtjraindtjuk.
A gyakorlatban sok esetben az egyszersgkedvrt periodikus ra megszaktst alkalmaznak.o gy egyszerbb az algoritmus, de a matematikai analzisbonyolultabb, s a tulajdonsgok is romolhatnak.o A periodikus ra IT hasznlhat a rendszerra s SW
idztk kezelsre is.
RR algoritmus tulajdonsgai
-
8/3/2019 Slides 05 Scheduling
46/53
RR algoritmus tulajdonsgai
Tulajdonsgai az idszelet nagysgtl, CPU lketekeloszlsnak statisztikai jellemzitl, s a kontextus vltsidtartamnak a viszonytl fgg.
Idszelet > tlagos CPU lket tmegy FIFO-ba.o Lnyegben a CPU lket nagysgtl fggen az I/O mveletek
eredmnyekppen fut az temez.
Idszelet tlagos CPU lket Normlis mkds.
BME-MIT 2011, Minden jog fenntartva 46. lap
o e a a o osz sos m on osz ozna a -n.
klszably: A CPU lketek 80%-a kisebb az idszeletnl. CPU lket > Idszelet, ami viszont sszemrhet a kontextus
vlts idtartamval:o Nagy adminisztratv terhels.o Mivel 10-20 ms (1 ms) az idszelet, ami nagysgrendekkel nagyobb a
kontextus vlts idejnl, ezrt ez ma nem problma (rgen volt).
Prioritsos temezk
-
8/3/2019 Slides 05 Scheduling
47/53
Prioritsos temezk
temez csald... Priorits = fontossg (0 a legkisebb v. a
legnagyobb?)
A feladatokhoz prioritst rendelnk:o Kls/Bels priorits:
BME-MIT 2011, Minden jog fenntartva 47. lap
.
Bels priorits: A rendszer adja.o Statikus/Dinamikus priorits:
Statikus priorits: Tervezsi idben dl el, lland a futs
sorn. Dinamikus priorits: Futsi idben dl el, vltozik arendszerben lezajl vltozsok hatsra.
o A gyakorlatban lehet ezek kombincija is...
Priorits megllaptsa
-
8/3/2019 Slides 05 Scheduling
48/53
Priorits megllaptsa
Priorits bels megadsa mrhet mrtkekalapjn:
o Felhasznl adhat egy kiindul prioritst is
o Az opercis rendszernek kell kiszmolnia, pl. azalbbiak alapjn:
BME-MIT 2011, Minden jog fenntartva 48. lap
Idkorltok (vlaszid, stb.),
Memria ignyek (mret, elrhetsg, stb.),
Hasznlt erforrsok s azok szma,
CPU s I/O lket,
Futsi id, tervezett futsi id,
stb.
Prioritsos temezk tulajdonsgai
-
8/3/2019 Slides 05 Scheduling
49/53
Prioritsos temezk tulajdonsgai
ltalnos tulajdonsgok: Jellegzetesen preemptv, de lehet nem preemptv is.
Nem korrekt (fair), nem is akarjuk, hogy az legyen...
Kiheztets elfordulhat (Elny vagy htrny?):o Nem pontosan a fontossg figyelembe vtele miatt hasznljuk?
BME-MIT 2011, Minden jog fenntartva 49. lap
o a e or u , a or az a apve en vagy er e s m a , vagy
tervezsi hiba miatt trtnik.o A magas priorits feladatok egy idben a feladat kszlet egy
kis, biztosan futtathat rszt tehetik ki.
Hagynak CPU-t az alacsony priorits feladatoknak is.o Nem lehet minden feladat egyformn fontos!
o A feladatok regtse segthet (rgta vr, egyre fontosabb).
Prioritsos temezk 1.
-
8/3/2019 Slides 05 Scheduling
50/53
Prioritsos temezk 1.
Egyszer prioritsos temez:o Egy prioritsi szinten egy feladat.
o Egyszer begyazott rendszerekben hasznljk.
Egy prioritsi szinten tetszleges szm feladat:o Mdostsokkal szles krben alkalmazsra kerl.
UNIX, Windows, stb., szinte minden opercis rendszerben ilyet tallunk.
BME-MIT 2011, Minden jog fenntartva 50. lap
o M os t so :
Egy szinten bell a futsra ksz feladat kivlasztsra hasznltalgoritmust meg kell adni, tipikusan RR.
Dinamikus, bels priorits meghatrozs.
Alaprtelmezett prioritsos temez slyos hibja:o Priorits inverzi (priority inversion), ksbb trgyaljuk.
-
8/3/2019 Slides 05 Scheduling
51/53
Prioritsos temezk 3.
-
8/3/2019 Slides 05 Scheduling
52/53
Prioritsos temezk 3.
A legrvidebb htralv id (Shortest RemainingTime First, SRTF):o Az SJF preemptv vltozata.
o Ha j folyamat vlik futsra kssz, akkor vizsglja meg,hogy melyik folyamat lketideje a kisebb.
BME-MIT 2011, Minden jog fenntartva 52. lap
.
o A kontextus vltst is figyelembe kell venni (megri-e avlts).
o Hogyan becsljk a lketidt?
Korbbi lketidk vagy a felhasznl ltal megadott rtkekalapjn. Ugyanazok a problmk, mint SJF-nl...
Prioritsos temezk 4.
-
8/3/2019 Slides 05 Scheduling
53/53
A legjobb vlaszarny (Highest Response Ratio,HRR):o A kiheztetst prblja megoldani.
o Az SJF-bl indul ki.o A priorits kpzsbe a vrakozsi id is beleszmt.
BME-MIT 2011, Minden jog fenntartva 53. lap
, ,
lesz...o A k-t meg kell vlasztani, mennyire vegyk figyelembe
a feladat kort?
Lketid
idVrakozsikLketid +