slides 05 scheduling

Upload: sweidan-omar

Post on 07-Apr-2018

223 views

Category:

Documents


0 download

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 +