Tartalomjegyzék:
Meghatározás - Mit jelent a szemafor?
A szemafor egy szinkronizálási objektum, amely több folyamat révén vezérli a hozzáférést egy közös erőforráshoz párhuzamos programozási környezetben. A szemaforákat széles körben használják a fájlokhoz és a megosztott memóriához való hozzáférés vezérlésére. A szemaforokhoz kapcsolódó három alapvető funkció be van állítva, ellenőrizze és várja meg, amíg törlődik, hogy újra beállítsa. |
A szemaforákat a benchmark szinkronizálási problémák kezelésére használják.
A szemafor fogalmát Edsger Dijkstra holland számítástechnikai tudósító fogalmazta meg.
A Techopedia magyarázza a Semaphore-ot
A szemaforok nem negatív egész értékek, amelyek támogatják a semafor-> P () és a szemafor-> V () műveleteket. P egy atomművelet, amely arra vár, hogy egy szemafor pozitív legyen, majd egyrészt csökkenjen, míg V egy atomi művelet, amely egy szemaforot növeli egynel, ami azt jelenti, hogy felébreszti a várakozó P értéket. A szemaforhoz társított teszt és készlet rutin hardverben megvalósítva az alacsonyabb szintű kritikus szakaszok összehangolására.
A szemaforákat általában fájlleírókkal valósítják meg. A szemaforok alkotása nem atomi. Ha két folyamat megkísérel egy szemafor létrehozását, inicializálását és használatát egyszerre, akkor versenyfeltétel jön létre. A szemaforákat létrehozzuk és pozitív értékre inicializáljuk, hogy megmutassuk a felhasználható erőforrások rendelkezésre állását. A szemaforok megszakítással vagy tesztkészlet műveletekkel valósíthatók meg.
Minden szemafor fenntartja az engedélykészleteket. Ez korlátozza az erőforrásokhoz hozzáférő szálak számát. A csak egy engedéllyel rendelkező és az egyikre inicializált szemaforok kölcsönös kizárási zárakként szolgálnak. Ilyenként hivatkoznak rájuk, mivel csak két állapotuk van: van engedély vagy nulla. Ez bezárja a tulajdonságot, így a zár nem a tulajdonos szálat engedheti el, ez segít a patthelyzet helyreállításában. A szemaforokat használjuk a kölcsönös kizárásokhoz, ahol a szemafor kezdeti értéke egy, a P () és V () -ot pedig a kritikus szakaszok elõtt és után hívják.
