

Rinnakkaisohjelmointi, S2007, LH 5
Nämä tehtävät käsitellään harjoituksissa viikolla 48, 26-31.11.2007.- Tehtävä 6.6 oppikirjasta.
- Tarkastellaan kirjan algoritmia 6.21 (s. 144). Huomaa typo algoritmissa.
- Osoita, että lukijoilla on etusija kirjoittajiin nähden.
- Toimiiko algoritmi, jos kaikki kolme semaforia toteutettaisiin busy-wait -semaforeina tavanomaisten suspend-wait -semaforien asemesta? Missä tilanteissa busy-wait -semaforeja tulisi/ei tulisi käyttää suspend-wait -semaforien asemesta?
- Muokkaa algoritmia siten, että kirjoittajilla on etusija lukijoihin nähden. Miksi näin tehtäisiin?
- Muokkaa algoritmia siten, että lukijat ja kirjoittajat ovat samanarvoisessa asemassa. Miksi näin tehtäisiin?
- Tee laskuharjoitusten 4 tehtävä 1 (PlusMinus BACI ohjelma) uudelleen siten, että prosessien synkronointiin käytetään monitoria.
- Tarkastellaan kirjan algoritmia 7.3 (s. 152). Huomaa typo algoritmissa.
- Mitä merkittäviä eroja algoritmilla 7.3 on luennolla esitetystä usean tuottaja/kuluttajan semaforipohjaisesta ratkaisusta (luento 6, kalvo 16; Andrews, Fig 4.5)? Kumpi on parempi/huonompi ja miksi?
- Mikä tarkoittaa käsite monitorin signalointisemantiikka?
- Algoritmi 7.3 perustuu IRR signalointisemantiikan. Anna skenaario, jossa algoritmi toimii väärin, jos signalointisemantiikkana olisi E=S=W.
- Kuinka algoritmia 7.3 tulee muuttaa, jos monitorin signalointisemantiikkana on E=S=W?
- Tee laskuharjoitusten 4 tehtävään 4 (kapea silta) semaforiratkaisu, jossa autot odottavat vuoroaan yksityisissä semaforeissa.
- Tee laskuharjoitusten 4 tehtävään 4 (kapea silta) monitoriin perustuva ratkaisu.
Teemu Kerola 16.11.2007 12:43