Kirjoita jokaiseen vastauspaperiisi
kurssin nimi, pvm, oma nimi, nimikirjoitus ja opiskelijanumero.
Kuhunkin tehtävään riittää 1-2 sivun vastaus.
Anna kunkin tehtävän vastaus omalla konseptiarkillaan.
Kukin tehtävä vastaa samannumeroista minikoetta. Tehtävä 4 on siis minikoe 4.
HUOM: Palauta jokainen tehtävä omalla konseptiarkillaan oikeaan pinoon!
- [6 p] Välimuisti. Muistiviite kohdistuu yhteen tavuun tavuosoitteessa 0x12345678.
- [2 p] Kuinka välimuisti selvittää, löytyykö viitattu tavu välimuistista vai ei?
- [1 p] Jos viitattu tavu löytyy välimuistista, niin mistä kohtaa sieltä se löytyy?
- [1 p] Jos viitattua tavua ei löydy välimuistista, niin kuinka viitattu tavu nyt saadaan käyttöön?
- [1 p] Tietyn kokoinen (esim. 64 KB) välimuisti on jaettu riveihin (lohkoihin).
Miksi välimuistin rivin koko on yleensä useampia sanoja (esim. 8 tai 16 sanaa), eikä vain 1-2 sanaa?
- [1 p] Miksi välimuistin rivin koko on yleensä silti aika pieni (esim. 64 tavua), eikä paljon suurempi (esim. 1 KB)?
- [6 p] Semaforit.
- [2 p] Mikä on semafori? Minkä ongelman se ratkaisee? Mitä tietorakenteita sen toteutukseen sisältyy? Mitä operaatioita siihen liittyy ja mitä ne tekevät?
- [1 p] Mikä on tuottaja/kuluttaja-ongelma? Mitä synkronointi- ja kommunikointiongelmia siihen liittyy?
- [1 p] Miksi tuottaja/kuluttaja-ongelma on helpompi, jos puskurin koko on ääretön? Minkälaisessa käytännön tilanteessa tuottaja/kuluttaja-ongelman ratkaisun voi toteuttaa olettaen puskurin koon äärettömäksi?
- [2 p]
Anna tuottaja/kuluttaja-ongelman ratkaisu semaforien avulla, kun puskurin koko on ääretön ja tuottajia/kuluttajia voi olla monta. Anna tuottajien ja kuluttajien koodit pseudokoodina. Määrittele kaikki käyttämäsi semaforit alkuarvoineen.
- [6 p] Lukkiutuminen.
- [2 p] Mitkä neljä ehtoa tulee olla voimassa, jotta lukkiutuminen olisi mahdollista? Selitä, mitä kukin ehto tarkoittaa.
- [1 p] Anna esimerkki tilanteesta, jossa em. neljä ehtoa ovat kaikki voimassa ja lukkiutuminen on tapahtunut. Selitä, miksi lukkiutuminen tapahtui.
- [1 p] Anna esimerkki tilanteesta, jossa em. neljä ehtoa ovat kaikki voimassa, mutta lukkiutumista ei silti ole tapahtunut. Selitä, miksi lukkiutumista ei nyt tapahtunutkaan.
- [2 p] Anna esimerkki tilanteesta (sovelluksesta), jossa olisi järkevää käyttää lukkiutumisen havaitsemisalgoritmia (DDA). Kuinka DDA:ta tällöin käytetään? Milloin DDA ajetaan? Mitä tehdään, jos DDA havaitsee lukkiutumisen? Mitä tehdään, jos DDA ei havaitse lukkiutumista?
- [6 p] Muistinhallinta ja virtuaalimuisti
- [2 p] Kuinka virtuaalimuistin osoitteenmuunnos käytännössä tapahtuu? Käytä esimerkkinä yksitasoista sivuttavaa virtuaalimuistia, jossa tavuosoitteet ovat 32-bittisiä, sivun koko on 4KB ja viitattu osoite on 0x12345678.
Minkä osoitteenmuunnoksen ongelman TLB ratkaisee ja miten se sen tekee?
- [2 p] Minkä ongelman Clock algoritmi ratkaisee ja miten se sen ratkaisee?
- [2 p] Minkä ongelman PFF (Page Fault Frequency) algoritmi ratkaisee ja miten se sen ratkaisee?