Helsingin yliopisto - Tietojenkäsittelytieteen laitos
Laskuharjoitus                                          [In English Page in English] (näyttö layout) (tulostus layout) (kämmen layout)

Käyttöjärjestelmät II, K2004, LH 1

Nämä tehtävät käsitellään harjoituksissa viikolla 13, 22-26.3.2004

Kyseessä on siis ihan tavanomaiset laskuharjoitukset. Tehtävät tehdään etukäteen itsenäisesti (tai mieluummin pienen ryhmän kanssa yhdessä keskustellen) ja sitten ratkaisuja käsitellään laskuharjoitustilaisuudessa. Malliratkaisuja ei jaeta - selvitä asiat laskuharjoitustilaisuuksissa.

  1. Keskeytykset, I/O
    1. Mitä tapahtuu tilanteessa, jossa tapahtuu laitekeskeytys (I/O interrupt), mutta laitekeskeytykset on estetty? Miten tämä ongelma voitaisiin välttää? Miksi laitekeskeytykset haluttaisiin estää?
    2. Mitä haittaa olisi siitä, että suoritin ei tunnistaisi I/O-keskeytyksiä? Voisiko tällaisen suorittimen rakentaa ja minkälaiseen tarkoitukseen?
    3. Tehtävä 1.8 kirjasta [Stal01, s. 40]
       
  2. Samanaikaisuuden hallinta
    1. Mikä on tärkein ero synkronoinnin ratkaisemisella lukkomuuttujien ja semaforien avulla?
    2. Anna esimerkki tilanteesta, jossa synkronointi on järkevää hoitaa lukkomuuttujien avulla, mutta ei semaforien avulla.
    3. Anna esimerkki tilanteesta, jossa synkronointi on järkevää hoitaa semaforien avulla, mutta ei lukkomuuttujien avulla.
    4. Anna esimerkki tilanteesta, jossa synkronointia ei missään tapauksessa saa tehdä (i) lukkomuuttujien ja (ii) semaforien avulla.
    5. Mikä vaikutus lukkomuuttujien avulla tapahtuvaan synkronointiin on sillä, että järjestelmässä on monta suoritinta ja kullakin oma välimuisti? Onko tästä etua vai haittaa? Olisiko parempi sijoittaa lukkomuuttuja sellaiselle muistialueelle, jota ei talleteta välimuistiin? Miksi?
       
  3. Välimuisti ja TLB
    1. Tehtävä 2.3 kirjasta [Stal01, s. 102]
    2. Miten tilanne muuttuu, jos mukaan laskuihin otetaan virtuaalimuistin osoitteenmuutos ja TLB.
      Otaksutaan, että osoitteenmuutos tehdään kirjan kuvan 8.8 (Fig. 8.8) mukaisesti ennen tiedon hakua välimuistista. TLB:n osumasuhde on 99% ja sivutaulu löytyy tarvittaessa keskusmuistista 95% todennäköisyydellä. TLB:n nopeus on sama kuin välimuistin nopeus.
       
  4. Skedulointi
    1. Tehtävä 2.4 kirjasta (vastaukset karkealla tasolla)
    2. Entä miten realiaikajärjestelmän optimoinnissa skedulointipolittikat eroavat osituskäyttö- ja eräajosysteemien skedulointipolitiikoista?
         
  5. W2K
    1. Mitä hyötyä/haittaa on HAL-kerroksesta (Fig. 2.13)?
    2. Voiko W2K järjestelmässä olla samanaikaisesti suorituksessa Win32-, DOS-, POSIX-sovelluksia? Jos ei voi , niin miksi? Jos voi, niin voivatko ne toimia yhteistyössä ja miten? Anna esimerkki tilanteesta, jossa tästä olisi (i) hyötyä ja (ii) haittaa.
    3. MS-DOS ei tunne säikeitä, mutta W2K:ssa on kuitenkin säikeitä ja MS-DOS API (sovellusrajapinta). Aiheutuuko tästä jotain ongelmia? Anna esimerkki.
       

Teemu Kerola 10.03.2004 15:48