------------------------------------------------------------------------- Käyttöjärjestelmät I, loppukoe 4.12.2001 Tehtävä 1 ------------------------------------------------------------------------- a) kirja s. 62 b) kirja s. 30, 42-43, 335-337 c) kirja s. 66 Kukin kohta 3 p: 1 1/2 termin selityksestä, 1 1/2 hyödyistä ------------------------------------------------------------------------- Käyttöjärjestelmät I, loppukoe 4.12.2001 Tehtävä 2 ------------------------------------------------------------------------- a) kirja luku 1.4. Taulukko 1.1 (Classes of Interrupts), myös sivupuutoskeskeytys ja palvelupyyntökeskeytys. 2 pistettä nimeämisestä, 2 pistettä tarpeen/hyödyn selvittämisestä b) kirja kuva 1.7 (Instruction Cycle) ja kalvo 1-18 Milloin = 1 piste, Miten = 1p c) kirja kuva 1.10 (Simple Interrupt Processing) Laitetoiminnot 3 p (kuittaus, PSW&PC pinoon, siirtyminen etuoikeutettuun tilaan, PC:lle käsittelijän alkuosoite), ohjelmallinen osa 1 p ( rekistereiden talletus/palautus) ------------------------------------------------------------------------- Käyttöjärjestelmät I, loppukoe 4.12.2001 Tehtävä 3 ------------------------------------------------------------------------- kirja Taulukko 3.5 (Typical Elements of Process Control Block) - karkea jako: tunnistus, vuorottaminen, muistinhallinta, tiedostojärjestelmä ja muut Kukin osuus 1 p mainitsemisesta, 1 p käyttötarkoituksesta ------------------------------------------------------------------------- Käyttöjärjestelmät I, loppukoe 4.12.2001 Tehtävä 4 ------------------------------------------------------------------------- kirja kuva 1.9 (Three Techniques for Input of a Block of Data) - 4 p: mikä oleellinen ero näillä kahdella tavalla - 6 p: CPU (KJ) käynnistää siirron viemällä tietoja ohjaimen rekistereihin statuksen tarkistaminen CPU (KJ) siirtää datan muistiin / ohjaimelle siirto sana kerrallaan => toisto ------------------------------------------------------------------------- Käyttöjärjestelmät I, loppukoe 4.12.2001 Tehtävä 5 ------------------------------------------------------------------------- 1) KJ valitsee uuden prosessin suoritukseen - nollaa TLB:n validibitit - aseta PTR = uuden prosessin sivutaulun fyys. osoite (löytyy PCB:stä) - kopioi muut rekisterit ja prosessi pääsee suoritukseen 2) Aluksi MMU yrittää muuntaa virtuaaliosoitteen 0 fyysiseksi osoitteeksi (sivu = 0, siirtymä = 0), 3) Koska sivun 0 tietoja ei löydy TLB:stä, MMU noutaa muistista TLB:hen sivutaulun alkion osoitteesta PTR + 0 4) Sivutaulun alkiosta käy ilmi, ettei sivu 0 ole muistissa (läsnäolobitti P=0), joten MMU aiheuttaa sivunpuutoskeskeytyksen. 5) KJ käsittelee keskeytyksen ja laittaa laiteohjaimen noutamaan puuttuvaa sivua muistiin (KJ valitsee sivutilaksi esim 77). Prosessin tilaksi tulee Blocked. 6) Kun ohjain siirtää, CPU voi suorittaa muita prosesseja. 7) Tulee "siirto valmis" keskeytys. KJ kirjaa sivutauluun sivun 0 kohdalle P=1 ja sivutilanro=77, sekä siirtää prosessin READY tilaan. 8) Aikanaan prosessi pääsee uudelleen suoritukseen. - kohdat 1) - 3) kuten edellä 9) Nyt sivutaulun alkiosta käy ilmi, että sivu 0 on muistissa ja MMU voi tehdä osoitemuunnoksen. fyys.os = katenoi(sivutilanro, siirtymä) 10) Tällä osoitteella etsitään ensin välimuistista ja vasta sitten haetaan muistista. 11) Osoitteille 1..510 osoitemuunnos onnistuu helposti, sillä nyt TLB:stä löytyy valmiiksi sivuun 0 liittyvät tiedot. 12) Kun prosessi viittaa osoitteeseen 2001, se sijaitseekin sivulla 1. Koska sivun 1 tiedot eivät ole TLB:ssä, toistuu kohdat 3) - 10) mutta sivunumerolle 1. 13) Seuraavalla viitteellä 2002 osoitemuunnoksessa tarvittavat tiedot löytyvät TLB:stä, joten osoitemuunnos on nopeaa. 14) Viite osoitteeseen 500 osuu sivulle 0. Sen tietoja ei löydy TLB:stä (validibitit nollattu välillä, CPU suoritti muita prosessja), ja sivutaulun alkio on noudettava muistista fyysisestä osoitteesta PTR + 0 (ko. muistipaikan sisältö voi löytyä toki välimuististakin!). 15) Osoitemuunnos kuten kohdat 9) - 11) o-o-o Kukin kohta 1 piste. Kuitenkin täydet pisteet sai, jos kaikki yleisperiaatteet olivat kohdallaan. Välimuistista ei tarvinnut mainita mitään. -------------------------------------------------------------------------