31) Mi az a „kritikus szakasz”, „kritikus adatok”, „kölcsönös kizárás” flow
Egy fontos fogalom a koncepció szinkronizálja a mozgás a „kritikus szakasz” a program. Kritikus szakasz - a program része, melynek eredménye megváltozhat kiszámíthatatlanul, ha közös adat változik a többi szál, amikor a végrehajtás e rész még nem fejeződött be. A kritikus szakasz mindig határozza tekintettel bizonyos kritikus adatok, a következetlen változás, ami előfordulhat nemkívánatos hatásokat. Minden patakok, dolgozó kritikus adatok, a kritikus szakaszban meg kell határozni. A különböző áramlási kritikus szakasz áll általában a másik parancsot szekvenciák.
32) Ismertesse a lényege blokkoióoligonukleotidok változók.
A szinkronizálást szálak, programozó használhatja a globális változók blokk. Ezekkel változók, amelyekre minden szál közvetlen hozzáférést, a programozó dolgozik anélkül, hogy a rendszer hívásokat.
Minden egyes kritikus adatok rendelt bináris változó, amely meghatározza az áramlási érték 0, amikor belép a kritikus szakaszt, és az értéke 1, ha elhagyja azt. Blokkoló változókat lehet használni nem csak az adatokhoz való hozzáférés, hanem a megosztott erőforrások bármilyen. Amikor blokkoló változók van egy határ, hogy szakítsa meg: ne szakítsa meg az áramlás vizsgálat végrehajtását működését és a létesítmény egy blokkoló változó.
Végrehajtásának kölcsönös kizárás módon blokkolja változók jelentős hátránya, nevezetesen idején, amikor egy szál kritikus szakaszban, egy másik szál, amely előírja, ugyanazt az erőforrást elérésével a processzor folyamatosan lekérdezi a blokkoló változó hulladék az idejüket szelet .
33) Magyarázza a lényege a használatát szemaforokkal.
Hogy szinkronizálja a folyamat, hanem, hogy szinkronizálja hozzáférés több folyamat által a megosztott erőforrások felhasználásával szemaforokat. Mint az egyik formája IPC szemaforok nem szánják cseréje nagy mennyiségű adat, mint abban az esetben, FIFO vagy sorban. Ehelyett betöltheti a nevét -, hogy engedélyezze vagy megtiltsa a folyamata egy megosztott erőforrás.
Használata szemaforokkal megmagyarázni a legegyszerűbb példa. Tegyük fel, hogy van egy közös erőforrás (pl fájl). Szükséges, hogy blokkolja a hozzáférést az erőforrás más folyamatok, amikor a folyamat műveletet hajt végre egy forrás (például írásban a fájlt). Erre a célra társítani erőforrás néhány egész érték - számláló áll rendelkezésre az összes folyamathoz. Tegyük fel, hogy a számláló értéke 1 azt jelenti, az erőforrás rendelkezésre álló, 0 - megközelíthetősége. Ezután a munka megkezdése előtt a forrás folyamatot ellenőrizni kell a számláló értékét. Ha ez 0 - erőforrás foglalt, és a művelet nem engedélyezett - a folyamat vár. Ha a számláló értéke 1 - ez lehet dolgozni az erőforrást. Erre a célra, mindenekelőtt szükséges, hogy rögzítse egy erőforrás, t. E. megváltoztatni a számláló értékét 0-ra Az operáció után felszabadítására a számláló értékét meg kell változtatni 1. A példában a szemafor számláló szerepet játszik.