a) Tietokoneen toiminta, laskuharj. 6

Tietokoneen toiminta syksy -99

Laskuharjoitus 6 (29.11.-3.12.)

1. Vastaa seuraaviin kysymyksiin
a) Mihin uudelleensijoistushakemistoa tarvitaan? Mitä sinne talletetaan?
b) Ajatellaan prosessimallia ja sen tiloja.

c) Missä sijaitsee osoitemuunnospuskuri TLB (Translation Lookaside Buffer)? Mitä tietoa on talletettuna TLB:n alkioon?
d) Selitä, milloin ja kuinka osoitemuunnospuskuria käytetään. Mitä hyötyä on siitä, että laitteistossa on TLB? Voisiko virtuaalimuisti toimia ilman TLB:tä? Voisiko TLB:stä olla haittaa?
e) Mitä hyötyä olisi siitä, että TLB:n alkiossa olisi prosessin numero (PID) validibitin sijasta ja MMU:ssa lisärekisteri PidR suorituksessa olevan prosessin numeron säilyttämiseksi?

2. Käännä seuraava rekursiivinen aliohjelma konekielelle:

         static long Duo(int n) {
            if n < 1 then return 1 else
            return Duo(n-1)+n+1;
         }
Kirjoita myös yksinkertainen pääohjelma, jossa kutsutaan metodia Duo.

3. Laadi symbolisella konekielellä ohjelma, joka koostuu pääohjelmasta ja funktiosta KArvo. Funktio KArvo saa parametrikseen taulukon ensimmäisen muistipaikan osoitteen ja peräkkäisiin muistipaikkoihin tallennetun taulukon koon. Se palauttaa kutsujalle taulukon lukujen keskiarvon. Pääohjelmassa varataan tilaa taulukolle 100 muistipaikkaa, luetaan näppäimistöltä taulukon koko (jonka pitää olla pienempi kuin 100), ja tämän jälkeen luetaan näppäimistöltä taulukon alkiot. Lopuksi tulostetaan lukujen keskiarvo (funktion KArvo avulla laskettuna).

4. Selitä yksityiskohtaisesti, kuinka prosessori ja käyttöjärjestelmä toimivat, kun suorituksessa olevan prosessin aikaviipale täyttyy. Selostuksestasi tulee siis käydä ilmi vastaukset ainakin seuraaviin kysymyksiin:

5. Anna esimerkkejä tilanteista, jolloin on järkevää, että keskeytyksen käsittelyn jälkeen jatketaan eri käyttäjäprosessia (user process) kuin mikä oli suoritusvuorossa keskeytyksen tapahtuessa. Anna myös esimerkkejä tilanteista, jolloin keskeytyksen jälkeen on järkevää jatkaa saman prosessin suoritusta.

6. Laajenna monisteen kolmas semaforiesimerkki (s. 117) tilanteeseen, jossa prosesseja on kolme, eikä mikään niistä saa edetä ennenkuin muut ovat ehtineet tiettyyn kohtaan.