Käyttöjärjestelmät (6 op), erilliskoe 21.11.2014                      in EnglishOther side in English

Kirjoita jokaiseen vastauspaperiisi kurssin nimi, pvm, oma nimi, nimikirjoitus ja opiskelijanumero.
Kuhunkin tehtävään riittää 1-2 sivun vastaus.
Tämä koe on tavallinen erilliskoe ja sen koealue on koko kurssi (6 op).

  1. [9 p] Lukkiutuminen
    1. [2 p] Ajatellaan Aterioivien filosofien ongelman perusratkaisua, jossa kukin filosofi syömään tullessaan varaa ensin vasemman puoleisen haarukan ja sitten oikean puoleisen haarukan. Anna skenaario, joka ei johda lukkiutumiseen.
    2. [2 p] Ajatellaan Aterioivien filosofien ongelman perusratkaisua, jossa kukin filosofi syömään tullessaan varaa ensin vasemman puoleisen haarukan ja sitten oikean puoleisen haarukan. Anna skenaario, joka johtaa lukkiutumiseen.
    3. [3 p] Mitkä neljä ehtoa pitää olla voimassa, jotta lukkiutuminen olisi mahdollista? Näytä, että ne pätevät Aterioivien filosofien ongelman perusratkaisussa. Johtaako näiden neljän ehdon voimassaolo välttämättä lopulta lukkiutumiseen?
    4. [2 p] Lukkiutuminen voidaan kokonaan välttää varaamalla resurssit aina tietyssä järjestyksessä. Miksi tämä menetelmä toimii? Mikä em. neljästä ehdosta (kohta c) nyt rikkoutuu ja miten? Selitä, kuinka ratkaisu toimisi Aterioivien filosofien tapauksessa.

  2. [9 p] Suorittimen vuoronanto
    1. [3 p] Minkä ongelman (lyhyen aikajakson, suorittimen, tavanomaisen, ei tosiaikajärjestelmän) vuoronantoalgoritmi ratkaisee? Milloin se toimii hyvin? Milloin se toimii huonosti? Millä kriteereillä algoritmin hyvyyttä mitataan?
    2. [3 p] Mainitse kolme (3) erilaista yhden suorittimen ympäristöön soveltuvaa vuoronantoalgoritmia ja selitä pääpiirteissään kuinka ne toimivat. Mainitse kustakin algoritmista esimerkki tilanteesta, jossa juuri se olisi parempi kuin ne muut.
    3. [3 p] Kuinka tosiaikajärjestelmän (real time system) vuoronanto eroaa tavanomaisen (ei tosiaika järjestelmän) järjestelmän vuoronannosta? Miksi tavalliselle järjestelmälle kehitetyt algoritmit eivät yleensä sovellu tosiaikajärjestelmille? Mainitse yksi erityisesti tosiaikajärjestelmään soveltuva vuoronantoalgoritmi ja selitä pääpiirteissään, kuinka se toimii.

  3. [9 p] Tiedostojärjestelmä
    1. [3 p] Mikä on indeksoitu tiedosto ja miten se toimii? Kuinka monta indeksiä tarvitaan?
    2. [2 p] Minkälaiseen tietueiden käyttötapaan indeksoitu tiedosto on suunniteltu? Miksi sarjallinen tiedosto tai indeksoitu sarjallinen tiedosto eivät ole hyviä tällaisessa käyttötavassa?
    3. [2 p] Miten indeksoidun tiedoston indeksointi on toteutettu (ilman B-puuta). Kuinka monta indeksiä tarvitaan?
    4. [2 p] Usein indeksointi kannattaa toteuttaa B-puuna. Kuinka B-puu indeksi pääpiirteissään toimii ja miksi se on nopeampi kuin tavallinen indeksi. Kuinka monta B-puu indeksiä tarvitaan?

  4. [9 p] Virtuaalimuisti
    1. [3 p] Miten sivuttavan virtuaalimuistin osoitteenmuunnos toimii? Anna esimerkki 32-bittiselle tavusoitteelle 0x12345678, kun sivun koko on 4 KB. Mihin kehykseen ja fyysiseen muistiosoitteeseen viittaus kohdistuu ja kuinka kehys löydetään?
    2. [3 p] Miksi virtuaalimuisti toteutetaan usein monitasoisena? Mitä se oikeastaan tarkoittaa?
      Miten 2-tasoisen sivuttavan virtuaalimuistin osoitteenmuunnos toimii? Anna esimerkki 32-bittiselle tavusoitteelle 0x12345678, kun sivun koko on 4 KB ja sivutaulussa on 1024 alkiota. Mihin kehykseen ja fyysiseen muistiosoitteeseen viittaus kohdistuu ja kuinka kehys löydetään?
    3. [3 p] Mikä on käänteinen sivutaulu (inverted page table), miten se toimii, mitä etuja/haittoja sillä on tavalliseen sivutauluun verrattuna? Anna esimerkki 32-bittiselle tavusoitteelle 0x12345678, kun sivun koko on 4 KB. Mihin kehykseen ja fyysiseen muistiosoitteeseen viittaus kohdistuu ja kuinka kehys löydetään?