Käyttöjärjestelmät (8 op), erilliskoe 14.8.2015
Other side in English
Kirjoita jokaiseen vastauspaperiisi
kurssin nimi, pvm, oma nimi, nimikirjoitus ja opiskelijanumero.
Kuhunkin tehtävään riittää 1 sivun vastaus.
Tämä koe on tavallinen erilliskoe, sen koealue on koko kurssi ja arvosana määräytyy ainoastaan kokeen perusteella.
- [6 p] Kriittinen vaihe (alue)
- [3 p] Anna pseudokoodiesimerkki tilanteesta, jossa kriittinen alue koostuu kahdesta erillisestä koodisegmentistä. Anna esimerkkiisi liittyvä monisäikeinen skenaario, jossa lopputulos on virheellinen sen vuoksi, että kriittistä aluetta ei ole suojattu oikein.
- [3 p] Näytä (pseudokooditasolla), kuinka edellä mainittu kriittinen alue suojataan semaforeilla. Muista määritellä käyttämäsi semaforit ja niiden alkuarvot. Selitä, miksi edellisen kohdan virheellinen skenaario ei nyt voi tapahtua.
- [6 p] Tuottaja-kuluttaja ongelma
- [3 p] Selitä, mikä on tuottaja-kuluttaja ongelma ja mitä erityisiä synkronointi- ja kommunikointiongelmia siihen sisältyy.
- [3 p] Anna monitoriin perustuva pseudokooditason ratkaisu tuottaja-kuluttaja ongelmaan. Muista määritellä kaikki ehtomuuttujat ja muut monitorin tietorakenteet.
Jos et osaa antaa monitoriratkaisua, niin mainitse asiasta ja anna semaforiratkaisu (max 2p).
- [6 p] Virtuaalimuisti
- [3 p] Miten yksitasoisen sivuttavan virtuaalimuistin osoitteenmuunnos tapahtuu laitteisto- ja ohjelmistotasolla? Kuinka kauan osoitteenmuunnos kestää eri tapauksissa?
- [3 p] Mitä muistinhallinnan (käyttöjärjestelmän) komponentteja (sivuttavaan) virtuaalimuistiin liittyy ja minkä ongelman kukin komponentti ratkaisee?
- [6 p] Tosiaikajärjestelmän suorittimen vuoronanto (skedulointi)
- [3 p] Miten tosiaikajärjestelmän vuoronanto eroaa tavallisen järjestelmän vuoroannosta?
Miksi FIFO (FCFS) tai aikaviipalevuorottelu (Round-Robin) eivät ole yleensä sovi tosiaikajärjestelmien vuoronantoon?
- [3 p] Tosiaikajärjestelmän tulee pystyä samanaikaisesti käsittelemään (i) kaksi (ääni-) puhelua ja (ii) yhden videon lähettämisen. Äänipuhelut tarvitsevat kumpikin 5 ms välein 1 ms CPU aikaa. Videossa on 25 kehystä/s ja kukin kehys tarvitsee 15 ms CPU aikaa. Nämä kolme prosessia ovat skeduloitavissa RMS:llä (rate monotonic scheduling).
Selitä, miksi prosessit ovat skeduloitavissa RMS:llä ja minkälainen vuoronanto siitä seuraa.
- [6 p] Tiedostojen hallinta
- [4 p] Mikä on indeksoitu tiedosto (IF) ja kuinka se eroaa indeksoidusta sarjallisesta tiedostosta (ISF)? Milloinka sitä (IF) kannattaa käyttää? Missä tapauksessa IF:n käyttö on hitaampaa kuin ISF:n käyttö? Kuinka monta indeksiä IF:ssä tarvitaan ja kuinka suuria ne ovat?
- [2 p] Miksi indeksi kannattaa usein toteuttaa B-puuna? Mitä etua B-puu toteutuksella on verrattuna tavalliseen (monitasoiseen) indeksiin?
- [6 p] Järjestelmän tietoturva. Prosessi P haluaa lukea tiedostoa FileX.
- [2 p] Miten järjestelmässä määritellään, kuka saa lukea FileX:ää?
Miten FileX:n käyttöoikeuksien hallinta on toteutettu käyttöjärjestelmän tietorakenteissa?
- [2 p] Miten P saa oikeudet FileX:n lukemiseen? Kuka ne antaa ja milloin?
Milloin P lukuoikeus FileX:ään tarkistetaan?
- [2 p] Miten sormenjälkien tunnistaminen ja salasanojen suolaus liittyy siihen, että prosessi P haluaa lukea tiedostoa FileX?