Tentin tekstisisältö

OHJ-4010 Rinnakkaisuus - 15.05.2012

Tentin tekstisisältö

Teksti on luotu tekstintunnistuksella alkuperäisestä tenttitiedostosta, joten se voi sisältää virheellistä tai puutteellista tietoa. Esimerkiksi matemaattisia merkkejä ei voida esitää oikein. Tekstiä käytetään pääasiassa hakutulosten luomiseen.

Alkuperäinen tentti
OHJ-4010 Rinnakkaisuus Tentti 15.5.2012

Tentissä ei saa käyttää ylimääräistä kirjallista materiaalia, laskimia, tietokoneita tai muita lunttausvälineitä.

Tentin tarkistaa Johannes Koskinen.

 

 

1. Tehtävä
Selitä lyhyesti seuraavat käsitteet (1 p/kohta):

a) poissulkeminen (mutual exclusion)

b) synkronointi (synchronization)

c) jakamaton eli atominen operaatio (indivisible or atomic operation)
d) nälkiintyminen (starvation)

e) monitori (monitor)

£) lukkiutuminen (deadlocking)

2. Tehtävä

Mikä on kriittinen alue? Miksi se muodostaa ongelman? Miten sen aiheuttama ongelma voidaan ratkaista? Esitä vas-
tauksesi esimerkkiä apuna käyttäen. (6 p)

3. Tehtävä

Mitä tarkoittaa lukkiutuminen? Mitkä ovat lukkiutumisen ehdot? Lukkiutumisen käsittelyyn on olemassa kolme lähes-
tymistapaa: estäminen (prevention), välttäminen (avoidance) ja laukaiseminen (recovery). Kuvaa lyhyesti kukin termi ja
anna lyhyt kuvaus kunkin tavan käyttämisestä. (8 p)

 

 

4. Tehtävä
Ohessa on yksi lukitusrutiiniehdokas.
lock variable : integer := 0;
| Lukitusrutiini | Vapautustrutiini
procedure Lock (my number : integer) is procedure Unlock is
|begin [begin
| loop | lock variable := 0;
| while lock variable = 1 loop end Unlock;
| null; -- tyhjä silmukka
end loop;
| for jin 0 .. 10000 loop
| null; -- odotetaan hetki muita
| end loop;
lock variable := my number;

 

exit when lock variable = my number;
end loop;
|end Lock; |

| -- poistutaan, jos meidän vuoro
|

 

 

Vastaa lyhyesti seuraaviin kysymyksiin:

a) Voidaanko algoritmia käyttää sellaisenaan monisuoritinkoneen suorittimien välisenä poissulkemisrutiinina? Jos voi,
onko käytöllä joitain rajoituksia? Jos ei voi, tee algoritmista käyttökelpoinen, jos se on mahdollista pienellä korjauk-
sella. (2 p)

b) Voidaanko algoritmia käyttää sellaisenaan yksisuoritinkoneessa prosessien tai säikeiden välisenä poissulkemisrutiini-

na? Jos voi, onko käytöllä joitain rajoituksia? Jos ei voi, tee algoritmista käyttökelpoinen, jos se on mahdollista pie-
nellä korjauksella. (2 p)


Käytämme evästeitä

Tämä sivusto käyttää evästeitä, mukaanlukien kolmansien puolten evästeitä, vain sivuston toiminnan kannalta välttämättömiin tarkoituksiin, kuten asetusten tallentamiseen käyttäjän laitteelle, käyttäjäistuntojen ylläpitoon ja palvelujen toiminnan mahdollistamiseen. Sivusto kerää käyttäjästä myös muuta tietoa, kuten käyttäjän IP-osoitteen ja selaimen tyypin. Tätä tietoa käytetään sivuston toiminnan ja tietoturvallisuuden varmistamiseen. Kerättyä tietoa voi päätyä myös kolmansien osapuolten käsiteltäväksi sivuston palvelujen tavanomaisen toiminnan seurauksena.

FI / EN