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

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.

  1. [9 p] Lukkiutuminen
    1. [2 p] Mikä on lukkiutumisongelma? Anna konkreettinen esimerkki.
    2. [2 p] Miten Dijkstran kehittämä lukkiutumisen havaitsemisalgoritmi (DDA) toimii pääpiirteissään? Mitä tietoja se tarvitsee? Milloin se ajetaan?
    3. [2 p] Oletetaan, että lukkiutuminen on mahdollista järjestelmässäsi ja että olet varautunut siihen etukäteen. Oletetaan myös, että lukkiutumisen olemassaolo on havaittu DDA:lla. Miten nyt toimitaan? Anna ainakin 2 eri vaihtoehtoa.
    4. [3 p] Miten lukkiutumisen estäminen ennakolta tapahtuu Pankkiirin algoritmin avulla? Mitä tietoja se tarvitsee? Kuinka algoritmi toimii pääpiirteissään? Kuinka se toimisi kohdan (a) esimerkissäsi?

  2. [9 p] Vuoronanto
    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?

  3. [9 p] Tiedostojärjestelmä
    1. [5 p] Mikä on indeksoitu sarjallinen tiedosto ja miten toimii? Mitkä ovat sen edut ja haitat? Milloin sitä olisi hyvä käyttää? Milloin ja miksi indeksointi kannattaisi toteuttaa B-puuna?
    2. [4 p] Selitä käsitteet pääsymatriisi, pääsylista ja valtakirjalista, ja kuinka ne liittyvät toisiinsa. Mikä ongelma ratkaistaan niiden avulla? Anna Unix tai Linux tiedostojärjestelmään liittyvä esimerkki.
     
  4. [9 p] Muistinhallinta
    1. [3 p] Mikä on muistinhallintaan liittyvä Buddy-systeemi? Minkä ongelman se ratkaisee ja kuinka se sen tekee? Mitä hyviä/huonoja ominaisuuksia sillä on?
    2. [3 p] Mikä on sivuttava virtuaalimuisti ja minkä ongelman se ratkaisee? Miksi sen toteutuksessa tarvitaan laitteistotukea ja miten tämä laitteistotuki toimii? Kuinka sivuttava virtuaalimuisti toimii? Anna esimerkki.
    3. [3 p] Mikä on sivuttavaan virtuaalimuistiin liittyvä kello-algoritmi, minkä ongelman se ratkaisee ja miten se toimii. Anna esimerkki.