Tietokoneen toiminta, 2 ov
Kurssikuulustelu 12.5.2003  

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimi, opiskelijanumero (tai henkilötunnus),
  kurssin nimi, nimikirjoitus ja sivunumero.

 

  1. [11 p] Prosessi.
    1. [2 p] Mikä on prosessi tietokonejärjestelmässä?
    2. [3 p] Mikä on prosessin ilmenemismuoto järjestelmässä? Mitä tietoja järjestelmään on tallennettu prosessista?
    3. [2 p] Miten käyttöjärjestelmäprosessit eroavat käyttäjätason prosesseista?
    4. [2 p] Milloin ja miten käyttäjätason (user level) prosessi saa suoritusvuoron suorittimelle (processor)?
    5. [2 p] Milloin ja miten käyttöjärjestelmätason (system level) prosessi saa suoritusvuoron suorittimelle (processor)?

  2. [12 p] Konekäskyjen suoritus
    1. [2 p] Miten ttk-91 konekäsky  "ADD  R2, @ptrX(R1)" esitetään muistissa?
    2. [5 p] Miten suorittimella tapahtuu konekäskyä "ADD  R2, @ptrX(R1)" suoritettaessa käskyn suoritussyklin eri vaiheissa?
    3. [3 p] Mitä keskeytyksiä voi laitteistossa tapahtua konekäskyn "ADD  R2, @ptrX(R1)" suorituksen aikana?
    4. [2 p] Miten järjestelmä tietää, mistä seuraavaksi suoritettava konekäsky löytyy? Anna esimerkkinä tilanne, jossa viimeksi suoritetun konekäskyn aikana on tullut I/O-laitekeskeytys ja haluamme käsitellä sen seuraavaksi.


  3. [11 p] Java.
    1. [2 p] Miten Java-ohjelmien suoritus eroaa C-ohjelmien suorittamisesta?
    2. [2 p] Mikä on Java tavukoodi (Java bytecode)
    3. [3 p] Mikä on Java virtuaalikone (JVM, Java Virtual Machine)?
    4. [2 p] Miten JVM suhtautuu tavanomaisten pöytäkoneiden (esim. Intel Pentium) suorittimiin?
    5. [2 p] Mitä hyviä/huonoja puolia on Java suorittimella?


  4. [12 p] Kymmenalkioinen taulukko Taulu[0..9] ja muuttujat X ja I oletetaan määritellyksi pääohjelmatasolla. Toteuta seuraavien tehtävät TTK-91 koneen symbolisella konekielellä.
    1. [1 p] Tulosta taulukon Taulu alkion Taulu[6] arvo.
    2. [2 p] Tulosta taulukon Taulu alkion Taulu[I] osoite.
    3. [2 p] Sijoita muuttujan X arvo taulukon Taulu alkion Taulu[I] arvoksi.
    4. [3 p] Alusta taulukko Taulu aliohjelmaa Init(Arr, Dim) käyttäen. Parametri Arr on viiteparametri ja parametri Dim on arvoparametri. Arr on alustettava taulukko ja Dim on k.o. taulukon alkioiden lukumäärä.
    5. [4 p] Toteuta edellisessä kohdassa mainittu aliohjelma Init(Arr, Dim) siten, että parametrina annetun taulukon kaikkien alkioden arvoiksi tulee luku 2345678.
Noudata luennolla ja harjoituksissa esitettyjen suositusten mukaista aliohjelmien (funktioiden) toteutustapaa ja kutsumekanismia.
 
TTK-91 konekielen käskyt ovat: NOP, STORE, LOAD, IN, OUT, ADD, SUB, MUL, DIV, MOD, AND, OR, XOR, SHL, SHR, COMP, JUMP, JNEG, JZER, JPOS, JNNEG, JNZER, JNPOS, JLES, JEQU, JGRE, JNLES, JNEQU, JNGRE, CALL, EXIT, PUSH, POP, PUSHR, POPR, SVC