Domov Rozvoj Co je semafor? - definice z techopedie

Co je semafor? - definice z techopedie

Obsah:

Anonim

Definice - Co znamená Semaphore?

Semafor je synchronizační objekt, který řídí přístup několika procesů ke společnému prostředku v paralelním programovacím prostředí. Semafory se široce používají k řízení přístupu k souborům a sdílené paměti. Jsou nastaveny tři základní funkce spojené se semafory, zkontrolujte a vyčkejte, až se zruší, aby se znovu nastavily. |


Semafory se používají k řešení problémů se synchronizací benchmarků.


Koncept semaforu navrhl nizozemský počítačový vědec Edsger Dijkstra.

Techopedia vysvětluje Semaphore

Semafory jsou nezáporné celočíselné hodnoty, které podporují operace semafor-> P () a semafor-> V (). P je atomová operace, která čeká na to, aby byl semafor pozitivní, a pak ho o jednu sníží, zatímco V je atomová operace, která zvýší semafor o jednu, což znamená, že probudí čekající P. Test a sada spojená s semaforem jsou rutiny implementován v hardwaru pro koordinaci kritických sekcí nižší úrovně.


Semafory jsou obvykle implementovány pomocí deskriptorů souborů. Semaforové výtvory nejsou atomové. Pokud se dva procesy pokusí vytvořit, inicializovat a použít semafor současně, vytvoří se závod. Semafory jsou vytvářeny a inicializovány do kladné hodnoty, aby se ukázala dostupnost zdroje, který má být použit. Semafory mohou být implementovány pomocí přerušení nebo pomocí operací testovací sady.


Každý semafor udržuje sady povolení. Omezuje počet vláken přístupu k prostředkům. Semafory s jediným povolením a inicializované do jednoho slouží jako zámky vzájemného vyloučení. Jsou označováni jako takové, protože mají pouze dva stavy: dostupné povolení nebo nulové povolení. Tím je uzavřena vlastnost, takže zámek může být uvolněn jiným vláknem než vlastníkem, což pomáhá při zotavení z zablokování. Semafory se používají pro vzájemné vyloučení, kde má semafor počáteční hodnotu jedna a P () a V () se volají před a za kritickými sekcemi.

Co je semafor? - definice z techopedie