Käyttöjärjestelmät II, K2005, LH 2
Nämä tehtävät käsitellään harjoituksissa viikolla 14, 5-7.4.2005
- Prosessit
- Tehtävä 3.1 kirjasta [Stal05, s. 150] [Stal01, s. 149] (Siis "Problem", ei "Review Question")
- Tehtävä 3.5 kirjasta.
- Anna esimerkki sovelluksesta, jossa olisi järkevintä toteuttaa
ongelman ratkaisu saman tyyppisillä prosesseilla kuin
- prosessi 1 kuvassa 4.15 [Stal05, s. 189] [Stal01, s. 185]
(eli kussakin prosessissa on ULT, joka suorittaa omassa LWP:ssa) - prosessi 3 kuvassa 4.15
- prosessi 4 kuvassa 4.15
- prosessi 1 kuvassa 4.15 [Stal05, s. 189] [Stal01, s. 185]
- Säikeet
- Tehtävä 4.4 kirjasta [Stal05, s. 199] [Stal01, s. 195]
- Tehtävä 4.5 kirjasta [Stal05, s. 200] [Stal01, s. 195]
- Anna synkronointiesimerkki, jossa käytetään Solariksen
säikeiden
sema_tryp() primitiiviä, ja jossa vastaava ratkaisu sema_p() primitiivillä ei
onnistuisi. Perustele ratkaisusi.
- [2 htp] Tarkastellaan Linuxin ytimen (kernel) synkronointiprimitiivejä (Ch 6.8 [Stal05]).
- 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?
- 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?
- 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?
- 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. - Anna esimerkki tilanteesta, jossa voisi käyttää jotakin Barrier-operaatiota. Perustele esimerkkisi.
- Tehtävä 6.20 kirjasta [Stal05, s. 299]:
Teemu Kerola 04.04.2005 9:19