Tehtävä 4 Tiedot avoinna olevasta tiedostosta ovat sen avanneen prosessin kuvaajassa. Sinne on talletettu ainakin mikä tiedosto on kyseessä (tiedostopolku), UNIX:issa sen i-solmun osoite levyllä, onko tiedosto auki luku- vai kirjoitusoikeuksilla ja luku-/kirjoituspositio tiedostossa. Kaikki muu tarpeellinen tieto tiedostosta löytyy i-solmun tai vastaavan rakenteista. (2 p.) -Prosessi laittaa pinoon parametrit (mistä luetaan l. tiedostokahva, miten paljon luetaan l. tavumäärä ja mihin luetaan l. muistiosoite). -Prosessi kutsuu KJ:n READ-rutiinia. Tämä aiheuttaa keskeytyksen ja kontrolli siirtyy KJ:lle. -Rutiini lukee pinosta sinne laitetut parametrit, ja välittää ne tiedostojärjestelmälle. -Tiedostojärjestelmä katsoo prosessikuvaajan kautta löytyvistä tiedoston rakenteista missä loogisessa lohko(i)ssa luettava tieto sijaitsee. Tämän se laskee kuvaajasta löytyvän ko. tiedoston luku-/kirjoitusposition ja siirrettävän tietomäärän perusteella. -Tiedostojärjestelmä antaa ko. taltion ajurille pyynnön siirtää ko. lohkoista tieto annetulle muistialueelle. -Laiteajuri muuntaa loogisen lohko-osoitteen fyysiseksi osoitteeksi laitteella. -Laiteajuri välittää DMA-ohjaimelle tiedon fyysisestä osoitteesta, muistialueesta, siirrettävän tiedon määrästä ja siitä että luetaan tietoa. -KJ on hoitanut toistaiseksi työnsä, joten se siirtää kutsun tehneen prosessin blocked-jonoon, ja ottaa suoritukseen toisen käyttäjäprosessin. -DMA-ohjain suorittaa siirron laitteen ja keskusmuistin välillä. Siirron valmistuttua se aikaansaa keskeytyksen. -KJ (ajuri) tarkistaa siirron onnistumisen, JOS käytössä olisi puskurointi, kopioisi siirretyn tiedon prosessorin muistialueelle ja siirtää prosessin takaisin READY-jonoon. (n. 1 p. / kohta)