VUOROTTAMINEN YKSI CPU

Samankaltaiset tiedostot
VUOROTTAMINEN YKSI CPU

VUOROTTAMINEN YKSI CPU. II:ssa?

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

VUOROTTAMINEN - YKSI CPU. Stallings, Luku 9

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

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

Prosessi perinteisesti

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

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

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

Arto Salminen,

Sisältöä SÄIKEET, SMP

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

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

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

Moniprosessorijärjestelmä

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

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

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

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

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

Moniprosessorijärjestelmä

Käyttöjärjestelmät: prosessit

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

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

Luento 3: PROSESSIT JA NIIDEN HALLINTA

PROSESSIT JA NIIDEN HALLINTA

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

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

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

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

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

YLEISTÄ KÄYTTÖJÄRJESTELMÄSTÄ

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

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

Osio 2: Luennot 4-7 Muistinhallinta YKSINKERTAINEN MUISTINHALLINTA. ltöä YLEISTÄ MUISTINHALLINNASTA. Looginen muisti.

6. Skedulointi eli vuoronnus

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

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

u Tietokone ilman käyttöjärjestelmää on kuin

2 Konekieli, aliohjelmat, keskeytykset

Käyttöjärjestelmän rakenne

Käyttöjärjestelmät II

Jakso 8 Ohjelman toteutus järjestelmässä

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

NTÄ. Luento 8: SIIRRÄNT. Osio 3: Siirräntä ja tiedostojärjestelmä. ltö. Yleistä siirrännästä. Siirtonopeuksia (teoreettisia) Kuva 11.1.

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

Käyttöjärjestelmät II

Osio 2: Luennot 5-8 Muistinhallinta

Käyttöjärjestelmät: Virtuaalimuisti

Tavoite. Monitorit. Monitori Hoare Monitori. Minimoi virhemahdollisuuksia. Monitori Synkronointimenetelmiä Esimerkkejä

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

Käyttöjärjestelmän rajapinnat

Osio 2: Luennot 4-7 Muistinhallinta

Jakso 8 Ohjelman toteutus järjestelmässä

Osio 3: Siirräntä ja tiedostojärjestelmä

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

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

Linkkitekstit. Kaikkein vanhin WWW-suunnitteluohje:

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

Keskeiset KJ:n osa-alueet

ltö Luento 6: VIRTUAALIMUISTI Luento 7: Segmentointi Segmentointi ja sivutus yhdistettynä Yhteiskäytöstä Suoritus virtuaalimuistissa

OMAN VUORON ODOTTAMINEN. Materiaali 2018 Viitottu Rakkaus Kuvat MyCuteGraphics.com Diapohjat SlidesCarnival.

KJ:N KEHITTYMINEN JA YLLÄPITO

Työn nimi: Numerointi ja reititys operaattoritasoisessa hybridiverkossa (NGN)

Algoritmit 2. Demot Timo Männikkö

Tervetuloa! (2 ov,, 4 op) KJ on tärkein tietokoneessa pörräävistä ohjelmista

J. Virtamo Jonoteoria / Prioriteettijonot 1

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Älypuhelin hoitotyössä; osastoilla ja kentällä - potilaskuljetuksen työkalu n.n

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

Semaforit ja rinnakkaisuuden hallinta. Tuottajat ja kuluttajat. Lukijat ja kirjoittajat. Andrews 4.2, Rio 2004 / Auvo Häkkinen

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

Stallings, Luku

Tarkennamme geneeristä painamiskorotusalgoritmia

Luento 6: VIRTUAALIMUISTI

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

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

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

DUODECIM. Pekka Mustonen

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

Luento 8 Ohjelman toteutus järjestelmässä

Kombinatorinen optimointi

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Kehitysvammaliitto ry. RATTI-hanke. Haluan lähteä kaverin luokse viikonlopun viettoon ja olla poissa ryhmäkodista koko viikonlopun.

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Tässä ei ole tarkoitus kirjata kaikkia yksittäisiä virheitä vaan yleisiä usein kilpailuissa nähtyjä virhesuorituksia.

Minäpätevyyden tunnetta kohottamaan!

Scheduling. Stallings, Chapter 9. When? Priorities

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Algoritmit 1. Luento 1 Ti Timo Männikkö

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

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

Transkriptio:

Käyttöjärjestelmät VUOROTTAMINEN YKSI CPU Stallings, Luku 9 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-1

Mihin jäimmekään? Tähän mennessä: Ready-jono, valitse ensimmäinen Aikaviipaletekniikka (round-robin) Prioriteetitkin mainittiin Seuraavaksi: Vuorottamisen tasot CPU:n vuorottamisalgoritmeja KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-2

Vuorottamisympäristöt Eräajo Ajetaan vaikkapa yöllä Työn koko osataan arvioida esim. ajetaan joka yö, viikottain, kuukausittain Tapahtumaohjattu vuorottaminen OK Interaktiivinen Käyttäjä odottaa vastausta Ei harmainta aavistusta työn kestosta Aikaviipaletekniikka Reaaliaika Aikarajat Ohjelmoijakin miettii suorituskykyä KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-3

Tavoitteita: Laatu Samanarvoisille prosesseille sama palvelu Priorisointia saa harrastaa Turvakontrolli vs. palkanlaskenta Interaktiiviset vs. eräajojärjestelmät Vastausaika (response time) Työ annettu, milloin saadaan vastaus? Läpimenoaika (turnaround time) Työtä per aikayksikkö Ennustettavuus (predictability) "Ei sen näin pitkään pitäisi kestää" KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-4

Tavoitteita: Suorituskyky Ota järjestelmästä mahdollisimman paljon irti pidä CPU ja erityisesti I/O-laitteet puuhimassa käyttöaste (CPU utilisation) tärkeää moniajojärjestelmissä Tehokas ja reilu CPU:n käyttö läpimenoaste (throughput) läpimenoaika (turnaround time) Reaaliaikajärjestelmä pysyy aikataulussa Deadlinen ylitys voi olla vaarallista potilas kuolee, lentokone tippuu,... KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-5

Käyttöjärjestelmät MILLOIN VUOROTETAAN? KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-6

Milloin? Long-term Otetaanko uusi prosessi suoritettavaksi? Mahtuuko muistiin? Moniajoaste? Medium-term Milloin heittovaihdettu prosessi takaisin muistiin? Vapaata muistia? Short-term I/O Mille prosessille annetaan CPU? Minkä prosessin I/O-pyyntö palvellaan ensin? KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-7

Milloin? Kuva 9.1 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-8

KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 9

Milloin? Kuva 9.3 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-10

Long-term Scheduling Otetaanko uusi työ suoritettavaksi? milloin työstä tulee prosessi? saako koneeseen luoda uuden istunnon? Ratkaisevaa: moniajoaste paljon prosesseja -> kukin saa harvoin CPU:ta pyritään takaamaan riittävän tasokas palvelu sopiva suhde: CPU-sidonnaisuus, I/O-sidonnaisuus Milloin? joku prosessi päättynyt CPU:n käyttöaste pudonnut Mikä? First-Come-First-Serviced (FCFS) Joskus prioriteetteja: esim. työn koko, I/O-sidonnaisuus KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-11

Medium-Term Scheduling Liittyy heittovaihtoon sisäänheiton ajoitus prosessi tilassa Suspend&Ready tai Suspend&Wait Milloin? CPU:n käyttöaste laskenut vapaata muistitilaa runsaasti Mikä? koko ulosheittoaika prioriteetti KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-12

Short-Term Scheduling CPU:n vuorottaminen (dispatcher) yleisterminä vuorottaminen tarkoittaa juuri tätä Selvästi yleisempi kuin edelliset Milloin? Keskeytyksen yhteydessä Jokainen keskeytys ei aiheuta vuorottamista Kun prosessin kyky käyttää CPU:ta mennyt joutui Blocked-tilaan: I/O, synkronointi, poissulkeminen poikkeustilanne prosessi käyttänyt oman aikaviipaleensa suuremman prioriteetin työ valmis etenemään Mille? KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-13

Käyttöjärjestelmät PRIORITEETTI KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-14

Prioriteetti Suuremman prioriteetin prosessit ensin prioriteetti PCB:ssä / TCB:ssä Kullakin prioriteetilla oma Ready-jono lisää aina loppuun Vs. kaikki yhteisessä Ready-jonossa prioriteetti määrää paikan lisää prioriteetin mukaiseen paikkaan Nälkiintymisvaara vaihteleva prioriteetti prosessin ikä suoritushistoria KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-15

Prioriteettijonot Kuva 9.4 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-16

Milloin? Nonpreemptive Tapahtumaohjattu vuorottaminen Prosessi suorituksessa, kunnes se päättyy tai joutuu palvelupyyntönsä vuoksi Blocked-tilaan Preemptive Keskeyttävä vuorottaminen prosessi ei voi nälkiinnyttää muita Suoritus keskeytetään ja prosessi Ready-tilaan, vaikka voisikin käyttää CPU:ta aikaviipaletekniikka suuremman prioriteetin prosessi tuli Ready-jonoon pre-empt: mennä edelle, ottaa itselleen etuoikeuden nojalla KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-17

Käyttöjärjestelmät CPU:N VUOROTTAMIS- ALGORITMEJA KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-18

Algoritmit First-Come-First-Served FCFS Round Robin RR Virtual Round Robin VRR Shortest Process Next SPN Shortest Remaining Time SRT Highest Response Ratio Next HRRN Multilevel Feedback Fair Share Scheduling FSS KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-19

Esimerkkiprosessit Taulukko 9.4 Service Time = CPU:ssa kulutettu aika Esimerkeissä ei mietitä I/O:n vaikutusta KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-20

FCFS Kuva 9.5 Eräajo, tapahtumaohjattu, ei prioriteetteja Uusi prosessi Ready-jonon hännille Kun prosessi luopuu CPU:sta, vuorota jonon ensimmäiselle KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-21

FCFS Läpimenoaika riippuu suoritusjärjestyksestä, muiden koosta sekä CPU-sidonnaisuudesta Pienikin prosessi voi joutua odottamaan läpimenoajasta valtava osa odotusta Suosii CPU-sidonnaisia muille voi tulla pitkä odotusaika I/O-laitteet ehkä turhaan jouten I/O kuitenkin pullonkaula Järkevää ottaa mukaan prioriteetit koko, I/O-sidonnaisuus KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-22

RR Kuva 9.5 Aikaviipaletekniikka (q=1), keskeytyvä Kukin Ready-prosessi saa vuorollaan aikaviipaleen Vuorottaminen, kun viipale käytetty tai prosessi joutuu Blocked-tilaan KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-23

RR Kuva 9.5 Aikaviipaletekniikka q=4 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-24

RR Aikaviipaleen pituus lyhyt: prosessin vaihto vie CPU-aikaa pitkä: interaktiivisen työn vastausaika Suosii hieman CPU-sidonnaisia I/O-sidonnainen ei ehkä käytä koko viipaletta I/O-sidonnainen saa suhteessa harvemmin CPU:n Virtual RR Ready-jonon apujono (Auxiliary Ready Queue), jonne I/O-odotuksesta Aja ensin apujonossa olevat prosessit Viipale vain edellisellä kerralla käyttämättä jäänyt osa, sitten normaaliin Ready-jonoon KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-25

VRR Kuva 9.7 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-26

SPN Kuva 9.5 Tapahtumaohjattu Vuorota se, joka käyttää lyhimmän ajan CPU:ta kerrallaan I/O-sidonnaiset ensin KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-27

SPN Nälkiintymisvaara Iso jää aina pienten jalkoihin Isojen läpimenoaika vaikea ennustaa Erätyö: käynnistäjä arvioi työn kestoajan Jos työ laitettiin väärään eräajoluokkaan, KJ saattaa katkaista työn käynnistettävä uudelleen isompien luokassa Interaktiivinen: KJ laskee keskimääräistä CPU:n käyttöaikaa painottaa viimeeksi havaittuja aikoja, ks. kirja s 407 S n = T + (1 - )S n-1 esim = 0.8 Ei sovellu osituskäyttöympäristöön KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-28

SRT Kuva 9.5 Aikaviipaleversio edellisestä (keskeytyvä) Arvoitava prosessin jäljelläoleva ajantarve Ei interaktiiviseen ympäristöön KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-29

HRRN Minimoi läpimenoaikaa (huomioi historia) Vuorota se, joka ollut järjestelmässä kauimmin, ts. se, jolla suurin suhdeluku time spent waiting CPU + expected service time ------------------------------------------------------------ expected service time KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-30

HRRN Suosii hieman lyhyitä töitä Ei silti nälkiintymisvaaraa Dynaaminen prioriteetti Ready-jonossa odottelu kasvattaa prioriteettia Jäljelläolevaa aikaa ei voi tietää Arviot menneisyyden perusteella Käyttäjän antama arvio työn koosta Ei sovi interaktiiviseen ympäristöön KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-31

Multilevel Feedback Kuva 9.10 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-32

Feedback Dynaaminen prioriteetti Rankaisee pitkään pörränneitä prosesseja Useita Ready-jonoja RQ0 pura aikaviipaleittain, FCFS, siirrä seuraavaan jonoon RQ2..RQn-1 pura aikaviipaleittain, FCFS, siirrä srvaan jonoon RQn pura aikaviipaleittain, RR, pidä samassa jonossa Prosessi kulkeutuu lopulta RQn-jonoon, josta se aikanaan valmistuu Nälkiintymisvaara Vuorottaa alemmassa jonossa olevat aina ensin Useita variaatioita esim. alemmissa jonoissa pitempi aikaviipale palaa blocked-tilasta samaan jonoon KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-33

Feedback Kuva 9.5 Jonot RQ0, RQ1, RQ2 Aikaviipale q=1 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-34

Feedback Kuva 9.5 Jonot RQ0, RQ1, RQ2 Aikaviipale q=2 i ; 1, 2, 4, jne. Vaikutus, vrt. q=1 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-35

Yhteenveto Taulukko 9.3 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-36

KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 37

KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 38

Käyttöjärjestelmät UNIX SVR3 / BSD4.3 VUOROTTAMINEN KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-39

UNIX: Vuorottaminen Interaktiivinen ympäristö Ei varsinaista eräajoa, ei erätyöjonoja Pyrkii hyvään vastausaikaan Taustaprosesseilla huono prioriteetti Aikaviipaleet, Round-Robin Multilevel feedback Prioriteeteilla omat Ready-jonot Tyhjentää suurimman prioriteetin jonon ensin Dynaaminen prioriteetti -> ei nälkiintymistä KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-40

UNIX: Ready-jonot Tan01 10.11 KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-41

UNIX: Prioriteetti Kiinteä perusprioriteetti sekä nice-arvo Käyttäjä voi pienentää prioriteettia nice-komennolla Pitää prioriteetin siististi tietyllä arvoalueella Laskee uuden prioriteetin sekunnin välein CPU:n käyttö vaikuttaa uuteen arvoon Käytti: prioriteetti putoaa Ei: prioriteetti kasvaa Suosii I/O-sidonnaisia prosesseja I/O-laitteiden tehokas työllistäminen KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-42

UNIX: Prioriteetti CPU_counter = CPU:n käyttö äskettäin laskuri PCB:ssä Älä rankaise liikaa aiemmasta käytöstä puolita ennen prioriteetin laskentaa CPU_counter = CPU_counter/2 Pri = Base + (CPU_counter/2)+ Nice Pieni arvo = suuri prioriteetti Esimerkissä Base=60, Nice = 0 Päivitä counter 60 kertaa/sek, Päivitä prioriteetti sekunnin välein KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-43

UNIX: Esimerkki Kuva 9.17 [Bach86 8.4] KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-44

Fair-Share Scheduling Tutki myös, kuka prosessin omistaa Ettei hulivili voi tukkia järjestelmää Käsittele käyttäjän prosesseja / säikeitä ryhmänä Vuorottelu edelleen prosessi- / säietasolla Pidettävä myös kirjaa, paljonko ryhmä saanut CPU:n kokonaisajasta (GCPU_counter) Ryhmällä voi olla paino W, joka määrää, millaisen osuuden se saa koko kakusta Käytössä joissain UNIX-järjestelmissä KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-45

FSS: Esimerkki Prioriteetin määrittäminen CPU_counter = CPU_counter/2 GCPU_counter = GCPU_counter/2 Pri = Base + CPU_counter/2 + GCPU_counter/4*W Esimerkissä Base = 60 W A = 0.5 ja W B+C = 0.5 Päivitä laskurit 60 kertaa sekunnissa Päivitä prioriteetti sekunnin välein KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-46

Kertauskysymyksiä Milloin vuorotetaan? Tapahtumaohjattu (non-preemtive) vs. keskeytyvä (pre-emptive) vuorottaminen Miten FCSF- ja Round-Robin algoritmit eroavat toisistaan? Millaisiin tilanteisiin ne sopivat? Mikä FSS algoritmin perusidea? Mitä hyötyä on käyttää prioriteetteja? Mitä hyötyä on vaihtelevan prioriteetin käytöstä? KJ-II K2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 5-47