Yliopiston etusivulle Suomeksi På svenska In English
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Laskuharjoitus                                          [In English Page in English]

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

Nämä tehtävät käsitellään harjoituksissa viikolla 12, 20-24.3.2006

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 [Stal05] (teht. 1.8 [Stal01]) (Siis "Problem", ei "Review Question")
       
  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ä 1.13 [Stal05] (teht. 2.3 [Stal01])
    2. Miten tilanne muuttuu, jos mukaan laskuihin otetaan virtuaalimuistin osoitteenmuutos ja TLB.
      Otaksutaan, että osoitteenmuutos tehdään kirjan kuvan 8.8 [Stal05] (Fig. 8.8 [Stal01]) 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.3 [Stal05] (teht. 2.4 [Stal01]) oppikirjasta (vastaukset karkealla tasolla)
    2. Entä miten realiaikajärjestelmän optimoinnissa skedulointipolitiikat eroavat osituskäyttö- ja eräajosysteemien skedulointipolitiikoista?
         
  5. W2K
    1. Mitä hyötyä/haittaa on Windows 2000 järjestelmän HAL-kerroksesta (Fig. 2.13 [Stal05] tai Fig. 2.13 [Stal01])?
    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 07.03.2006 10:29