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

Olethan palauttanut harjoitustyön!
Jos olet korottamassa tenttiarvosanaa, merkitse tieto siitä paperiin.

  1. Monitorit ja semaforit ovat "sukulaisia".
    1. Toteuta monitori semaforeilla. (3p)
    2. Toteuta semafori monitorilla. (3p)
  2. Vastaa seuraaviin kohtiin.
    1. Poissulkemisongelma ratkaistaan toisinaan estämällä keskeytykset. Mitä varjopuolia tähän menetelmään liittyy? (3p)
    2. Seuraavassa on kaksi rutiinistoa, jotka on tarkoitettu poissulkemisen toteuttamiseen. Kumpi toimii vai toimiiko kumpikaan? Perustele. Tehtävässä R-alkuiset muuttujat viittaavat tietokoneen rekisterihin ja jokainen rivi kuvautuu yhdeksi konekäskyksi prosessorille. Jokainen lukitusta haluava ohjelma kutsuu LOCK-rutiinia ja avaamista haluava vastaavasti rutiinia UNLOCK. (3p)
      Toteutus 1:
      LOCK_BIT: integer := 0;  -- alustusarvo 0
      UNLOCK:
      	R1 := 0;
      	LOCK_BIT := R1;
      	return;
      LOCK:	R1 := 1;
      L:	R1 := LOCK_BIT; LOCK_BIT := R1
      -- eli vaihdettiin yhdellä käskyllä R1:n ja LOCK_BITin
      -- sisällöt keskenään
      	if R1 > 0 then goto L; end if;
      	return;
      
      Toteutus 2:
      (UNLOCK() on sama kuin kohdassa 1)
      LOCK_BIT: integer := 0;  -- alustusarvo 0
      LOCK:	R1 := LOCK_BIT;
      	if R1 > 0 then goto LOCK; end if;
      	R1 := 1;
      	LOCK_BIT := R1;
      	return;
      
  3. Selitä lyhyesti seuraavien termien merkitys:
    1. ulkoinen keskeytys (1p).
    2. ympäristön tallennus (1p).
    3. irrottava skedulointi (1p).
    4. etuoikeutettu moodi (1p).
    5. prosessitaulu (1p).
    6. heittovaihto (1p).
  4. Muistinhallinta on toteutettu DWS-menetelmällä. Esittele menetelmän perusidea ja arvioi sen toteuttamiskelpoisuutta käytännössä. Mitä ominaisuuksia laitteistolla pitää olla, jotta DWS olisi helppo toteuttaa? Täydennä allaoleva ruudukko siten, että se sivu, johon on viimeksi viitattu, on ylimmällä rivillä (tuorein sivu). Ikkunan koko on 4. Alimmalle riville merkitse läsnäolokeskeyksen tullessa tähti. Alkutilanteessa kaikki sivut ovat tyhjiä. Laske myös tämän viittaussarjan muisti-integraalin arvo, kun viittaukseen menevä suhteellinen aika on 1 ja läsnäolokeskeytyksen käsittelyyn menevä aika on 100 (huomaa, että todellisuudessa suhde ei ole likimainkaan tuo, vaan tässä yksi viittaus vastaa kymmeniätuhansia viittauksia).
    Viitattu sivu:1231 4341441 647545
    "Tuorein" sivu                     
    2. tuorein                     
    3. tuorein                     
    4. tuorein                     
    läsnäolokesk.                     
Tarkista, että vastasit kaikkeen mitä kysyttiin!