[12 p] I/O:n toteutus järjestelmässä.
Oletetaan, että käyttäjätason ohjelma MyProg haluaa lukea
levytiedoston MyFile 50 ensimmäistä merkkiä
ohjelmassa MyProg määriteltyyn (globaaliin) taulukkoon MyChars.
Oletetaan, että lukeminen tapahtuu kirjastorutiinin
ReadFile(MyFile, 50, MyChars) avulla.
Voit olettaa, että ReadFile:stä ei palata, ennen kuin kyseiset
50 merkkiä on luettu taulukkoon MyChars.
Voit myös (epärealistisesti) olettaa, että tiedosto MyFile on
auki ja suoraan käytettävissä ReadFile rutiinin kautta.
- [4 p]
Mitkä prosessit ja/tai laitteet osallistuvat tämän I/O:n toteuttamiseen?
Kerro kunkin prosessin/laitteen kohdalla lyhyesti,
mikä on sen tehtävä tämän I/O:n toteuttamisessa.
- [8 p]
Kuvaile tapahtumasarjana, mitä kaikkea järjestelmässä tapahtuu prosessien
tasolla ReadFile:n kutsuhetkestä ReadFile:stä paluuseen.
Kuvaile erityisesti, mikä prosessi/laite on kulloinkin suorituksessa.
Kuvaile myöskin kaikki ne tapahtumat,
joiden seurauksena jonkin prosessin
tila (odottava, odottaa suoritusta, suorittaa) vaihtuu.
Kerro myöskin, mitä tapahtumaa kukin odottava prosessi/laite on
kulloinkin odottamassa.
Tee itse (realistiset) oletukset puuttuvista tiedoista ja kirjaa ne näkyviin.
Tekemäsi oletukset vaikuttavat vastauksen arvosteluun.