Kölcsönös kizárás (bináris és nembináris szemaforok)

Slides:



Advertisements
Hasonló előadás
Másodfokú egyenlőtlenségek
Advertisements

A MINŐSÉG MEGTERVEZÉSE
Meskó Andor: Bull Gamma ET felépítése és néhány alkalmazása a MÁV-nál
A tevékenységhosszak és az erőforrás- mennyiségek kapcsolata Készítette: Szentirmai Róbert (minden jog fenntartva)
Hardver eszközök II. rész
Rendszertervezés Hardver ismeretek.
Készítette: Ferenczi Krisztián (FEKSAAI.ELTE). Optikai lemezek jellemzői Az írás és olvasás lézersugárral történik. Az optikai tároló felületén az adatok.
Párhuzamos programozás (a fork/join és a parbegin/parend technika)
A DBMS fő feladatai: - adatstruktúra (adatbázisséma) definiálása,
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
13.a CAD-CAM informatikus
Dinamikus tömbök.
Bevezetés a Java programozásba
Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.
Interdiszciplináris ellátási lánc- versenyképes vállalat
A soros és a párhuzamos kapcsolás
ORACLE ORDBMS adminisztrációs feladatok 2. rész dr. Kovács László 2004.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Számítógép memória jellemzői
Többmagos processzorok
1 Operációs rendszerek MINB előadás Szálak, IPC.
A memóriák típusai, jellemzői
1 Operációs rendszerek Az ütemezés megvalósítása.
Operációs rendszerek Folyamatok.
MI A MEMÓRIA? A memória tulajdonképpen egy logikai áramkör, ami adatok megőrzésére alkalmas. Az adat számunkra most azt jelenti, hogy van-e jel vagy nincs.
Közeghozzáférési módszerek :. – Véletlen vezérlés: akkor a közeget elvileg bármelyik állomás használhatja, de a használat elõtt meg kell gyõzõdnie arról,
Operációs rendszer.
SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 5
1 Számvitel alapjai Gazdálkodás:a társadalmi újratermelési folyamat szakaszainak (termelés, forgalom, elosztás, fogyasztás) megszervezésére, az ahhoz rendelkezésre.
Hálózat kiépítésével lehetőségünk nyílik más számítógépek erőforrásainak használatára. Osztott háttértár használat: egy számítógép merevlemezének megosztásával.
Számítógép legfontosabb paraméterei
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
13. A zillmerezés, mint bruttó
A számítógép elvi felépítése
Java programozási nyelv Vezérlési szerkezetek
Java programozási nyelv Metódusok
Termelő-fogysztó modell. A probléma absztrakt megfogalmazása: informális leírás. Adott egy N elemű közösen használt tároló, N  1. Adott a folyamatoknak.
Egy második generációs gép (az IBM 7094) felépítése
Párhuzamosság, kritikus szakasz, szemaforok Operációs rendszerek.
Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
A ROM és a BIOS Készítette: Tóth Dominik. A ROM A ROM (Read Only Memory) egy olyan elektrotechnikai eszköz, amely csak olvasható memória. Fizikailag az.
CUDA C/C++ programozás
Kitekintés a jövőbe Kacsuk Péter MTA SZTAKI. SZTAKI Felhő használata A SZTAKI Felhőt minden MTA kutató ingyenesen használhatja Ehhez be kell regisztrálni.
Háttértárak.
A többmagos processzorok világa Páter-Részeg Attila (PAASABI.ELTE) Beadandó I.
Gyurkó György. Az állapotmodellezés célja Általánosságban ugyanaz, mint a többi dinamikus modellezési technikáé: Jobban megismerni a problémát. Finomítani.
Ismerkedjünk tovább a számítógéppel
Minuet: A Scalable Distributed Multiversion B-Tree Írta: Benjamin Sowell, Wojciech Golab, Mehul A. Shah Feldolgozta: Fokin Miklós, Hodosy Gábor, Tóth Tamás.
Iskolai számítógépes hálózat bővítése Készítette Tóth László Ferenc.
Algoritmusok és Adatszerkezetek Egy kifejezés lengyelformára hozása - bemutató.
Számítógépes hálózatok Páll Boglárka. Meghatározás A számítógépes hálózat, számítógépek és egyéb hardvereszközök egymással összekapcsolt együttese. Például:
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Kommunikáció és szinkronizáció. 1.) Kommunikáció: Lehetőség arra, hogy egyik folyamat befolyásolja a másik folyamat lefutását. Kommunikáció eszközei: közös.
V 1.0 OE-NIK HP 1 Haladó Programozás Szálkezelés + szinkronizáció.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
Félcsoport (semigroup) = ({s},{ *: s s  s [infix]}. semigroup is a type specification = sorts: s oprs: *: s s  s [infix] eqns: m 1, m 2, m 3  s (m 1.
Informatikai gyakorlatok 11. évfolyam
Biztosítóberendezések szerkesztése 3
Neumann elvű számítógép. Neumann János ► Neumann János december 28-án Budapesten született ► 1930-ban emigrált az USA-ba.
1 A számítógépek tárolói. 2 Memória Memóriaszó  A tárak olyan egységei, melyek egyetlen művelettel kezelhetők.  A legrövidebb memóriaszó a byte (bájt)
Programstruktúrák. Program A program utasítások olyan sorozata, amely a számítógépen önállóan képes megoldani egy feladatot. A program háttértáron futtatható.
Operációs rendszerek Az operációs rendszerek működésének alapfogalmai.
Sz&p prof.
Programozási nyelvek típusossága.
Programozás C# -ban Elágazások.
Kommunikáció típusai.
Szálszinkronizáció.
Előadás másolata:

Kölcsönös kizárás (bináris és nembináris szemaforok) Több egymással párhuzamosan futó folyamat vagy szál gyakran kommunikál közösen használt memóriaterületek segítségével. Természetesen ez nem jelenti azt, hogy ezek a területek egyidejűleg is elérhetőek lennének a folyamatok számára, ez igen veszélyes lenne. A közös memória területek tehát non-preemptív erőforrásoknak tekinthetők. Az egyidejű hozzáférés kizárása szemaforok segítségével történik. A továbbiakban a szemaforok működését két klasszikus példával illusztráljuk: Termelő-fogyasztó probléma Postaláda kezelés

TERMELŐ - FOGYASZTÓ

Közösen használt erõforrások Kölcsönös kizárás termelõ folyamat közös adat- terület fogyasztó folyamat Termelõ / fogyasztó probléma

Közösen használt erõforrások Kölcsönös kizárás termelõ folyamat közös adat- terület fogyasztó folyamat A közös adatterületet (KÖZÖS ERÕFORRÁS) egyszerre csak egy folyamat használhatja (KÖLCSÖNÖS KIZÁRÁS)

Közösen használt erõforrások Kölcsönös kizárás szemafor termelõ folyamat közös adat- terület fogyasztó folyamat A közös adatterületet (KÖZÖS ERÕFORRÁS) egyszerre csak egy folyamat használhatja (KÖLCSÖNÖS KIZÁRÁS) Vezérlés: SZEMAFOR segítségével Kölcsönös kizárás igénye nem csak közös memória esetén lép fel; pl. nyomtató közös használata

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat Mielõtt a folyamat használni kezdené a közös erõforrást, ellenõriznie kell, hogy az szabad-e. (Ezt az adott közös erõforráshoz rendelt szemafor jelzi.) CSAK akkor kezdheti el használni, ha a szemafor szabadot jelzett, ellenkezõ esetben várakoznia kell!

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 2. a beolvasott érték vizsgálata

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 2. a beolvasott érték vizsgálata 3. ha szabad: a szemafor foglaltra állítása

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 2. a beolvasott érték vizsgálata 3. ha szabad: a szemafor foglaltra állítása 4. ha foglalt: vissza 1-re

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 2. a beolvasott érték vizsgálata 3. ha szabad: a szemafor foglaltra állítása 4. ha foglalt: vissza 1-re 5. az erõforrás használata (írás a közös memóriába)

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 2. a beolvasott érték vizsgálata 3. ha szabad: a szemafor foglaltra állítása 4. ha foglalt: vissza 1-re 5. az erõforrás használata (írás a közös memóriába) 6. a szemafor szabadra állítása

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték vizsgálata 3. ha szabad: a szemafor foglaltra állítása 4. ha foglalt: vissza 1-re 5. az erõforrás használata (írás a közös memóriába) 6. a szemafor szabadra állítása

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor foglaltra állítása 4. ha foglalt: vissza 1-re 5. az erõforrás használata (írás a közös memóriába) 6. a szemafor szabadra állítása

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor 3. ha szabad: a szemafor foglaltra állítása foglaltra állítása 4. ha foglalt: vissza 1-re 5. az erõforrás használata (írás a közös memóriába) 6. a szemafor szabadra állítása

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor 3. ha szabad: a szemafor foglaltra állítása foglaltra állítása 4. ha foglalt: vissza 1-re 4. ha foglalt: vissza 1-re 5. az erõforrás használata (írás a közös memóriába) 6. a szemafor szabadra állítása

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor 3. ha szabad: a szemafor foglaltra állítása foglaltra állítása 4. ha foglalt: vissza 1-re 4. ha foglalt: vissza 1-re 5. az erõforrás használata 5. az erõforrás használata (írás a közös memóriába) (olv. a közös memóriából) 6. a szemafor szabadra állítása

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor 3. ha szabad: a szemafor foglaltra állítása foglaltra állítása 4. ha foglalt: vissza 1-re 4. ha foglalt: vissza 1-re 5. az erõforrás használata 5. az erõforrás használata (írás a közös memóriába) (olv. a közös memóriából) 6. a szemafor szabadra állítása 6. a szemafor szabadra áll.

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor 3. ha szabad: a szemafor foglaltra állítása foglaltra állítása 4. ha foglalt: vissza 1-re 4. ha foglalt: vissza 1-re 5. az erõforrás használata 5. az erõforrás használata (írás a közös memóriába) (olv. a közös memóriából) 6. a szemafor szabadra állítása 6. a szemafor szabadra áll.

JÓ EZ ?? szemafor termelõ folyamat közös adat- terület fogyasztó 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor 3. ha szabad: a szemafor foglaltra állítása foglaltra állítása 4. ha foglalt: vissza 1-re 4. ha foglalt: vissza 1-re 5. az erõforrás használata 5. az erõforrás használata (írás a közös memóriába) (olv. a közös memóriából) 6. a szemafor szabadra állítása 6. a szemafor szabadra áll. JÓ EZ ??

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor 3. ha szabad: a szemafor foglaltra állítása foglaltra állítása 4. ha foglalt: vissza 1-re 4. ha foglalt: vissza 1-re 5. az erõforrás használata 5. az erõforrás használata (írás a közös memóriába) (olv. a közös memóriából) 6. a szemafor szabadra állítása 6. a szemafor szabadra áll.

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor 3. ha szabad: a szemafor foglaltra állítása foglaltra állítása 4. ha foglalt: vissza 1-re 4. ha foglalt: vissza 1-re 5. az erõforrás használata 5. az erõforrás használata (írás a közös memóriába) (olv. a közös memóriából) 6. a szemafor szabadra állítása 6. a szemafor szabadra áll. KRITIKUS SZEKCIÓ, kritikus szakasz, kritikus régió OSZTHATATLAN MÛVELET (PRIMITÍV)

P és V primitívek Primitív: megszakíthatatlan (oszthatatlan) mûvelet P primitív: FOGLALTTÁ ÁLLÍTÁS V primitív: SZABADDÁ ÁLLÍTÁS

S termelõ folyamat közös adat- terület fogyasztó folyamat P(S);

S termelõ folyamat közös adat- terület fogyasztó folyamat P(S); ÍRÁS A MEMÓRIÁBA

S termelõ folyamat közös adat- terület fogyasztó folyamat P(S); ÍRÁS A MEMÓRIÁBA V(S);

S termelõ folyamat közös adat- terület fogyasztó folyamat P(S); P(S); ÍRÁS A MEMÓRIÁBA V(S);

S termelõ folyamat közös adat- terület fogyasztó folyamat P(S); P(S); ÍRÁS A MEMÓRIÁBA OLV. A MEMÓRIÁBÓL V(S);

S termelõ folyamat közös adat- terület fogyasztó folyamat P(S); P(S); ÍRÁS A MEMÓRIÁBA OLV. A MEMÓRIÁBÓL V(S); V(S);

S termelõ folyamat közös adat- terület fogyasztó folyamat P(S); P(S); ÍRÁS A MEMÓRIÁBA OLV. A MEMÓRIÁBÓL V(S); V(S);

POSTALÁDA

Postaláda kezelés S termelõ folyamat közös adat- terület fogyasztó folyamat Postaláda: olyan közös adatterület, ahová EGYNÉL TÖBB (pl. N db.) üzenet írható

Postaláda kezelés S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES Postaláda: olyan közös adatterület, ahová EGYNÉL TÖBB (pl. N db.) üzenet írható Újabb szemaforok a vezérléshez: TELE ÜRES

Postaláda kezelés Postaláda: olyan közös adatterület, ahová EGYNÉL TÖBB (pl. N db.) üzenet írható 3 db. szemafor kell a vezérléséhez S: a kölcsönös kizárást megvalósító szemafor (bináris; 0=foglalt; 1=szabad; kezdeti értéke: szabad) TELE: a tele helyek száma (nem bináris; értéke 0 és N között lehet; kezdeti értéke:0) ÜRES: az üres helyek száma (nem bináris; értéke 0 és N között lehet; kezdeti értéke:N)

P és V primitívek Primitív: megszakíthatatlan (oszthatatlan) mûvelet P primitív: a paraméterül kapott szemafor értékének EGGYEL CSÖKKENTÉSE (bináris szemafor esetén ez a FOGLALTTÁ ÁLLÍTÁS) V primitív: a paraméterül kapott szemafor értékének EGGYEL NÖVELÉSE (bináris szemafor esetén ez a SZABADDÁ ÁLLÍTÁS) Feltétel: SZABAD = 1 FOGLALT = 0

szemafor termelõ folyamat közös adat- terület fogyasztó folyamat 1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata vizsgálata 3. ha szabad: a szemafor 3. ha szabad: a szemafor foglaltra állítása foglaltra állítása 4. ha foglalt: vissza 1-re 4. ha foglalt: vissza 1-re 5. az erõforrás használata 5. az erõforrás használata (írás a közös memóriába) (olv. a közös memóriából) 6. a szemafor szabadra állítása 6. a szemafor szabadra áll.

1. a szemafor olvasása 1. a szemafor olvasása 2. a beolvasott érték 2. a beolvasott érték vizsgálata nagyobb-e 0-nál? 3. ha szabad: a szemafor 3. ha igen: a szemafor foglaltra állítása értékének csökkentése 4. ha foglalt: vissza 1-re 4. ha nem: vissza 1-re

P és V primitívek Primitív: megszakíthatatlan (oszthatatlan) mûvelet P primitív: a paraméterül kapott szemafor értékének EGGYEL CSÖKKENTÉSE (bináris szemafor esetén ez a FOGLALTTÁ ÁLLÍTÁS) V primitív: a paraméterül kapott szemafor értékének EGGYEL NÖVELÉSE (bináris szemafor esetén ez a SZABADDÁ ÁLLÍTÁS) Feltétel: SZABAD = 1 FOGLALT = 0

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES);

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(S);

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(S); ÍRÁS A MEMÓRIÁBA

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(S); ÍRÁS A MEMÓRIÁBA V(S);

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(S); ÍRÁS A MEMÓRIÁBA V(S); V(TELE);

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(TELE); P(S); ÍRÁS A MEMÓRIÁBA V(S); V(TELE);

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(TELE); P(S); P(S); ÍRÁS A MEMÓRIÁBA V(S); V(TELE);

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(TELE); P(S); P(S); ÍRÁS A MEMÓRIÁBA OLV. A MEMÓRIÁBÓL V(S); V(TELE);

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(TELE); P(S); P(S); ÍRÁS A MEMÓRIÁBA OLV. A MEMÓRIÁBÓL V(S); V(S); V(TELE);

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(TELE); P(S); P(S); ÍRÁS A MEMÓRIÁBA OLV. A MEMÓRIÁBÓL V(S); V(S); V(TELE); V(ÜRES);

S termelõ folyamat közös adat- terület fogyasztó folyamat TELE ÜRES P(ÜRES); P(TELE); P(S); P(S); ÍRÁS A MEMÓRIÁBA OLV. A MEMÓRIÁBÓL V(S); V(S); V(TELE); V(ÜRES);