Tietokoneen toiminta kevät 2005

Laskuharjoitus 6 (maanantaina 13.6.2005.)

  1. Levyoperaatioista
    Levykössä on 5 kaksipintaista levyä ja siinä on yksi luku/kirjoituspää jokaiselle levypinnalle. Pyörimisnopeus on 7200 rpm. Kullakin pinnalla on 2000 uraa, joka urassa 20 sektoria ja yhdelle sektorille mahtuu 512 tavua. Hakuvarren siirtoaika on keskimäärin 5 ms.
    1. Miten suuri on levyn pyörähdysviive?
    2. Montako sylinteriä levykössä on ja montako uraa yhdessä sylinterissä?
    3. Kuinka monta tavua levylle voidaan tallettaa?
    4. Kauanko kestää keskimäärin yhden sektorin lukeminen?

  2. Suorituksessa oleva prosessi haluaa lukea levyllä olevasta tiedostostaan Mydata
    1. Miten kontrolli siirtyy käyttöjärjestelmälle?
    2. Mitä prosessille tapahtuu?
    3. Mitä tekee KJ:n laiteriippumaton osa?
    4. Mitä tekee laiteajuri?
    5. Mitä tekee laiteohjain?
    6. Milloin prosessi pääsee uudelleen suoritukseen?

  3. Linkitystä
    Häkkisen monisteen sivulla 92 ja luvun 11 luentokalvoissa käsitellään esimerkkinä kolmen erikseen käännetyn objektimoduulin linkittämistä yhdeksi ajomoduuliksi. Oletetaan, että moduulit linkitetään järjestyksessä A, B ja C. Mitkä arvot tällöin saavat ne moduulien A, B ja C viittaukset, jotka uudelleensijoituksen takia joudutaan korjaamaan?

  4. Mitä ohjelma mystery.k91 tekee? Miten se tekee sen? Entä ohjelmaa mystery2.k91? Miten se tekee sen? Mihin tällaista ohjelmointitapaa voisi hyödyntää? Mitä ongelmia tällaisessa ohjelmointitavassa on?

  5. Kertausta ohjelman suorittamisesta (kokeessa usein kysyttyä)
    1. Kuvaa prosessorin rekistereiden tasolla, miten tehdään käskynouto.
    2. Esitä prosessorien rekisterien tasolla, miten suoritetaan erään ohjelmafragmentin käskyt:
                 LOAD R2, =100
                 COMP R2, @10(R2)
                 JNLES away
                  ....
            away  .... 
      
    3. Jos muistipaikkoihin 100-300 on talletettu ko. muistipaikan osoite eli paikassa 100 on luku 100, paikassa 101 luku 101 jne, niin hypätäänkö ohjelmassa osoitteeseen away vai ei?

  6. Kertausta aliohjelmista
    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).
    Esitä miten, aktivointitietueen sisältö muuttuu aliohjelmaa kutsuttaessa, aliohjelmaa suoritettaessa ja aliohjelmasta palattaessa.