Rinnakkaisohjelmistot, Harjoitus 1 (syksy 2004) |
1.-5.11.2004
Opiskeltava alue: Andrews: luku 1 The Concurrent Computing Landscape.
Näiden harjoitustehtävien tarkoituksena on luoda yleiskatsaus kurssin ongelmakenttään -- prosesseihin ja niiden väliseen vuorovaikutukseen. Tavoitteena on myös itse oppia havaitsemaan prosessien kommunikointitarpeet sekä käyttämään kursilla esitettyä notaatiota algoritmien toiminnan kuvaamiseen.1 - KURSSIN PERUSTERMEJÄ
Selvitä lyhyesti ao. termeihin liittyvät oleelliset asiat (mitä tarkoittaa? erot? tarve? yms.)
2 - KAKSI PROSESSIA/SÄIETTÄ KJ:N NÄKÖKULMASTA
Tietoliikenneverkon
reititinkoneen tehtävä on vastaanottaa sille eri reittejä
pitkin saapuvat sanomapaketit, tutkia pakettien osoitetiedot ja
lähettää paketit edelleen osoitteen perusteella eri
reittejä pitkin kohti määränpäätä.
(Piirrä kuva!) Reitittimen yksi prosessi vastaanottaa saapuvat
paketit ja sijoittaa ne muistipuskuriin. Toinen prosessi lukee
paketit puskurista, tutkii otsikkotiedot ja lähettää
paketit edelleen jollekin linjalle. Kummankin prosessin algoritmi
olisi erittäin yksinkertainen, ellei toinenkin prosessi olisi
olemassa.
Mitä
ongelmia syntyy ratkottavaksi siitä, että prosessit
käyttävät yhteistä puskuria? Tee
lukijaprosessille ja kirjoittajaprosessille toiminnalliset
vaatimusmäärittelyt. Ts. määrittele kuka saa
tehdä mitä ja milloin sekä kuka ei saa tehdä mitä
ja milloin?
4 -TUOTTAJA JA KULUTTAJA JA USEAN ALKION RAJALLINEN PUSKURI
Tuottajan ja kuluttajan välissä on puskuri, jonka koko on N alkiota ja jota täytetään ja käytetään FIFO-jonona.
5 – OPISKELIJAT RUOKALASSA
Opiskelijat tulevat ruokalaan, jonottavat vuoroaan ja kertovat ruuan annostelijalle haluamansa ruokalajin. Saatuaan ruokalautasensa opiskelija valitsee vielä juoman ja ottaa itselleen ruokailuvälineet. Voidakseen syödä lautasellaan olevan ruuan opiskelija tarvitsee sekä haarukan että veitsen. Kun opiskelija on syönyt, hän vie pois likaiset astiat ja poistuu ruokalasta.L A S K A R I O H J E I T A
Harjoituksista voit saada kaikkiaan 9 pistettä.
Kaikkiaan tehtäviä on noin 30 kappaletta ja
pisteitä tehdyistä tehtävistä saa seuraavasti:
merkattuja tehtäviä pisteitä 3 1 6 2 9 3 12 4 15 5 18 6 21 7 24 8 27 9
Tehtävät tehdään etukäteen ja ne käsitellään yhdessä harjoituksissa. Mitä perusteellisemmin olet valmistautunut harjoituksiin tehtäviä tekemällä ja kirjaa lukemalla, sitä hyödyllisempiä harjoitustilaisuudet ovat. Harjoituksissa voit myös kysyä itsellesi epäselviksi jääneitä kohtia.
Harjoituksia kannattaa, mikäli mitenkään vain mahdollista, tehdä yhdessä toisten kurssilaisten kanssa.
Kaksi päätä on parempi kuin yksi. |
[an error occurred while processing this directive]