VUOROTTAMINEN - YKSI CPU. Stallings, Luku 9

Samankaltaiset tiedostot
VUOROTTAMINEN YKSI CPU

VUOROTTAMINEN YKSI CPU. II:ssa?

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

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

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

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

Moniprosessorijärjestelmä

Moniprosessorijärjestelmä

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

Käyttöjärjestelmät II

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

MoViE- sovelluksen käyttöohjeet

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

Prosessi perinteisesti

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

Käyttöjärjestelmät II

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Automaatiojärjestelmät Timo Heikkinen

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

PROSESSIT JA NIIDEN HALLINTA

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

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

OHJE POISSAOLOIHIN PUUTTUMISEEN KOULUSSA

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

JFunnel: Käytettävyysohjatun vuorovaikutussuunnittelun prosessiopas

Sisällysluettelo OHJE

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

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

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ä

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

Sisältöä SÄIKEET, SMP

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

Sisältöä SÄIKEET, SMP

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

ltöä (Luennot 5&6) Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Pikakertaus: : a) b) c) Dyn.. part.: sijoitus Kuva Buddy System: esimerkki

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

Ohjeita linja- ja aikatuomareille

Flash ActionScript osa 2

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

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

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

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

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

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

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

Jakso 8 Ohjelman toteutus järjestelmässä

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

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

Tämä ruutu näkyy ainoastaan esikatselutilassa.

Luento 3: PROSESSIT JA NIIDEN HALLINTA

Stallings, Lukua 2. KJ-I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-2. KJ-I I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-1

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

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

1. Turvaohje. 2. Tuotteen Ominaisuudet DIGISCALE 1000

Arto Salminen,

SPL TAMPEREEN PIIRI: SEURATUTOROINTI

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

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

Luento 8 Ohjelman toteutus järjestelmässä

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

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

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

Tervetuloa GoGolfin Green Card -kurssille

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

Tietokoneen toiminta (Computer Organization I)

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

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

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

Basware Konsernitilinpäätös Forum Ajankohtaista pörssiyhtiön raportoinnissa

TUNTIMITTAUSTIEDON AVOIN PALVELUALUSTA Sähkötutkimuspoolin tutkimusseminaari

Osio 2: Luennot 5-8 Muistinhallinta

NV-U50/U50T/U70T-navigaattorien ohjelmiston päivitys

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

Geometrinen piirtäminen

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

Stallings, Luku 8.1. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-1

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

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

Uniapneaoireyhtymää sairastavien aikuisten kuntoutuskurssit, osittaiset perhekurssit

FC HONKA AKATEMIAN ARVOT

Skedulerisimulaattorin implementointi fysiikkatöille ja sen matemaattinen validointi

Finnish Value Pack Julkaisutiedot Vianova Systems Finland Oy Versio

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

MAKSETUISTA ELÄKKEISTÄ ELÄKESELVITTELYÄ VARTEN ETK:LLE ANNETTAVAN ELÄKEMENOTIEDOSTON SEKÄ PERINTÄTIEDOSTON TÄYTTÖOHJE VUODELLE 2013

Luento 4 Tekstinkäsittelyn perusperiaatteita, tyylit, sarkaimet Aulikki Hyrskykari

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

Keskeiset KJ:n osa-alueet

Omaishoitajienkuntoutuskurssit

VAIKEAVAMMAISTEN KULJETUSPALVELUN MYÖNTÄMISPERUSTEET SUONENJOEN KAUPUNGISSA ALKAEN 1. YLEISTÄ

Keskeiset KJ:n osa-alueet. Keskeiset KJ:n osa-alueet. 1) Prosessi. 2) Muistinhallinta. Käyttöjärjestelmän rakenne. Eräs toteutus

Transkriptio:

Käyttöjärjestelmät, Luent 11 LUENTO 11 VUOROTTAMINEN - YKSI CPU Stallings, Luku 9 1 Vurttaminen ja prsessien tilat Syksy 007, Tiina Niklander 11-1

Käyttöjärjestelmät, Luent 11 Vurttamisympäristöt, työkurma Eräaj ajetaan vaikkapa yöllä työn kk sataan arviida esim. ajetaan jka yö, viikttain, kuukausittain tapahtumahjattu vurttaminen OK kunhan kaikki saadaan tehtyä Interaktiivinen käyttäjä dttaa vastausta, npea vastaus hyvä vurttajalla ei harmainta aavistusta työn keststa aikaviipaletekniikka Reaaliaika aikarajat hjelmijakin miettii surituskykyä ja millin KJ saa suritusvurn Avin ja suljettu työkurma Deterministinen (suljettu) työkurma kaikki prsessit tunnetaan heräämistaajuudet tunnetaan Avin työkurma prsessien jukk vaihtelee ulkisten tapahtumien perusteella Hetergeeninen työkurma deterministinen + avin esim. lennn valvnta, lentpintjen hjaus arriving missiles pikkeus? vai deterministinen jka 100 ms? eräaj + interaktiivinen + reaaliaika miten svittaa yhteen jääkö avimille reaaliaikatöille tarpeeksi aikaa? jääkö KJ:lle tarpeeksi aikaa? Syksy 007, Tiina Niklander 11 -

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

Käyttöjärjestelmät, Luent 11 Tbl 9. (alasa) 7 Käyttäjän näkökulma Tavitteita: surituskyky Tbl 9. [Stal0] Ota järjestelmästä mahdllisimman paljn irti pidä CPU ja erityisesti I/O-laitteet tuttavassa työssä krkea käyttöaste (CPU utilizatin) tärkeää mniajjärjestelmissä Tehkas ja reilu CPU:n käyttö läpimenaste, läpimenvu (thrughput, wrk flw) läpimenaika (turnarund time, respnse time) Reaaliaikajärjestelmä pysyy aikataulussa Aikarajan (deadline) ylitys vi lla harmillista tai vaarallista kuvassa n häiriö, ääni/kuva epäsynkrnisia ptilas kulee, lentkne tippuu,... Ylläpitäjän näkökulma 8 Syksy 007, Tiina Niklander 11 -

Käyttöjärjestelmät, Luent 11 MILLOIN VUOROTETAAN? 9 Millin? Lng-term tetaank uusi prsessi systeemiin? suritettavaksi? mahtuuk muistiin? riittääkö swap-tila? Medium-term millin (heittvaihdettu) muistiin? prsessi muistiin? vapaata muistia? mniajaste? Shrt-term mille prsessille annetaan surittimelle? CPU? I/O minkä prsessin I/O pyyntö I/O-laitteelle? palvellaan ensin? 10 Syksy 007, Tiina Niklander 11 -

Käyttöjärjestelmät, Luent 11 Lng-term Scheduling Otetaank uusi työ suritettavaksi? millin työstä tulee prsessi? saak kneeseen luda uuden istunnn? Ratkaisevaa: mniajaste paljn prsesseja kukin saa harvin CPU:n js vähän muistia, niin nk parempi dttaa lng term vai medium term? pyritään takaamaan riittävän taskas palvelu spiva suhde: CPU- ja I/O-sidnnaiset työt? Millin? jku prsessi päättynyt / CPU:n käyttöaste pudnnut Mikä? First-Cme-First-Serviced (FCFS) jskus pririteetteja: esim. työn kk, I/O-sidnnaisuus Fig 9. [Stal0] medium term? Fig 9. [Stal0] 11 Medium-Term Scheduling Liittyy heittvaihtn sisäänheitn ajitus prsessi tilassa Suspend&Ready tai Suspend&Wait Millin muistiin? CPU:n käyttöaste laskenut vapaata muistitilaa runsaasti Mikä muistiin? kk (eli dttavan prsessin muistitarve) ulsheittaika (eli dtusaika levyllä) pririteetti Mikä muistista pis? ei sellainen, jlla tärkeä resurssi hallussa kriittinen vaihe? ei KJ prsessi? Fig 9. [Stal0] 1 Syksy 007, Tiina Niklander 11-6

Käyttöjärjestelmät, Luent 11 Shrt-Term Scheduling Fig 9. [Stal0] CPU:n vurttaminen (scheduling, dispatching) yleisterminä vurttaminen tarkittaa juuri tätä Selvästi yleisempi kuin edelliset Millin? keskeytyksen yhteydessä jkainen keskeytys ei aiheuta vurttamista kun nykyprsessin kyky käyttää suritinta mennyt jutui Blcked-tilaan: I/O, synkrninti, pissulkeminen pikkeustilanne prsessi käyttänyt man aikaviipaleensa suuremman pririteetin työ valmis etenemään Kenelle vur seuraavaksi? 1 Vurtuksen jnmalli 1 Syksy 007, Tiina Niklander 11-7

Käyttöjärjestelmät, Luent 11 PRIORITEETTI 1 Pririteetti Suuremman pririteetin prsessit ensin pririteetti PCB:ssä / TCB:ssä Kullakin pririteetilla ma Ready-jn lisää aina lppuun haku vi kestää, kun mnta jna Fig 9. [Stal0] Vs. yksi yhteinen Readyjnssa pririteetti määrää paikan npea haku (vain yksi jn) lisäys pririteetin mukaiseen paikkaan vi lla turhan mnimutkaista eli hidasta Nälkiintymisvaara vaihteleva pririteetti trjuu nälkiintymisen? prsessin ikä suritushistria vaihtelun rajat? 16 Syksy 007, Tiina Niklander 11-8

Käyttöjärjestelmät, Luent 11 Pririteettijnt 17 Kiinteä ja vaihteleva pririteetti Reaaliaikaprsessit KJ-prsessit Tavalliset user-prsessit high pri 0 1 6 6 6 66 17 18 19 10 11 19 lw pri missile avidance prcess flight surface cntrl kiinteä navigatin pri lad cntrl swapper cleaner kiinteä pri dttanut kauan RR jnssa calculatr (18-10) vaihteleva pri käyttänyt paljn CPU-aikaa (esim. kk aikaviipale) 18 Syksy 007, Tiina Niklander 11-9

Käyttöjärjestelmät, Luent 11 Millin vurtus aktivituu? Nnpreemptive (estävä mniaj) tapahtumahjattu vurttaminen prsessi surituksessa, kunnes se päättyy tai jutuu palvelupyyntönsä vuksi blcked-tilaan suritusaikana vi silti lla keskeytyksiä ja KJ työtä! scheduler ei aktividu paitsi ehkä KJ-prsesseille? Preemptive (keskeytyvä mniaj) keskeyttävä vurttaminen prsessi ei vi nälkiinnyttää muita suritus keskeytetään ja prsessi Ready-tilaan, vaikka visikin käyttää suritinta aikaviipaletekniikka suuremman pririteetin prsessi tuli Ready-jnn pre-empt: mennä edelle, ttaa itselleen etuikeuden njalla 19 CPU:N VUOROTTAMISALGORITMEJA 0 Syksy 007, Tiina Niklander 11-10

Käyttöjärjestelmät, Luent 11 Algritmit First-Cme-First-Served Rund Rbin Virtual Rund Rbin Shrtest Prcess Next Shrtest Remaining Time Highest Respnse Rati Next Multilevel Feedback FCFS RR VRR SPN SRT HRRN feedback Fair Share Scheduling FSS 1 Esimerkkiprsessit (Tbl 9. [Stal0]) Service Time = CPU:ssa kulutettu aika Esimerkeissä ei mietitä I/O:n vaikutusta Syksy 007, Tiina Niklander 11-11

Käyttöjärjestelmät, Luent 11 FCFS First Cme First Served S 6 (keskim.) cpu time fr B (Fig 9. [Stal0]) arrival time fr B Eräaj, tapahtumahjattu, ei pririteetteja Uusi prsessi Ready-jnn hännille Kun prsessi lupuu CPU:sta, vurta seuraava Ketä susii? Ketä ei? R 7 9 1 1 keskim. 8.6 cmpletin time fr B FCFS First Cme First Served Läpimenaika Fig 9. [Stal0] riippuu suritusjärjestyksestä, muiden ksta sekä CPU-sidnnaisuudesta Pienikin prsessi vi jutua dttamaan läpimenajasta valtava sa dtusta Miksi? Susii CPU-sidnnaisia muille vi tulla pitkä dtusaika I/O-laitteet ehkä turhaan juten I/O kuitenkin pullnkaula Järkevää ttaa mukaan pririteetit pririteetin perusta? prsessin kk (suritin aika)? I/O-sidnnaisuus? Syksy 007, Tiina Niklander 11-1

Käyttöjärjestelmät, Luent 11 RR Rund Rbin S 6 R 16 1 1 7 (keskim.) (Fig 9. [Stal0]) 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 RR Rund Rbin Aikaviipaleen pituus Fig 9. [Stal0] lyhyt: prsessin vaihdt vievät CPU-aikaa pitkä: interaktiivisen työn vastausaika lyhyt, js yksi aikaviipale riittää Susii hieman CPU-sidnnaisia I/O-sidnnainen ei ehkä käytä kk viipaletta I/O-sidnnainen saa suhteessa harvemmin CPU:n - miksi? Virtual RR ready-jnn apujn (Auxiliary Ready Queue), Fig 9.7 [Stal0] jnne I/O-dtuksesta pririteetti I/O sidnnaisilla aja ensin apujnssa levat prsessit aikaviipale vain edellisellä kerralla käyttämättä jäänyt sa, sitten nrmaaliin Ready-jnn 6 Syksy 007, Tiina Niklander 11-1

Käyttöjärjestelmät, Luent 11 RR aikaviipaleen vaikutus S 6 (keskim.) (Fig 9. [Stal0]) R 1 7 1 11 keskim. 10.0 Aikaviipaletekniikka q = prsessin vaihtaikaa ei humiitu! Susiik pitkä aikaviipale cpu- vai I/O-sidnnaisia? Susiik pitkä aikaviipale lyhyitä vai pitkiä töitä? 7 Virtual RR:n jnmalli 8 Syksy 007, Tiina Niklander 11-1

Käyttöjärjestelmät, Luent 11 SPN Shrtest Prcess Next S 6 (keskim.) (Fig 9. [Stal0]) R 7 11 1 keskim. 7.6 Tapahtumahjattu (siis nn-preemptive) Vurta se, jka käyttää lyhimmän ajan CPU:ta kerrallaan I/O-sidnnaiset ensin mistä tietää? 9 SPN Shrtest Prcess Next Nälkiintymisvaara is jää aina pienten jalkihin Isjen läpimenaika vaikea ennustaa Erätyö: käynnistäjä arvii työn kestajan js työ laitettiin väärään eräajlukkaan, KJ saattaa katkaista työn miksi? (kulutti liikaa aikaa estimaattiin nähden) käynnistettävä uudelleen ismpien lukassa Interaktiivinen: KJ laskee keskim. CPU:n käyttöaikaa painttaa viimeksi havaittuja aikja (T n-1 ) estimi S estim estim n = αt n-1 + (1 - α)s n-1 Ei svellu situskäyttöympäristöön esim α = 0.8 0 Syksy 007, Tiina Niklander 11-1

Käyttöjärjestelmät, Luent 11 SRT Shrtest Remaining Time S 6 (keskim.) Aikaviipaleversi edellisestä (keskeytyvä) tilanne arviidaan uudelleen jka aikaviipaleelle Arviitava prsessin jäljellä leva ajantarve Ei svi interaktiiviseen ympäristöön (Fig 9. [Stal0]) R 1 1 keskim. 7. 1 HRRN Highest Respnse Rati Next S 6 (keskim.) Tapahtumahjattu (siis nn-preemptive) Minimi läpimenaikaa (humii histria) 7 (Fig 9. [Stal0]) Vurta se, jlla hunin suhteellinen vasteaika, ts. se, jlla suurin suhdeluku: time spent waiting CPU + expected service time respnse rati = ------------------------------------------------------------- expected service time R 7 9 1 7 keskim. 8.0 (+)/ > (7+)/ Syksy 007, Tiina Niklander 11-16

Käyttöjärjestelmät, Luent 11 HRRN Highest Respnse Rati Next Susii hieman lyhyitä töitä ei silti nälkiintymisvaaraa Dynaaminen pririteetti ready-jnssa dttelu kasvattaa pririteettia Jäljellä levaa aikaa ei vi tietää arvit menneisyyden perusteella käyttäjän antama arvi työn ksta ei svi interaktiiviseen ympäristöön Multilevel Feedback (Fig 9.10 [Stal0]) Syksy 007, Tiina Niklander 11-17

Käyttöjärjestelmät, Luent 11 Feedback Dynaaminen pririteetti Rankaisee pitkään pörränneitä prsesseja, aikaviipalitu Useita Ready-jnja RQ0: pura aikaviipaleittain, FCFS, siirrä seuraavaan jnn RQ..RQn-1: pura aikaviipaleittain, FCFS, siirrä seuraavaan jnn RQn: pura aikaviipaleittain, RR, pidä samassa jnssa Prsessi kulkeutuu lpulta RQn-jnn, jsta se aikanaan valmistuu Nälkiintymisvaara vurttaa alemmassa jnssa levat aina ensin Useita variaatiita esim. alemmissa jnissa pitempi aikaviipale (esim. 1,,, ) palaa blcked-tilasta samaan jnn S 6 Feedback q=1 1 1 6 1 1 1 (keskim.) Virhe? (Fig 9. [Stal0]) R 18 1 1 keskim. 10.0 Jnt RQ0, RQ1, RQ, Aikaviipale q=1 Ei vaadi etukäteisarviita CPU-ajan tarpeesta Pitkät työt vivat kestää kauan 6 Syksy 007, Tiina Niklander 11-18

Käyttöjärjestelmät, Luent 11 Feedback q= i Virhe? S R 1 6 1 1 1 1 1 1 1 6 (Fig 9. [Stal0]) (keskim.) keskim. 10.6 Jnt RQ0, RQ1, RQ,, RQi Aikaviipale q= i Vaikutus, vrt. q=1 Fig 9. [Stal0] 7 Yhteenvet Tbl 9. [Stal0] Syksy 007, Tiina Niklander 11-19

Käyttöjärjestelmät, Luent 11 UNIX SVR / BSD. VUOROTTAMINEN 9 UNIX: Vurttaminen Interaktiivinen ympäristö ei varsinaista eräaja, ei erätyöjnja at-kment hjelmien ajamiseksi myöhemminkin crntab jaksllisille (peridic) töille crn = chrngram deamn? tab = table Pyrkii hyvään vastausaikaan taustaprsesseilla hun pririteetti Aikaviipaleet, Rund-Rbin Multilevel feedback pririteeteilla mat Ready-jnt tyhjentää suurimman pririteetin jnn ensin dynaaminen pririteetti ei nälkiintymistä 0 Syksy 007, Tiina Niklander 11-0

Käyttöjärjestelmät, Luent 11 UNIX: Ready-jnt (Fig 10-11 [Tane01]) 1 UNIX: Pririteetti Kiinteä peruspririteetti sekä nice-arv käyttäjä vi pienentää pririteettia nice-kmennlla pitää pririteetin siististi tietyllä arvalueella Laskee uuden pririteetin sekunnin välein is aikaviipale! CPU:n käyttö vaikuttaa uuteen arvn käyttö: pririteetti putaa dttaa kauan: pririteetti kasvaa Susii I/O-sidnnaisia prsesseja tavite: I/O-laitteiden tehkas työllistäminen Syksy 007, Tiina Niklander 11-1

Käyttöjärjestelmät, Luent 11 UNIX: multilevel feedback CPU_usage = CPU:n käyttö äskettäin laskuri PCB:ssä Älä rankaise liikaa aiemmasta käytöstä pulita ennen pririteetin laskentaa, ja sitten taas CPU_usage = CPU_usage/ Pri = Base + (CPU_usage/)+ Nice (js ei cpu_usage = 0, niin ei muutsta) Fig 9.17 [Stal0] Pieni arv = suuri pririteetti Esimerkki Base=60, Nice = 0 päivitä cunter (CPU_usage) 60 kertaa/sek kelllaite keskeytys 16.7 ms välein? tanta: kenellä suritin keskeytyshetkellä? päivitä pririteetti sekunnin välein HUOM:. Ed [Stal0] jissakin painksissa väritykset virheellisesti Syksy 007, Tiina Niklander 11 -

Käyttöjärjestelmät, Luent 11 Fair-Share Scheduling Tutki myös kuka prsessin mistaa (wner) ettei hulivili vi tukkia järjestelmää Käsittele yhden käyttäjän prsesseja / säikeitä ryhmänä ryhmän vaikutus nice termin asemesta vurttelu edelleen prsessi- / säietaslla pidettävä myös kirjaa paljnk ryhmä saanut CPU:n kknaisajasta (GCPU_cunter) ryhmällä vi lla pain W, jka määrää millaisen suuden se saa kk (cpu-aika) kakusta Käytössä useissa UNIX-järjestelmissä HP-UX, IBM AIX WLM, Sun Slaris SRM ryhmä vi perustua käyttäjään tai prsessiin tai svellukseen FSS - Fair-Share Scheduling Pririteetin määrittäminen CPU_cunter = CPU_cunter/ GCPU_cunter = GCPU_cunter/ Pri = Base + CPU_cunter/ + GCPU_cunter/(*W grup ) Esimerkissä Base = 60 W A = 0. ja W B+C = 0. (W A + W B+C = 1) päivitä laskurit 60 kertaa sekunnissa päivitä pririteetti sekunnin välein is W grup pieni painarv GCPU_cunter:lla pieni Pri arv is pririteetti Kts. Fig 9.16 [Stal0] 6 Syksy 007, Tiina Niklander 11 -

Käyttöjärjestelmät, Luent 11 7 Syksy 007, Tiina Niklander 11 -