581305-6 Tietokoneen toiminta, 2 ov, erilliskoe 25.9.2001

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimesi, henkilötunnus, kokeen tai kurssin nimi, nimikirjoitus ja sivunumero.
  1. [15 p] Prosessi (process)
    1. [3 p] Mikä on prosessin esitysmuoto järjestelmässä?
    2. [3 p] Mitkä ovat prosessin suoritusaikaiset tilat (state)?
    3. [2 p] Miten prosessin tila näkyy käyttöjärjestelmälle?
    4. [2 p] Miten prosessin tila näkyy prosessille?
    5. [5 p] Miten ja milloin prosessin tila muuttuu? Käsittele kukin mahdollinen tilasiirtymä erikseen. Kerro kustakin tilasiirtymästä esimerkkitapahtuma, joka voisi aiheuttaa kyseisen tilasiirtymän.

  2. [15 p] Suoritin (processor)
    1. [4 p] Mitkä ovat suorittimen suoritusaikaiset tilat (processor state)?
    2. [4 p] Miten ja milloin suorittimen tila muuttuu? Käsittele kukin mahdollinen tilasiirtymä erikseen.
      Kerro kustakin tilasiirtymästä esimerkkitapahtuma, joka voisi aiheuttaa kyseisen tilasiirtymän.
    3. [4 p] Miten suorittimen tilat ja suoritettava prosessi liittyvät toisiinsa? Missä suorittimen tilassa suoritin on prosessin suoritusaikana?
    4. [3 p] Miten suorittimen tilat ja keskeytykset (interrupt, exception) liittyvät toisiinsa? Mitä suorittimen tilalle tapahtuu keskeytysten yhteydessä?

  3. [15 p] Tiedon muuttumattomuuden valvonta.
    1. [5 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. [5 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. [5 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.
      (Tätä asiaa ei ollut kirjallisessa koemateriaalissa)


  4. [15 p]  Ttk-91 koneen konekieli. Kokonaislukuarvoinen kaksi-ulotteinen taulukko G[3,4] on määritelty pääohjelmatasolla. Taulukossa on siis 12 alkiota (alkiot G[0,0], ..., G[2,3]). Kokonaislukumuuttujat i ja j on myös määritelty pääohjelmatasolla. Taulukko on talletettu riveittäin.
    1. [5 p] Anna konekäskyt, joilla tulostetaan alkion G[2,2] arvo.
    2. [5 p] Anna konekäskyt, joilla tulostetaan alkion G[i,j] arvo. Voit (epärealistisesti) olettaa, että muuttujien i ja j arvot ovat sallituissa rajoissa.
    3. [5 p] Anna konekäskyt, joilla alustetaan taulukko G siten, että G[i,j] = i+j kaikille G:n alkioille.

 


    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