Domov vývoj Čo je to semafor? - definícia z technológie

Čo je to semafor? - definícia z technológie

Obsah:

Anonim

Definícia - Čo znamená Semaphore?

Semafor je synchronizačný objekt, ktorý riadi prístup viacerých procesov k spoločnému prostriedku v prostredí paralelného programovania. Semafory sa bežne používajú na riadenie prístupu k súborom a zdieľanej pamäti. Nastavia sa tri základné funkcie spojené so semaformi, skontrolujte ich a počkajte, kým sa neobjasní. |


Semafory sa používajú na riešenie problémov so synchronizáciou referenčných hodnôt.


Koncept semafora navrhol holandský počítačový vedec Edsger Dijkstra.

Techopedia vysvetľuje Semaphore

Semafory sú nezáporné celé čísla, ktoré podporujú operácie semafor-> P () a semafor-> V (). P je atómová operácia, ktorá čaká, až bude semafor pozitívny a potom ho zníži o jednu, zatiaľ čo V je atómová operácia, ktorá inkrementuje semafor o jednu, čo znamená, že prebudí čakajúci P. Test a sada spojená s semaforom sú rutiny implementovaný v hardvéri na koordináciu kritických častí nižšej úrovne.


Semafory sa zvyčajne implementujú pomocou deskriptorov súborov. Tvorby semaforov nie sú atómové. Ak sa dva procesy pokúsia vytvoriť, inicializovať a použiť semafor súčasne, vytvorí sa závodná podmienka. Semafory sa vytvárajú a inicializujú na kladnú hodnotu, aby ukazovali dostupnosť zdroja, ktorý sa má použiť. Semafory je možné implementovať prerušením alebo pomocou operácií testovacej sady.


Každý semafor udržiava súbory povolení. Obmedzuje počet vlákien prístup k zdrojom. Semafory s jediným povolením a inicializované do jedného slúžia ako zámky vzájomného vylúčenia. Označujú sa ako také, pretože majú iba dva stavy: dostupné povolenie alebo nulové povolenie. Týmto sa uzavrie vlastnosť, aby sa zámok mohol uvoľniť iným vláknom ako vlastníkom, čo pomáha pri zotavení z zablokovania. Semafory sa používajú na vzájomné vylúčenia, keď semafor má počiatočnú hodnotu jedna a P () a V () sa volajú pred a za kritickými sekciami.

Čo je to semafor? - definícia z technológie