Tietotekniikan perusteet, syksy 1998

Harjoitus 7 (10.12.11.)

 

 

1. Tietokoneen suoritettavana on kolme prosessia, jotka kukin ensin suorittavat jotain laskutehtävää 2 ms ajan, sitten lukevat (yhteiseltä) syötelaitteelta 3 ms ajan, laskevat lisää 4 ms ajan ja lopuksi tulostavat (yhteiselle) tulostuslaitteelle 5 ms ajan. Kauanko prosessien loppuun saattaminen kestää (a) yksiajojärjestelmässä (so. ilman prosessien vaihtoa), (b) moniajojärjestelmässä? Entä jos laitteistossa olisi kaksi prosessoria? Piirrä kaaviot.

 

2. Moniajojärjestelmässä syntyy usein tilanteita, joissa aktiiviseksi tulevalle prosessille ei ole riittävästi tilaa keskusmuistissa, ja joitakin passiivisia prosesseja pitää siirtää tilapäisesti tukimuistiin (heittovaihto, engl. swapping). Millä perusteella poistettavat prosessit pitäisi tässä tilanteessa valita? Entä vastaava kysymys virtuaalimuistin sivunvaihdon yhteydessä levylle poistettavista sivuista?

 

3. Yksi virtuaalimuistin sivunvaihtoperiaate on palauttaa tukimuistiin se sivu, jonka edellisestä käytöstä on kulunut mahdollisimman kauan (LRU = least recently used). Oletetaan, että LRU-periaatetta käyttävä järjestelmä suorittaa prosessia, jonka sivuviittausten jono on

51, 1076, 52, 3974, 2342, 53, 1511, 3975, 54, 2782, 3976, 3123.

Montako sivunvaihtoa prosessin suoritus aiheuttaa, kun järjestelmän sivunkoko on 1000, ja prosessin käyttöön on annettu kolme fyysistä keskusmuistisivua?

 

  1. Montako naapuria on kullakin prosessorilla (a) 8-prosessorisessa, (b) 16-prosessorisessa, (c) 1024-prosessorisessa rinnakkaiskoneessa, jonka kytkentätopologia on (hyper)kuutio? Mikä on pisin kahden prosessorin välinen etäisyys tällaisessa koneessa? Entä jos kytkentätopologiana on 2-ulotteinen hila?