1 Rio s05 / Liisa Marttinen Kertaus: Semaforit Semaforin operaatiot: sem s = n; # semaforin alkuarvo P(s); # jos s<=0, pysäyttää jonottamaan semaforin.

Slides:



Advertisements
Samankaltaiset esitykset
15. Loogiset operaatiot.
Advertisements

Matkalippujen tilaaminen internetin kautta
Pikkupoika kysyi isältään...
Good Karma = Hyviä Seurauksia
Tämän esityksen avulla osaat ladata PAF 5
Toimintaohjeita kesää varten Lue huolella! Jälkiohjauksesta vastaavat: • 9A, 9D, 9E, 9F : Opo Elina Nissinen, p • 9B, 9C, 9G: Opo Satu Hietala,
Moodlen ohje opiskelijoille
Teksti, taito ja tavoite
VBA –ohjelmoinnin perusteet
10 vinkkiä voimaantumiseen
Ajankäytön hallinta Ajankäytön hallinta
Synkronointi Yksi tärkeimmistä rinnakkaisuuteen liittyvistä asioista. semaforit tapahtumalaskurit monitorit.
Windows NT Mika Purmonen
Liisa Marttinen Semaforit Liisa Marttinen Semaforit P() aka WAIT() aka Down() jos kriittinen alue vapaa, lukitse se ja.
Miten kirjoitan verkkoon? Vammaispalvelujen käsikirja sosiaaliportti.fi Hanna Heikkonen.
TAUOLLA TYÖKAVEREIDEN KANSSA
Elinkeinopoliittinen mittaristo 2014 Pelkosenniemi 1.
Elinkeinopoliittinen mittaristo 2014 Kittilä 1. ELINKEINOPOLITIIKAN TILA 2.
Elinkeinopoliittinen mittaristo 2014 Kemi 1. ELINKEINOPOLITIIKAN TILA 2.
*) Työttömät ilman lomautettuja Lähde: Työ- ja elinkeinoministeriön työttömyystilastot Työttömät* työnhakijat 1994–2014, syyskuu Yleisimmät.
Säännöt 30 kuvaa 45 sekuntia / kuva 10 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
Työttömät* työnhakijat; yleisimmät akavalaistutkinnot *) Työttömät ilman lomautettuja Lähde: Työ- ja elinkeinoministeriön työttömyystilastot
Säännöt 30 kuvaa 45 sekuntia / kuva 15 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
Säännöt 30 kuvaa 45 sekuntia / kuva 10 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
KPL TIET KADUT.
UKJ Työpakettien tilanne TukityöpaketitResurssitSisältöAikatauluHuom (Seuraava sivu) TP 1 Projektin hallinnointi OK, 1) TP 2 Resurssinhallinta.
Elinkeinopoliittinen mittaristo 2014
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
Harrastajatutkinto Säännöt Pisteytys 30 kuvaa 45 sekuntia / kuva
Säännöt 30 kuvaa 45 sekuntia / kuva 10 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
Laskulaatikoissa on eläimiä piilossa.
2. Vuokaaviot.
2 - 1 Rio syksy 2004 OSA I: Yhteisten muuttujien käyttö Prosessit samassa koneessa.
UMF I Luento 1. Aika Luennot, Klo 14–16 to 4.9 – ke 10.9 ke 24.9 – ke 1.10 ke – pe Demot, Klo 10–12/12–14/14–16 Pe 12.9, Ti 16.9, Pe 19.9.
Työttömät* työnhakijat ELY-keskuksittain *) Työttömät ilman lomautettuja Lähde: Työ- ja elinkeinoministeriön työttömyystilastot Työttömät* työnhakijat,
Väestönmuutos , maakunnittain
UKJ Työpakettien tilanne TukityöpaketitResurssitSisältöAikatauluHuom (Seuraava sivu) TP 1 Projektin hallinnointi OK, 1) TP 2 Resurssinhallinta.
Aritmeettinen jono jono, jossa seuraava termi saadaan edellisestä lisäämällä sama luku a, a + d, a+2d, a +3d,… Aritmeettisessa jonossa kahden peräkkäisen.
 Etäproseduurikutsu RPC Toteutus Virhesemantiikka Andrews 8.1, 10.3, Stallings 13.3.
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
Aritmeettinen jono jono, jossa seuraava termi saadaan edellisestä lisäämällä sama luku a, a + d, a+2d, a +3d,… Aritmeettisessa jonossa kahden peräkkäisen.
Visual Basic -ohjelmointi
Opintopolku.fi Kysymyksiä ja käytäntöjä siirtovalinnoista Opintoasiainpäivät Anu Holvikivi, HY & Ulla Lehtonen, OPH.
Säännöt 30 kuvaa 45 sekuntia / kuva 15 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
JHS:N SUOSITUKSET VAATIMUSMÄÄRITTELYLLE SEPPO RÄSÄNEN SAVONIA-AMMATTIKORKEAKOULU TERVEYSALA, KUOPIO Ohjelmistotekniikka ja projektinhallinta,
UNIX ftp://shell.shore.net/members/w/s/ws/Support/OS/UNIX.pdf
 Ke (6. palkin päättöpäivä) lyhyiden kielten kuunteluita koululla. Liiku siis hiljaa ja noudata opettajien ohjeita.  To Penkkaripäivä.
 Monitorit Monitori Synkronointimenetelmiä Esimerkkejä Andrews , Stallings 5.5.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä # - Esitelmöijän nimi Optimointiopin seminaari - Syksy 2009 Projektien suunnittelu ja skedulointi.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Kriittinen alue P(e) Lukija: Kirjoittaja: nw = 0?nw = 0 ja n r= 0? V(e) Odottavat kirjoittajat P(w) ei ole! on!! V(e) Odottavat lukijat P(r) ei ole! V(e)
”Rinnasteiset verbiparit tekstissä” Anu Airola Helsingin yliopisto.
Monitorit Monitori Synkronointimenetelmiä Esimerkkejä.
Pikkupoika kysyi isältään...
Visual Basic -ohjelmointi
 Yhteenvetoa. Rio 2005 / Auvo Häkkinen, Liisa Marttinen Ongelmakenttä Rinnakkaisuuden tarve Ympäristö Suunnittelun yksinkertaistaminen Suorituskyky.
 Yhteenvetoa. Rio 2004 / Auvo Häkkinen Ongelmakenttä Rinnakkaisuuden tarve Ympäristö Suunnittelun yksinkertaistaminen Suorituskyky Luotettavuus.
Tilastollisesti merkitsevä nousu Tilastollisesti merkitsevä lasku Edelliseen aineistoon KMT 2005 verrattuna* KMT Kevät06 puolivuosiaineisto KMT SYKSY05/KEVÄT06.
Kuinka monenteen diaan asti pysyt perässä? Koita sanoa ääneen monennessako diassa olet ja minkä värinen sen tausta on. Jos sinulla on kaveri vieressä,
6 - 1 Rio 2004 / Auvo Häkkinen OSA II: Hajautettu ympäristö Ei yhteistä muistia.
Laskulaatikoissa on eläimiä piilossa. Osa eläimistä lähtee pois laatikosta. Laske, kuinka monta eläintä jää laatikkoon. Näpäytä oikeaa vastausta. Tehtävä.
1 Rio / Auvo Häkkinen Kertaus: Semaforit Semaforin operaatiot: sem s = n; # semaforin alkuarvo P(s); # jos s
1 - 1 Rio syksy 2005 Liisa Marttinen Prosessit voivat häiritä toisiaan! yhteinen muisti k=k+1; i=i-1 k=k+1; i=i-1; i: 10 k: prosessi i prosessi j Prosessien.
Kertaus Näkökulmat: käyttöjärjestelmä rajapintana prosessit resurssit.
 Etäproseduurikutsu RPC Toteutus Virhesemantiikka Andrews 8.1, 10.3, Stallings 13.3.
6 - 1 Rio 2004 / Auvo Häkkinen OSA II: Hajautettu ympäristö Ei yhteistä muistia.
13. Loogiset operaatiot.
Kirjoita tähän Kirjoita tähän Kirjoita tähän Kirjoita tähän Kirjoita tähän Kirjoita tähän Kirjoita tähän.
10. Siirräntäjärjestelmät
13. Loogiset operaatiot.
Esityksen transkriptio:

1 Rio s05 / Liisa Marttinen Kertaus: Semaforit Semaforin operaatiot: sem s = n; # semaforin alkuarvo P(s); # jos s<=0, pysäyttää jonottamaan semaforin jonoon, muuten s=s-1 V(s); # vapauttaa jonottavan prosessin # semaforin jonosta; jos jono tyhjä # s=s+1 Semaforin sisäiset tietorakenteet: semaforin arvo semaforin jono (FIFO = FCFS)

2 Rio s05 / Liisa Marttinen Erilaisia semaforeja binäärisemafori: vain arvot 0 ja 1 yleinen semafori: arvot [0…n] jaettu binäärinen semafori: useasta semaforista aina yhdellä kerrallaan on arvo 1, muilla arvo on 0; yksityinen semafori: kullakin prosessilla oma semafori poissulkeva semafori (‘mutex’): varmistaa, että vain yksi kerrallaan suorittaa kriittistä koodiaan pääsysemafori (‘entry’): rajoittaa pääsyä; esim. montako prosessia voi ‘samanaikaisesti’ suorittaa tiettyjä koodinosia sígnaloiva semafori : ilmoittaa tapahtumasta, jota toinen odottaa

3 Rio s05 / Liisa Marttinen Yleisiä ohjeita semaforien käytöstä Semaforeille on vain operaatiot: alustus, P(), V() Semaforin alkuarvo etenemislupien lkm/vapaiden resurssien lkm kuinka moni prosessi voi tehdä P() -operaation joutumatta semaforin jonoon  tarkista semaforien oikeat alkuarvot! Missä tilanteissa odotettava? kutakin tilannetta kohti oma semafori prosessi odottamaan  P( ) Missä tilanteissa odottaminen päättyy? päästä odottaja etenemään  V( )

4 Rio s05 / Liisa Marttinen Onko P()-operaatioita kriittisen alueen sisällä? pääseekö joku varmasti vapauttamaan odotuksesta Jos tarve tietää semaforin arvo tai onko joku jonossa  oma laskurimuuttuja! muista sillekin poissulkeminen Jos tarve priorisointiin (semaforin jono FCFS!)  ylläpidä omaa jonoa jonon alkiossa prioriteetin (järjestyksen) määräävä arvo sekä yksityinen odotussemafori  Nyt algoritmi voi rauhassa tutkia jonon tilaa ensin ja päättää sitten päästääkö jonkun etenemään

5 Rio s05 / Liisa Marttinen ensimmäisiä synkronointivälineitä ja yhä edelleen tärkeitä esim. käyttöjärjestelmissä Nyt myös Javassa mukana kriittiset alueet sem mutex = 1; # jotta alussa joku pääsee ……. P(mutex); kriittinen alue # vain yksi prosessi kerrallaan V(mutex)

6 Rio s05 / Liisa Marttinen prosessien signallointi Yleisesti prosessi odottaa jotain toisen prosessin aiheuttamaa tapahtumaa sem event =0; process w1: process W2: …. ….. P(event); ….. …….. V(event); ……. ……. …….. V(event); P(event); ………. ……… ………..

7 Rio s05 / Liisa Marttinen prosessien signallointia: puomisynkronointi sem ok1 = 0, ok2 = 0; process w1 { process W2{ …. ….. V(ok1); V(ok2); P(ok2); P(ok1); …. …. Jos monta prosessia, kannattaa käyttää erillistä koordinoijaa

8 Rio s05 / Liisa Marttinen Tuottaja ja kuluttaja: yksi puskurialue sem empty =1, full =0; # jaettu binäärisemafori process Producer [i = 1 to M] { …………. P(empty); buf = data; V(full); ….. process Consumer[j= 1 to N] { …………. P(full); result = buf; V(empty); …..

9 Rio s05 / Liisa Marttinen Tuottaja ja kuluttaja: rajoitettu puskuri sem empty = n, full =0; # laskevat vapaita ja täysiä # puskurialkioita sem mutexT =1, mutexK =1; # kriittisen alueen suojaamiseen Tuottaja i: Kuluttaja j: ……. …. P(empty); P(full); P(mutexT); P(mutexK); tuottajien kriittinen alue; kuluttajien kriittinen alue; V(mutexT); V(mutexK) V(full); V(empty); …… ……..

10 Rio s05 / Liisa Marttinen Kriittinen alue P(e) Lukija: Kirjoittaja: nw = 0?nw = 0 ja n r= 0? V(e) Odottavat kirjoittajat P(w) ei ole! on!! V(e) Odottavat lukijat P(r) ei ole! V(e) DB lue/kirjoita Signal r: dr>0 ei V(r) Signal w: V(e) on Baton passing: lukijat ja kirjoittajat Ennen lukemaan /kirjoittamaan menemistä Poistuu odottamaan ja jättää kriittisen alueen oven auki!

11 Rio s05 / Liisa Marttinen Odottavat kirjoittajat P(w) DB lue/kirjoita Odottavat lukijat P(r) Kriittinen alue P(e) Lukija: nr = nr-1 nr == 0 ja dw >0 ? Signal r: ei V(w) V(e) on Viimeinen poistuva lukija vapauttaa odottavan kirjoittajan

12 Rio s05 / Liisa Marttinen Odottavat kirjoittajat P(w) DB lue/kirjoita Odottavat lukijat P(r) Kriittinen alue P(e) Kirjoittaja: nw = nw-1 Signal w: nr == 0 ja dw >0 ? ei V(w) V(e) on dr > 0 ? on V(e) V(r) ei

13 Rio s05 / Liisa Marttinen Andrews Fig. 4.12: Outline of readers and writers with passing the baton.

14 Rio s05 / Liisa Marttinen Resurssien varaamisen perussapluuna P(entry) if (pyyntöön ei voi suostua) DELAY anna resurssi SIGNALNEXT Resurssien vapauttamisen perussapluuna P(entry) palauta resurssi SIGNALNEXT SIGNALNEXT: toteuta haluamasi vapautusjärjestys mikä odottavista prosesseista pääsee etenemään? voiko uusi ilmaantua paikalle?

15 Rio s05 / Liisa Marttinen Resurssien hallinta, Yleinen ratkaisu pyydä(parametrit) P(mutex); # poissulkeminen if (pyyntöön ei voi suostua) DELAY; # odota semaforissa anna resurssi; SIGNALNEXT; vapauta(parametrit) P(mutex); palauta resurssi; SIGNALNEXT; DELAY ~ V(mutex), P(odotussemafori) SIGNALNEXT ~ V(odotussemafori) else V(mutex) DELAY: Älä jätä prosessia Blocked-tilaan tärkeä semafori kiinni! SIGNALNEXT: Herätä odottaja, jätä kriittinen alue kiinni (baton passing).

16 Rio s05 / Liisa Marttinen SJN: Lyhyin työ seuraavaksi request(time,id): P(e); if (!free) DELAY; free = false; SIGNAL; release(): P(e); free = true; SIGNAL;

17 Rio s05 / Liisa Marttinen DELAY: Odottajan ID ja TIME (suoritusaika) suoritusajan mukaan järjestettyyn jonoon (PAIRS) oikeaan kohtaan V(e) eli vapauta kriittinen alue jää odottamaan vuoroasi P(b[ID]) Tässä tarvitaan kullekin oma semafori, jotta pystytään ’herättämään’ oikea prosessi: b[n] = ([n] 0) PAIRS-jono määrää järjestyksen: herätetään aina jonon ensimmäinen prosessi SIGNAL: Reguest-vaihe vapauta kriittinen alue V(e) eli päästä joku uusi Request- vaiheeseen Release-vaiheen lopussa Jos jonossa odottajia, niin ota jonon ensimmäisen alkiopari (time, ID) ja herätä prosessi ID: V(b[ID]; muuten V(e)

18 Rio s05 / Liisa Marttinen Andrews Fig. 4.14: Shortest job next allocation using semaphores.