Käyttöjärjestelmät II (4 op, 2 ov)
Erilliskuulustelu 16.9.2005

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimi, opiskelijanumero (tai henkilötunnus),
kurssin nimi, nimikirjoitus ja sivunumero.
  1. [15 p] Säikeiden vuorotus. Oletetaan kaksi sovellusta P ja Q. Sovelluksella P on kaksi säiettä: P1 ja P2. Sovelluksella Q on kaksi säiettä: Q1 ja Q2. Järjestelmässä on 2 suoritinta. Kaikki säikeet (P1, P2, Q1 ja Q2) ovat suorituksessa tai valmiita suoritukseen. Anna perusteltu esimerkki prosessien- ja säikeidenhallintajärjestelmästä, jossa ...
    1. [3 p] säikeet P1 ja P2 voivat olla samanaikaisesti suorituksessa.
    2. [3 p] säikeet P1 ja P2 eivät voi olla samanaikaisesti suorituksessa.
    3. [3 p] säikeet P1 ja Q1 eivät voi olla samanaikaisesti suorituksessa.
    4. [3 p] säikeen P1 ollessa suoritusvuorossa sen aikaviipale päättyy, mutta P2 ei voi saada suoritusvuoroa.
    5. [3 p] säikeen P1 ollessa suoritusvuorossa se jää odottamaan I/O:n valmistumista, mutta P2 ei voi saada suoritusvuoroa.

    Kiinnitä erityinen huomio siihen, tapahtuuko säikeiden toteutus käyttäjätasolla ja/tai ytimen tasolla.

  2. [15 p] Virtuaalimuistin Clock sivunpoistoalgoritmi, kun joka sivuun liittyy vain R-bitti (viitattu, referenced or accessed recently, use-bit), muta ei M-bittiä (muutettu, modified).
    1. [3 p] Mikä on varsinainen ongelma, jonka tämä algoritmi ratkaisee? Miten tämä Clock sivunpoistoalgoritmi toimii?
    2. [2 p] Milloin tämä Clock algoritmi käynnistetään? Päättyykö algoritmi aina?
    3. [3 p] Kuka asettaa R-biteille arvoja ja milloin?
    4. [2 p] Mitä etua tällä algoritmilla on verrattuna Clock-algoritmiin, jossa on myös M-bitti käytössä?
    5. [2 p] Mitä haittaa tällä algoritmilla on verrattuna Clock-algoritmiin, jossa on myös M-bitti käytössä?
    6. [3 p] Määrittele käsite käyttöjoukko. Miten käyttöjoukko liittyy tähän Clock algoritmiin?
       
  3. [15 p] Tiedostojärjestelmän lohkopuskurien allokointi. Käytä apuna kuvaa Fig 11.9 kääntöpuolella.
    1. [3 p] Miten perusratkaisu LFU (Least Frequenty Used, ei kuvassa) algoritmi toimii? Miksi se ei ole hyvä? Mikä on varsinainen ongelma, jonka tämä algoritmi ratkaisee?
    2. [3 p] Miten MRU FIFO (Most Recently Used FIFO, Fig. 11.9 a-kohta) algoritmi toimii? Miten se eroaa LFU:sta?
    3. [3 p] Milloin MRU FIFO ei toimi oikein hyvin ja miksi?
    4. [3 p] Miten MRU Three Sections (Fig. 11.9 b-kohta) algoritmi toimii?
    5. [3 p] Miksi MRU Three Sections toimisi paremmin kuin MRU FIFO?

  4. [15 p] WindowsW2K File System (NTFS)
    1. NTFS Master File Table (MFT): perusidea ja käyttö, sijainti levyllä
    2. Hyvin pienen tiedoston esitys MFT:ssä
    3. Hyvin suuren tiedoston esitys MFT:ssä
    4. Minkälaisista levyvirheistä NTFS voi toipua? Minkälaisista ei?
    5. Miten NTFS:n virheistä toipuminen (recoverability) on toteutettu?