Käyttöjärjestelmät II (4 op, 2 ov)
Erilliskuulustelu 16.8.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 sekä R-bitti (viitattu, referenced or accessed recently) että M-bitti (muutettu, modified).
    1. [3 p] Mikä on varsinainen ongelma, jonka tämä algoritmi ratkaisee? Miten tämä Clock sivunpoistoalgoritmi toimii?
    2. [3 p] Milloin tämä Clock algoritmi käynnistetään? Päättyykö algoritmi aina?
    3. [3 p] Kuka asettaa R-biteille arvoja ja milloin?
    4. [3 p] Kuka asettaa M-biteille arvoja ja milloin?
    5. [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] Tietoturva. (1) Mitä tarkoittavat seuraavat neljä toteutustason ja neljä yleisen tason järjestelmän turvallisuusvaatimukset? (2) Anna konkreettinen esimerkki tilanteesta, joissa kyseinen turvallisuusvaatimus rikkoontuu. (3) Miten kyseinen turvallisuusvaatimus voidaan toteuttaa käyttöjärjestelmässä? (4) Anna konkreettinen Linux tai Windows toteutusesimerkki. Anna vastauksesi vain viiteen (5) kohtaan allaolevista. Jos vastaat useampaan kuin viiteen kohtaan, niin vain huonoimmat viisi vastausta arvostellaan.
    1. [3 p] Suojattu pääsy muistissa olevaan tietoon (controlled access to data in memory)
    2. [3 p] Kontrolloitu järjestelmän käyttö (secure use of the system)
    3. [3 p] Suojattu tiedon siirto järjestelmien välillä (secure data transter between systems)
    4. [3 p] Suojattu tiedostojen käyttö (secure file usage)
    5. [3 p] Luottamuksellisuus (data confidentiality)
    6. [3 p] Tiedon eheys (data integrity)
    7. [3 p] Tiedon saatavuus järjestelmässä (data availability)
    8. [3 p] Käyttäjän oikeaksi todentaminen (user authenticity)