Tietokoneen toiminta, 2 ov                                              
Uusintakuulustelu 5.10.2002  (Avoin yo)

Tähän uusintakuulusteluun voivat osallistua vain kesällä 2002 Avoimen yliopiston tietokoneen toiminta -kurssille aktiivisesti osallistuneet (vähintään 10 harjoitustehtäväpistettä) opiskelijat. Arvosana määräytyy tämän tentin ja tehtyjen harjoitustehtävien perusteella. Tentti arvostellaan 21.10.2002 mennessä.

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimi, opiskelijanumero (tai henkilötunnus),
kurssin nimi, nimikirjoitus ja sivunumero.
  1. [12 p] Prosessi (process).
    1. Mikä on prosessin esitysmuoto järjestelmässä?
    2. Mitkä ovat prosessin suoritusaikaiset tilat (state)?
    3. Miten prosessin tila näkyy käyttöjärjestelmälle (operating system)?
    4. Miten prosessin tila näkyy prosessille itselleen?
    5. Miten ja milloin prosessin tila muuttuu? Käsittele kukin mahdollinen tilasiirtymä erikseen. Kerro kustakin tilasiirtymästä esimerkkitapahtuma, joka voisi aiheuttaa kyseisen tilasiirtymän.
       
  2. [12 p] Ohjelmien suoritus
    1. Miten suoritin suorittaa konekielisiä ohjelmia?
    2. Minkä tyyppiset tapahtumat aiheuttavat poikkeuksia käskyjen normaaliin suoritusjärjestykseen? Anna mahdollisimman tyhjentävä selitys eri poikkeustyypeistä.
    3. Miten nämä poikkeustilanteet käsitellään?
    4. Miten poikkeustilanteiden käsittely suhtautuu aliohjelmakutsuun ja aliohjelmasta paluuseen? Erot/samankaltaisuudet?
       
  3. [12 p] Tiedon muuttumattomuuden valvonta.
    1. [4 p] Mitä tarkoittaa käsite pariteettibitti? Anna esimerkki, jossa käytetään paritettibittiä tiedon muuttumattomuuden valvonnassa. Anna myös esimerkki tiedon muuttumattomuuden valvontaan liittyvästä tilanteesta, jossa pariteettibitin käyttö ei ole riittävä (mutta Hamming-koodin käyttö olisi riittävä). Perustele molemmat esimerkkisi.
    2. [4 p] Mitä tarkoittaa käsite Hamming-koodi? Anna esimerkki, jossa käytetään Hamming-koodia tiedon muuttumattomuuden valvonnassa. Anna myös esimerkki tiedon muuttumattomuuden valvontaan liittyvästä tilanteesta, jossa Hamming-koodin käyttö ei ole riittävä (mutta CRC:n käyttö olisi riittävä). Perustele molemmat esimerkkisi.
    3. [4 p] Mitä tarkoittaa käsite CRC (Cyclic Redundancy Code)? Anna esimerkki, jossa käytetään CRC:tä tiedon muuttumattomuuden valvonnassa. Anna myös esimerkki tiedon muuttumattomuuden valvontaan liittyvästä tilanteesta, jossa CRC:n käyttö ei ole riittävä. Perustele molemmat esimerkkisi.
       
  4. [12 p]  Ttk-91 koneen (symbolinen) konekieli. Kokonaislukuarvoinen funktio Help(A,B,C) palauttaa arvonaan lausekkeen A+2B+3C arvon. Esimerkiksi kutsu Help(3,2,1) palauttaa siis arvon 10. Kaikki kolme parametria ovat arvoparametreja.
    1. [4 p] Anna ttk-91 koneen symbolisen konekielen konekäskyt, joilla k.o. funktiota käyttäen lasketaan ja tulostetaan arvo Help(321, 987, 1234567).
    2. [3 p] Anna ttk-91 koneen symbolisen konekielen konekäskyt, joilla k.o. funktiota käyttäen (kolmella kutsukerralla) lasketaan ja tulostetaan arvo Help(4, Help(5,6,7), Help(1,2,3)).
    3. [5 p] Anna funktion Help(A,B,C) ttk-91 koneen symbolisella konekielellä tehty toteutus.
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