81180 Käyttöjärjestelmät Tentti 14.2.2000

Sulkeissa olevat numerot tehtävien jäljessä kertovat tehtävästä saatavan maksimipistemäärän.
  1. Selitä todella lyhyesti seuraavat termit:
    1. Sivu (page) (1)
    2. Sivutila (page frame) (1)
    3. Läsnäolokeskeytys (page fault) (1)
    4. Poistoalgoritmi (page replacemant algorithm) (1)
    5. Ruuhkautuminen (thrashing) (1)
    6. Pirstoutuminen (fragmentation) (1)
  2. Prosessin luominen ja päättäminen. Kuvaa myös tarvittavat käyttöjärjestelmäkutsut. (6)
  3. Monitori. Mikä se on, miksi sitä tarvitaan ja miten sen voi toteuttaa semaforeilla? (6p)
  4. Avaat tiedoston kutsulla fd=open("data"). Tämän jälkeen teet kutsun lseek(fd, paikka, SEEK_SET), jolla siirrät lukupisteen haluttuun paikkaan. Tämän jälkeen kutsut vielä lukupyyntöä read(fd, puskuri, kpl). Mitä (Unixtyyppisen) käyttöjärjestelmän tietorakenteita kukin kutsu käyttää/muuttaa? (Esimerkiksi: miten fd kertoo sen, mitä tiedostoa käsitellään?) Voit olettaa, että kaikki kutsut onnistuvat. (6)