VUOROTTAMINEN YKSI CPU

Samankaltaiset tiedostot
VUOROTTAMINEN YKSI CPU. II:ssa?

VUOROTTAMINEN - YKSI CPU. Stallings, Luku 9

LUENTO 7. u kaikki prosessit tunnetaan u heräämistaajuudet tunnetaan. u prosessien joukko vaihtelee ulkoisten tapahtumien perusteella

VUOROTTAMINEN - YKSI CPU. Stallings, Luku 9. Avoin ja suljettu työkuorma. Tavoitteita: laatu. Vuorottaminen ja prosessien tilat

VUOROTTAMINEN YKSI CPU

Käyttöjärjestelmät, Luento 11 WEEK 6. Scheduling. Stallings, Chapter 9. Syksy 2007, Tiina Niklander 11-1

Scheduling. Stallings, Chapter 9. When? Priorities

VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000

LUENTO 8. u erillisten koneiden ryväs (cluster) u hajautettu järjestelmä (distributed system) u erilliset I/O-prosessorit

Käyttöjärjestelmät II

Moniprosessorijärjestelmä

VUOROTTAMINEN: SMP ja Reaaliaikajärjestelmät Linux, W2000

Moniprosessorijärjestelmä

Käyttöjärjestelmät II

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

Yleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.

Prosessi perinteisesti

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy?

Stallings, Luku 4.1. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

Sisältöä SÄIKEET, SMP

MoViE- sovelluksen käyttöohjeet

Automaatiojärjestelmät Timo Heikkinen

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Koulutustilaisuudessa tehtiin kolme ryhmätyötä. Seuraavassa on koonti ryhmätöiden tuloksista.

OHJE POISSAOLOIHIN PUUTTUMISEEN KOULUSSA

SÄIKEET, SMP. Sisältöä. Stallings, Luku 4. Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä

Sisältöä SÄIKEET, SMP

JFunnel: Käytettävyysohjatun vuorovaikutussuunnittelun prosessiopas

Sisältöä PROSESSIT JA NIIDEN HALLINTA. Prosessi. Prosessi virtuaalimuistissa. Prosessi. Prosessi virtuaalimuistissa. Käyttöjärjestelmät

Sisällysluettelo OHJE

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Prosessit ja säikeet SMP, Mikroytimet W2K säikeet

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy?

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Käyttöjärjestelmän rajapinnat

Käyttöjärjestelmän rajapinnat. Siirräntä: Laiteajurit ja keskeytys. I/O-ohjain. I/O-ohjain. Siirtomenetelmät. Käyttöjärjestelmän rakenne

Prosessi virtuaalimuistissa PROSESSIT JA NIIDEN HALLINTA. Sisältöä. Prosessi virtuaalimuistissa. Prosessi. Prosessi. Käyttöjärjestelmät, Luento 4

PROSESSIT JA NIIDEN HALLINTA

Stallings, Luku 4.1. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1. KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-1

KJ-II K2006 / Auvo Häkkinen - Teemu Kerola

Sisäkorvaistutteen saaneiden lasten kuntoutuksen ja tulkkauspalvelujen tarkoituksenmukaisuus ja tulevaisuuden tarve. 2. vaiheen haastattelututkimus.

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Flash ActionScript osa 2

pienempää, joten vektoreiden välinen kulma voidaan aina rajoittaa välille o. Erikoisesti on

SPL TAMPEREEN PIIRI: SEURATUTOROINTI

Sisältö SIIRRÄNTÄ. I/O-laitteiden luokittelua. Yleistä siirrännästä. Siirrännän perustekniikat. Siirtonopeuksia (teoreettisia) Kuva 11.

Yleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat

Käyttöjärjestelmät II. SMP, Mikroytimet. Prosessit yleensä. UNIX prosessit. UNIX SVR4 Prosessit. UNIX prosessin kuvaaja

Jakso 8 Ohjelman toteutus järjestelmässä

Arto Salminen,

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Antti Vähälummukka Lähde: ja muita

1. Turvaohje. 2. Tuotteen Ominaisuudet DIGISCALE 1000

Stallings, Luku I/O-laitteiden luokittelua, siirtonopeuksia Siirrännän perustekniikat Siirrännän kehittyminen

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Jakso 8 Ohjelman toteutus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

Tämä liite täydentää sopimuksessa määriteltyjä ehtoja tuen käyttämisestä hankkeen eri kululuokissa. Nämä tarkennukset löytyvät II osasta.

Luento 8 Ohjelman toteutus järjestelmässä

KITI - kilpailu anomuksesta ajoon. Ohjeistus kilpailujen anomisesta ja muokkaamisesta KITIssä.

Osio 3: Prosessit, siirräntä ja tiedostojärjestelmä

TUNTIMITTAUSTIEDON AVOIN PALVELUALUSTA Sähkötutkimuspoolin tutkimusseminaari

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Tämä ruutu näkyy ainoastaan esikatselutilassa.

Tervetuloa GoGolfin Green Card -kurssille

MUISTINHALLINNAN OHJELMISTO

KJ-II K2006 / Auvo Häkkinen - Teemu Kerola Tehtävät, staattinen vs. dynaaminen partitiointi, Buddy System sivutus, segmentointi

OrSi yhdistää. hyvät ideat ja toteuttajat. Organisaatioidenvälinen sidosryhmäviestintä. Algoplan Oy Ryytimaantie Helsinki

Ohjeita linja- ja aikatuomareille

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,

u vapaakäyntisyys (reentrancy) u Yhteinen koodialue u kullakin oma data-alue, pino, PCB u osoitteet suhteellisia prosessin alun suhteen

Luento 3: PROSESSIT JA NIIDEN HALLINTA

Lukkiutuminen. Taustaa Aterioivat Filosofit Ennaltaehkäisy Havaitseminen Välttely. Andrews 4.3 Stallings (tai mikä tahansa KJ-kirja)

CMU 119 CMU 128 CMU 119 +N CMU 155 CMU 128 +N. Asennusohje Ohjelmoitavat terrestiaalipäävahvistimet. SSTL n:o

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Lukkiutuminen. Taustaa

4-13. Ratkaisu 4: OK, mutta... vrt. 2. Ratkaisu 3: OK. Ratkaisu 5: OK? Nälkiintyminen?

Sisältöä. Milloin? Vuorotus. Kiinteä ja vaihteleva prioriteetti. Käyttöjärjestelmät, Luento 24. Kertaus. Syksy 2007, Tiina Niklander 24-1

Sisältöä. Kertaus. Vuorotus I/O Tiedostojärjestelmä Hajautettu prosessi Tietoturva. Käyttöjärjestelmät, Luento 24. Syksy 2007, Tiina Niklander 24-1

Lähtötiedot tiedot / seuraavaksi? Käyttöjärjestelmät II MUISTINHALLINNAN OHJELMISTO. Looginen vs. fyysinen osoite Perusvalinnat.

Geometrinen piirtäminen

Luento 2 Moodle ja sähköposti, O Aulikki Hyrskykari

Muistilistan tarkoitus: Valvotaan lain toteutumista sekä tavoitteiden, toimenpiteiden ja koulun tasa-arvotyön seurantamenettelyn laatua.

Kernel (Fig 4.10 [Stal 05]) Operating Systems Examples and Process Management

Aineistoa hankitaan laajasti ja monipuolisesti asiakkaiden erilaisiin tarpeisiin. Suosituksena on hankkia kirjaa/1000 asukasta.

Kuopion kaupunki Pöytäkirja 1/ (1) Kaupunkirakennelautakunta Asianro 201/ /2016

Prosessi (4) Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4) Prosessin elinkaari (9)

FC HONKA AKATEMIAN ARVOT

Uniapneaoireyhtymää sairastavien aikuisten kuntoutuskurssit, osittaiset perhekurssit

HENKKARIKLUBI. Mepco HRM uudet ominaisuudet vinkkejä eri osa-alueisiin 1 (16) Lomakkeen kansiorakenne

Finnish Value Pack Julkaisutiedot Vianova Systems Finland Oy Versio

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi

6. Skedulointi eli vuoronnus

KOLMIPORTAINEN TUKI ESIOPETUKSESSA (POL 16, 16a, 17, 17a )

Omaishoitajienkuntoutuskurssit

Transkriptio:

LUENTO 7 Käyttöjärjestelmät II VUOROTTAMINEN YKSI CPU Stallings, Ch 9 [Stal 05] 1

Mitä KJ-I:ssä / KJ-II:ssa? KJ-I Ready-jn, valitse ensimmäinen Aikaviipaletekniikka (rund-rbin) Pririteetitkin mainittiin Seuraavaksi KJ-II:ssa Vurttamisen tast CPU:n vurttamisalgritmeja Vurttaminen UNIXissa Yhden CPU:n ympäristössä (Ch 9) luent 7 SMP:ssä ja reaaliaikajärjestelmissä (Ch 10) luent 8 2

Vurttamisympäristöt, työkurma Eräaj u ajetaan vaikkapa yöllä u työn kk sataan arviida F esim. ajetaan jka yö, viikttain, kuukausittain u tapahtumahjattu vurttaminen OK F kunhan kaikki saadaan tehtyä Interaktiivinen u käyttäjä dttaa vastausta, npea vastaus hyvä u vurttajalla ei harmainta aavistusta työn keststa u aikaviipaletekniikka Reaaliaika u aikarajat u hjelmijakin miettii surituskykyä ja millin KJ saa suritusvurn 3

Avin ja suljettu työkurma Deterministinen (suljettu) työkurma u kaikki prsessit tunnetaan u heräämistaajuudet tunnetaan Avin työkurma u prsessien jukk vaihtelee ulkisten tapahtumien perusteella Hetergeeninen työkurma u deterministinen + avin F esim. lennn valvnta, lentpintjen hjaus F arriving missiles pikkeus? vai deterministinen jka 100 ms? u eräaj + interaktiivinen + reaaliaika u miten svittaa yhteen F jääkö avimille reaaliaikatöille tarpeeksi aikaa? F jääkö KJ:lle tarpeeksi aikaa? 4

Tavitteita: laatu Tbl 9.2 [Stal05] Samanarvisille prsesseille sama palvelu Pririsintia saa harrastaa u turvakntrlli vs. palkanlaskenta u KJ prsessit vs. käyttäjän svellukset u reaaliaika prsessit vs. muut Interaktiiviset vs. eräajjärjestelmät Vastausaika (respnse time) u työ annettu, millin saadaan vastaus? Läpimenaika (turnarund time) u työtä per aikayksikkö Ennustettavuus (predictability) u ei sen näin pitkään pitäisi kestää u rskien keruu, muu kj-hallint Linux 2.6 O(1) vurnant 5

Tavitteita: surituskyky Tbl 9.2 [Stal05] Ota järjestelmästä mahdllisimman paljn irti u pidä CPU ja erityisesti I/O-laitteet tuttavassa työssä F krkea käyttöaste (CPU utilizatin) u tärkeää mniajjärjestelmissä Tehkas ja reilu CPU:n käyttö u läpimenaste, läpimenvu (thrughput, wrk flw) u läpimenaika (turnarund time, respnse time) Reaaliaikajärjestelmä pysyy aikataulussa u deadlinen ylitys vi lla harmillista tai vaarallista F kuvassa n häiriö, ääni/kuva epäsynkrnisia F ptilas kulee, lentkne tippuu,... 6

Käyttöjärjestelmät II MILLOIN VUOROTETAAN? 7

Millin? Fig 9.2 [Stal05] Fig 9.3 [Stal05] Lng-term systeemiin? u tetaank uusi prsessi suritettavaksi? u mahtuuk muistiin? riittääkö swap-tila? Medium-term muistiin? u millin (heittvaihdettu) prsessi muistiin? u vapaata muistia? u mniajaste? Shrt-term surittimelle? u mille prsessille annetaan CPU? I/O I/O-laitteelle? u minkä prsessin I/O pyyntö palvellaan ensin? 8

Lng-term Scheduling Fig 9.2 [Stal05] Otetaank uusi työ suritettavaksi? u millin työstä tulee prsessi? u saak kneeseen luda uuden istunnn? Ratkaisevaa: mniajaste medium term? u paljn prsesseja kukin saa harvin CPU:n u js vähän muistia, niin nk parempi dttaa lng term vai medium term? Fig 9.3 [Stal05] u pyritään takaamaan riittävän taskas palvelu u spiva suhde: CPU- ja I/O-sidnnaiset työt? Millin? u jku prsessi päättynyt u CPU:n käyttöaste pudnnut Mikä? u First-Cme-First-Serviced (FCFS) u jskus pririteetteja: esim. työn kk, I/O-sidnnaisuus 9

Medium-Term Scheduling Liittyy heittvaihtn u sisäänheitn ajitus Fig 9.2 [Stal05] u prsessi tilassa Suspend&Ready tai Suspend&Wait Millin muistiin? u CPU:n käyttöaste laskenut u vapaata muistitilaa runsaasti Mikä muistiin? u kk (eli dttavan prsessin muistitarve) u ulsheittaika (eli dtusaika levyllä) u pririteetti Mikä muistista pis? u ei sellainen, jlla tärkeä resurssi hallussa F kriittinen vaihe? u ei KJ prsessi? 10

Shrt-Term Scheduling Fig 9.2 [Stal05] CPU:n vurttaminen (scheduling, dispatching) u yleisterminä vurttaminen tarkittaa juuri tätä Selvästi yleisempi kuin edelliset Millin? u keskeytyksen yhteydessä F jkainen keskeytys ei aiheuta vurttamista Kun nykyprsessin kyky käyttää suritinta mennyt u jutui Blcked-tilaan: I/O, synkrninti, pissulkeminen u pikkeustilanne u prsessi käyttänyt man aikaviipaleensa Suuremman pririteetin työ valmis etenemään Kenelle vur seuraavaksi? 11

Käyttöjärjestelmät II PRIORITEETTI 12

Pririteetti Suuremman pririteetin prsessit ensin u pririteetti PCB:ssä / TCB:ssä Kullakin pririteetilla ma Ready-jn u lisää aina lppuun u haku vi kestää, kun mnta jna Vs. yksi yhteinen Ready-jnssa u pririteetti määrää paikan u npea haku (vain yksi jn) u lisäys pririteetin mukaiseen paikkaan F vi lla turhan mnimutkaista eli hidasta Nälkiintymisvaara u vaihteleva pririteetti trjuu nälkiintymisen? F prsessin ikä F suritushistria F vaihtelun rajat? Fig 9.4 [Stal05] 13

Kiinteä ja vaihteleva pririteetti Reaaliaikaprsessit KJ-prsessit Tavalliset user-prsessit high pri 0 1 2 3 63 64 65 66 127 128 129 130 131 192 lw pri missile avidance prcess flight surface cntrl kiinteä navigatin pri lad cntrl swapper cleaner kiinteä pri dttanut kauan RR jnssa calculatr (128-140) vaihteleva pri käyttänyt paljn CPU-aikaa (esim. kk aikaviipale) 14

Millin vurtus aktivituu? Nnpreemptive u tapahtumahjattu vurttaminen u prsessi surituksessa, kunnes se päättyy tai jutuu palvelupyyntönsä vuksi blcked-tilaan u suritusaikana vi silti lla keskeytyksiä ja KJ työtä! F scheduler ei aktividu paitsi ehkä KJ-prsesseille? Preemptive u keskeyttävä vurttaminen F prsessi ei vi nälkiinnyttää muita u suritus keskeytetään ja prsessi Ready-tilaan, vaikka visikin käyttää suritinta F aikaviipaletekniikka F suuremman pririteetin prsessi tuli Ready-jnn pre-empt: mennä edelle, ttaa itselleen etuikeuden njalla 15

Käyttöjärjestelmät II CPU:N VUOROTTAMIS- ALGORITMEJA 16

Algritmit First-Cme-First-Served FCFS Rund Rbin RR Virtual Rund Rbin VRR Shrtest Prcess Next SPN Shrtest Remaining Time SRT Highest Respnse Rati Next HRRN Multilevel Feedback feedback Fair Share Scheduling FSS 17

Esimerkkiprsessit (Tbl 9.4 [Stal05]) Service Time = CPU:ssa kulutettu aika Esimerkeissä ei mietitä I/O:n vaikutusta 18

FCFS First Cme First Served S 3 6 4 5 2 4 (keskim.) cpu time fr B (Fig 9.5 [Stal05]) arrival time fr B R 3 7 9 12 12 keskim. 8.6 cmpletin time fr B Eräaj, tapahtumahjattu, ei pririteetteja Uusi prsessi Ready-jnn hännille Tbl 9.4 [Stal05] Kun prsessi lupuu CPU:sta, vurta seuraava Ketä susii? Ketä ei? 19

FCFS First Cme First Served Läpimenaika u riippuu suritusjärjestyksestä, Fig 9.5 [Stal05] muiden ksta sekä CPU-sidnnaisuudesta Pienikin prsessi vi jutua dttamaan u läpimenajasta valtava sa dtusta Susii CPU-sidnnaisia u muille vi tulla pitkä dtusaika u I/O-laitteet ehkä turhaan juten F I/O kuitenkin pullnkaula Järkevää ttaa mukaan pririteetit u pririteetin perusta? F prsessin kk (suritin aika)? F I/O-sidnnaisuus? 20

RR Rund Rbin S 3 6 4 5 2 R 4 16 13 14 7 4 (keskim.) (Fig 9.5 [Stal05]) keskim. 10.8 Aikaviipaletekniikka (q=1), keskeytyvä (preemptive) Kukin Ready-prsessi saa vurllaan aikaviipaleen Vurttaminen, kun viipale käytetty tai kun prsessi jutuu Blcked-tilaan 21

RR aikaviipaleen vaikutus S 3 6 4 5 2 4 (keskim.) (Fig 9.5 [Stal05]) R 3 15 7 14 11 keskim. 10.0 Aikaviipaletekniikka q = 4 u prsessin vaihtaikaa ei humiitu! Susiik pitkä aikaviipale cpu- vai I/O-sidnnaisia? Susiik pitkä aikaviipale lyhyitä vai pitkiä töitä? 22

RR Rund Rbin Aikaviipaleen pituus u lyhyt: prsessin vaihdt vievät CPU-aikaa u pitkä: interaktiivisen työn vastausaika lyhyt, js yksi aikaviipale riittää Susii hieman CPU-sidnnaisia u I/O-sidnnainen ei ehkä käytä kk viipaletta u I/O-sidnnainen saa suhteessa harvemmin CPU:n F miksi? Virtual RR u ready-jnn apujn (Auxiliary Ready Queue), jnne I/O-dtuksesta F pririteetti I/O sidnnaisilla u aja ensin apujnssa levat prsessit Fig 9.5 [Stal05] Fig 9.7 [Stal05] u aikaviipale vain edellisellä kerralla käyttämättä jäänyt sa, sitten nrmaaliin Ready-jnn 23

SPN Shrtest Prcess Next S 3 6 4 5 2 4 (keskim.) (Fig 9.5 [Stal05]) R 37 11 14 3 keskim. 7.6 Tapahtumahjattu (siis nn-preemptive) Vurta se, jka käyttää lyhimmän ajan CPU:ta kerrallaan u I/O-sidnnaiset ensin u mistä tietää? 24

SPN Shrtest Prcess Next Nälkiintymisvaara u is jää aina pienten jalkihin Isjen läpimenaika vaikea ennustaa Erätyö: käynnistäjä arvii työn kestajan u js työ laitettiin väärään eräajlukkaan, KJ saattaa katkaista työn F miksi? (kulutti liikaa aikaa estimaattiin nähden) F käynnistettävä uudelleen ismpien lukassa Interaktiivinen: KJ laskee keskim. CPU:n käyttöaikaa u painttaa viimeksi havaittuja aikja (T n-1 ) u estimi S n estim = αt n-1 + (1 - α)s n-1 estim esim α = 0.8 Ei svellu situskäyttöympäristöön 25

SRT Shrtest Remaining Time S 3 6 4 5 2 4 (keskim.) 4 Aikaviipaleversi edellisestä (keskeytyvä) u tilanne arviidaan uudelleen jka aikaviipaleelle Arviitava prsessin jäljellä leva ajantarve Ei svi interaktiiviseen ympäristöön 2 (Fig 9.5 [Stal05]) 5 5 R 3 13 4 14 2 keskim. 7.2 26

HRRN Highest Respnse Rati Next S 3 6 4 5 2 4 (keskim.) Tapahtumahjattu (siis nn-preemptive) Minimi läpimenaikaa (humii histria) Vurta se, jlla hunin suhteellinen vasteaika, ts. se, jlla suurin suhdeluku: 7 (Fig 9.5 [Stal05]) 5 time spent waiting CPU + expected service time respnse rati = ------------------------------------------------------------- expected service time 27 2 7/2 > 12/5 5 R 37 9 14 7 keskim. 8.0

HRRN Highest Respnse Rati Next Susii hieman lyhyitä töitä u ei silti nälkiintymisvaaraa Dynaaminen pririteetti u ready-jnssa dttelu kasvattaa pririteettia Jäljellä levaa aikaa ei vi tietää u arvit menneisyyden perusteella u käyttäjän antama arvi työn ksta F ei svi interaktiiviseen ympäristöön 28

Multilevel Feedback (Fig 9.10 [Stal05]) 29

Feedback Dynaaminen pririteetti u Rankaisee pitkään pörränneitä prsesseja, aikaviipalitu Useita Ready-jnja u RQ0: pura aikaviipaleittain, FCFS, siirrä seuraavaan jnn u RQ2..RQn-1: pura aikaviipaleittain, FCFS, siirrä seuraavaan jnn u RQn: pura aikaviipaleittain, RR, pidä samassa jnssa Prsessi kulkeutuu lpulta RQn-jnn, jsta se aikanaan valmistuu Nälkiintymisvaara u vurttaa alemmassa jnssa levat aina ensin Useita variaatiita u esim. alemmissa jnissa pitempi aikaviipale (esim. 1, 2, 4, ) u palaa blcked-tilasta samaan jnn 30

Feedback q=1 S 3 6 4 5 2 4 (keskim.) 1 2 3 1 2 3 4 5 6 1 2 3 4 1 2 3 4 5 1 2 Jnt RQ0, RQ1, RQ2, Aikaviipale q=1 (Fig 9.5 [Stal05]) Ei vaadi etukäteisarviita CPU-ajan tarpeesta Pitkät työt vivat kestää kauan R 4 18 12 13 3 keskim. 10.0 31

S 3 6 4 5 2 Feedback q=2 i 4 (keskim.) virhe 1 2 3 1 2 3 1 2 3 1 2 3 1 2 (Fig 9.5 [Stal05]) R 4 15 14 14 6 keskim. 10.6 Jnt RQ0, RQ1, RQ2,, RQi Aikaviipale q=2 i Vaikutus, vrt. q=1 Fig 9.5 [Stal05] 32

Yhteenvet Tbl 9.3 [Stal05]

Käyttöjärjestelmät II UNIX SVR3 / BSD4.3 VUOROTTAMINEN 34

UNIX: Vurttaminen Interaktiivinen ympäristö u ei varsinaista eräaja, ei erätyöjnja u at-kment hjelmien ajamiseksi myöhemminkin u crntab peridisille töille crn = chrngram deamn? tab = table Pyrkii hyvään vastausaikaan u taustaprsesseilla hun pririteetti Aikaviipaleet, Rund-Rbin Multilevel feedback u pririteeteilla mat Ready-jnt u tyhjentää suurimman pririteetin jnn ensin u dynaaminen pririteetti ei nälkiintymistä 35

UNIX: Ready-jnt (Fig 10-11 [Tane01]) 36

UNIX: Pririteetti Kiinteä peruspririteetti sekä nice-arv u käyttäjä vi pienentää pririteettia nice-kmennlla u pitää pririteetin siististi tietyllä arvalueella Laskee uuden pririteetin sekunnin välein u is aikaviipale! CPU:n käyttö vaikuttaa uuteen arvn u käyttö: pririteetti putaa u dttaa kauan: pririteetti kasvaa Susii I/O-sidnnaisia prsesseja u tavite: I/O-laitteiden tehkas työllistäminen 37

UNIX: multilevel feedback CPU_usage = CPU:n käyttö äskettäin u laskuri PCB:ssä Älä rankaise liikaa aiemmasta käytöstä u pulita ennen pririteetin laskentaa, ja sitten taas CPU_usage = CPU_usage/2 Pri = Base + (CPU_usage/2)+ Nice (js ei cpu_usage = 0, niin ei muutsta) Pieni arv = suuri pririteetti Esimerkki Fig 9.17 [Stal05] u Base=60, Nice = 0 u päivitä cunter (CPU_usage) 60 kertaa/sek F kelllaite keskeytys 16.7 ms välein? F tanta: kenellä suritin keskeytyshetkellä? u päivitä pririteetti sekunnin välein 38

Fair-Share Scheduling Tutki myös kuka prsessin mistaa (wner) u ettei hulivili vi tukkia järjestelmää Käsittele yhden käyttäjän prsesseja / säikeitä ryhmänä u ryhmän vaikutus nice termin asemesta u vurttelu edelleen prsessi- / säietaslla u pidettävä myös kirjaa paljnk ryhmä saanut CPU:n kknaisajasta (GCPU_cunter) u ryhmällä vi lla pain W, jka määrää millaisen suuden se saa kk (cpu-aika) kakusta Käytössä useissa UNIX-järjestelmissä u HP-UX, IBM AIX WLM, Sun Slaris SRM u ryhmä vi perustua käyttäjään tai prsessiin tai svellukseen 39

FSS - Fair-Share Scheduling Pririteetin määrittäminen CPU_cunter = CPU_cunter/2 GCPU_cunter = GCPU_cunter/2 is W grup pieni painarv GCPU_cunter:lla pieni Pri arv is pririteetti Pri = Base + CPU_cunter/2 + GCPU_cunter/(4*W grup ) Esimerkissä u Base = 60 Fig 9.16 [Stal05] u W A = 0.5 ja W B+C = 0.5 (W A + W B+C = 1) u päivitä laskurit 60 kertaa sekunnissa u päivitä pririteetti sekunnin välein 40

Kertauskysymyksiä Millin vurtetaan? Tapahtumahjattu (nn-preemtive) vs. keskeytyvä (pre-emptive) vurttaminen Miten FCSF ja Rund-Rbin algritmit eravat tisistaan? Millaisiin tilanteisiin ne spivat? Mikä FSS algritmin perusidea? Mitä hyötyä n käyttää pririteetteja? Mitä hyötyä n vaihtelevan pririteetin käytöstä? 41