Käyttöjärjestelmät, erilliskoe 15.11.2013

Kirjoita jokaiseen vastauspaperiisi kurssin nimi, pvm, oma nimi, nimikirjoitus ja opiskelijanumero.
Kuhunkin tehtävään riittää 1-2 sivun vastaus.

  1. [9 p] Samanaikaisuuden tyyppiongelmat
    1. [3 p] Mikä on semafori? Miten kriittisen vaiheen ongelma ratkaistaan semaforien avulla? Miten synkronointiongelma ratkaistaan semaforin avulla?
    2. [3 p] Mikä on monitori? Miten kriittisen vaiheen ongelma ratkaistaan monitorin avulla? Miten synkronointiongelma ratkaistaan monitorin avulla?
    3. [3 p] Mikä on Tuottajat/kuluttajat ongelma? Miten ongelman ratkaisuun vaikuttaa "äärettömän iso puskuri"? Minkälaisessa tilanteessa ratkaisu voisi perustua "äärettömän" suureen puskuriin, vaikka käytännössä puskurin koko onkin aina äärellinen?
       
  2. [9 p] Virtuaalimuisti
    1. [3 p] Miten sivuttavan virtuaalimuistin osoitteenmuunnos toimii? Anna esimerkki 32-bittiselle tavusoitteelle 0x12345678, kun sivun koko on 4 KB.
    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.
    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.
     
  3. [9 p] Tosiaikavuoronanto (real-time scheduling).
    1. [1 p] Miten tosiaikavuoronannon tavoitteet eroavat normaalin vuoronannon tavoitteista?
    2. [3 p] Miten takarajavuoronanto (deadline scheduling) toimii pääpiirteissään?
      Mitä hyvää/huonoa takarajavuoronannossa on?
    3. [3 p] Miten RMS (Rate Monotonic Scheduling) toimii pääpiirteissään?
      Minkä erityisen tosiaikajärjestelmien vuoronantoon liittyvän ongelman se ratkaisee ja kuinka?
    4. [2 p] Mikä on prioriteetin kääntymisongelma (priority inversion) ja kuinka se voidaan ratkaista?
       
  4. [9 p] Levyjen vuoronanto (disk scheduling)
    1. [1 p] Minkä ongelman levyjen vuoronanto ratkaisee? Millä kriteerillä eri vuoronantopolitiikkoja arvioidaan?
    2. [2 p] Miten SSTF (shortest service time first) toimii? Mikä siinä on hyvää/huonoa?
    3. [2 p] Miten hissialgoritmi (elevator, SCAN) toimii? Mikä siinä on hyvää/huonoa?
    4. [2 p] Miten N-Step-SCAN algoritmi toimii? Miten se eroaa hissialgoritmista?
    5. [2 p] Voiko levyjen vuoronantopolitiikkoja (esim. FIFO, PRI, SSTF, SCAN) soveltaa myös SSD-levyihin (Solid State Disk)? Perustele vastauksesi.