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

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimi, opiskelijanumero (tai henkilötunnus),
kurssin nimi, nimikirjoitus ja sivunumero.
  1. [15 p] Prosessit ja säikeet. Tarkastellaan Solariksen prosesseja ja säikeitä (ks. Fig. 4.15 kääntöpuolella). Tarkastellaan kolmea sovellusta: U, M ja K. Kaikissa on 8-säiettä. Sovellus U on kyseisen kuvan tyyppiä 2, sovellus M tyyppiä 3 (3:llä L-säikeellä) ja sovellus K tyyppiä 4 (8:lla L-säikeellä). Oletetaan, että järjestelmässä on 4 suoritinta. Vertailussa oletetaan, että systeemissä on vain yksi kyseisistä sovelluksista suorituksessa yhdellä kertaa.
    1. [3 p] Montako säiettä voi kussakin tapauksessa (sovellukset U, M ja K) voi konekäskytasolla olla samanaikaisesti suorituksessa?
    2. [3 p] Jos säie joutuu odotustilaan I/O:n takia, niin joutuuko sovellus (U, M ja K) odotustilaan vai ei?
    3. [3 p] Anna esimerkki sovelluksesta, joka olisi järkevintä toteuttaa saman tyyppisillä säikeillä kuin sovellus U, mutta ei sovellusten M tai K tyyppisillä säikeillä. Perustele. Erityisesti perustele, miksi ratkaisua ei olisi järkevää toteuttaa sovellusten M tai K tyyppisillä säikeillä.
    4. [3 p] Anna esimerkki sovelluksesta, joka olisi järkevintä toteuttaa saman tyyppisillä säikeillä kuin sovellus M, mutta ei sovellusten U tai K tyyppisillä säikeillä. Perustele. Erityisesti perustele, miksi ratkaisua ei olisi järkevää toteuttaa sovellusten U tai K tyyppisillä säikeillä.
    5. [3 p] Anna esimerkki sovelluksesta, joka olisi järkevintä toteuttaa saman tyyppisillä säikeillä kuin sovellus K, mutta ei sovellusten U tai M tyyppisillä säikeillä. Perustele. Erityisesti perustele, miksi ratkaisua ei olisi järkevää toteuttaa sovellusten U tai M tyyppisillä säikeillä.

  2. [15 p] Virtuaalimuistin Clock sivunpoistoalgoritmi, kun joka sivuun liittyy vain R-bitti (viitattu, referenced or accessed recently, use-bit), mutta 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] Moniprosessorijärjestelmän (SMP) vuoronanto
    1. [3 p] Anna sellainen esimerkki vuorottamisongelman ratkaisusta tavanomaiseen yhden CPU:n interaktiiviseen ympäristöön, mikä ei sovi SMP-moniprosessoriympäristöön.
    2. [3 p] Perustele, miksi kohdan (a) ratkaisu ei sovi moniprosessoriympäristöön.
    3. [3 p] Miten kuorman tasaava (load-sharing) vuoronanto toimii? Edut ja haitat?
    4. [3 p] Miten kimppavuorotus (gang scheduling) toimii? Edut ja haitat?
    5. [3 p] Miten dynaaminen vuoronanto (dynamic scheduling) toimii? Edut ja haitat?


  4. [15 p] RAID
    1. [3 p] RAID-4 (block-level parity) vs. RAID-5 (block-level distributed parity): levytilakustannukset, muut erot, edut, haitat,
    2. [3 p] Ohjelmisto-RAID (Software RAID): toteutus, edut, haitat (vs. Hardware RAID)
    3. [3 p] Minkälainen RAID olisi paras ratkaisu suoritustehon kannalta? Miksi? Miten data kannattaisi tällöin organisoida suoritustehon maksimoimiseksi?
    4. [3 p] Minkälainen RAID tarvitaan, jos järjestelmän tulee toipua yhden levy-yksikön menettämisestä? Toteutus? Miten levyn rikkoutumisesta käytännössä toivutaan? Tuleeko palveluun katko ja kauanko se kestää?
    5. [3 p] Minkälainen RAID tarvitaan, jos järjestelmän tulee toipua kahden levy-yksikön menettämisestä? Toteutus? Miten levyn rikkoutumisesta käytännössä toivutaan? Tuleeko palveluun katko ja kauanko se kestää?