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, K2005, LH 2

Nämä tehtävät käsitellään harjoituksissa viikolla 14, 5-7.4.2005

  1. Prosessit
    1. Tehtävä 3.1 kirjasta [Stal05, s. 150] [Stal01, s. 149] (Siis "Problem", ei "Review Question")
    2. Tehtävä 3.5 kirjasta.
       
  2. Anna esimerkki sovelluksesta, jossa olisi järkevintä toteuttaa ongelman ratkaisu saman tyyppisillä prosesseilla kuin
    1. prosessi 1 kuvassa 4.15 [Stal05, s. 189] [Stal01, s. 185]
      (eli kussakin prosessissa on ULT, joka suorittaa omassa LWP:ssa)
    2. prosessi 3 kuvassa 4.15
    3. prosessi 4 kuvassa 4.15
       
  3. Säikeet
    1. Tehtävä 4.4 kirjasta [Stal05, s. 199] [Stal01, s. 195]
    2. Tehtävä 4.5 kirjasta [Stal05, s. 200] [Stal01, s. 195]
       
  4. Anna synkronointiesimerkki, jossa käytetään Solariksen säikeiden sema_tryp() primitiiviä, ja jossa vastaava ratkaisu sema_p() primitiivillä ei onnistuisi. Perustele ratkaisusi.
     
  5. [2 htp] Tarkastellaan Linuxin ytimen (kernel) synkronointiprimitiivejä (Ch 6.8 [Stal05]).
    1. Tehtävä 6.20 kirjasta [Stal05, s. 299]:
      Consider the following fragment of code on a Linux system.

        read_lock (&mr_rwlock);
        write_lock (&mr_rwlock);

      Where mr_rwlock is a reader-writer lock. What is the effect of this code?

    2. Anna esimerkki tilanteesta, jossa spinlock-operaation voi kääntää koodiksi, jossa ei ole busy-wait -tyyppistä odotusta. Miksi näin voi tässä tapauksessa tehdä? Mitä hyötyä tällä saavutetaan?
    3. Anna esimerkki tilanteesta, jossa spinlock-operaation täytyy kääntää koodiksi, jossa on busy-wait -tyyppistä odotusta. Miksi näin täytyy tässä tapauksessa tehdä? Mitä hyötyä tällä saavutetaan?
    4. Mikä ero on Reader-Writer Spinlock -operaatiolla verrattuna Reader-Writer Semaphore -operaatioon?
      Anna esimerkki tilanteesta jossa tulisi käyttää Reader-Writer Spinlock -operaatiota, mutta ei tulisi käyttää Reader-Writer Semaphore -operaatiota.
    5. Anna esimerkki tilanteesta, jossa voisi käyttää jotakin Barrier-operaatiota. Perustele esimerkkisi.
       

Teemu Kerola 04.04.2005 9:19