Semafor vs. Mutex

Autor: Laura McKinney
Datum Vytvoření: 4 Duben 2021
Datum Aktualizace: 10 Smět 2024
Anonim
What is difference between Semaphore and Mutex
Video: What is difference between Semaphore and Mutex

Obsah

Rozdíl mezi semaforem a mutexem spočívá v tom, že semafor je signalizační mechanismus, zatímco mutex je blokovací mechanismus.


Operační systém je nejdůležitější koncept v informatice, v operačním systému jsou dva hlavní pojmy semafor a mutex. Mezi semaforem a mutexem je velký rozdíl. Pokud mluvíme o hlavním rozdílu, pak hlavní rozdíl mezi semaforem a mutexem je, že semafor je signalizační mechanismus, zatímco mutex je blokovací mechanismus.

Rozdíl mezi semaforem a mutexem přichází v procesech; Semafor provádí operace wait () a signal (), tato funkce je zodpovědná za to, zda věděli, zda získali nebo uvolnili zdroj. Na druhou stranu, pokud mluvíme o mutexu, mutex je blokovacím mechanismem.

Semafor je celé číslo S; semafor je signalizační mechanismus. V operačním systému existuje potřeba synchronizačního nástroje a tento nástroj v operačním systému je známý jako semafor. Existují dvě hlavní funkce semaforu, které čekají (), signal (). Hodnota Semaphore se mění pomocí dvou funkcí, které čekají () a signal (). Pokud proces používá prostředek, je semafor v čekání () a když proces použil prostředek a tento zdroj je volný, pak semafor vydá signál (). Tyto funkce, které jsou wait () a signal (), se používají, protože prostředek může současně použít pouze jeden proces. Jeden prostředek nelze poskytnout dvěma procesům. V operačním systému jsou dva typy semaforů, které jsou binární semafor a počítající semafor. Při počítání semaforu je inicializovaná hodnota počet dostupných zdrojů. Když proces používá prostředek, čelí wait () a musí čekat na tento prostředek. Počítání hodnoty semaforu se postupně snižuje. Pokud proces používá prostředek, uvolní tento prostředek a uvolňovací signál (), takže musí být pro jiný proces volný. Pokud je počet prostředků 0, znamená to, že pro nadcházející proces není k dispozici žádný prostředek. Existují dvě hodnoty v binárním semaforu, které jsou 0 a 1. Když proces používá hodnotu zdroje binárního semaforu je od 1 do 0 a když prostředek použil zdroj, pak hodnota binárního semaforu na 1 až 0.


Mutex je také známý jako objekt vzájemného vyloučení. Víme, že pouze jeden proces může použít zdroj současně. To je důvod, proč existuje systém zamykání a tento systém zámku je známý jako mutex. Mutexový zámek je dán procesu, když tento proces používá prostředek. Objekt Mutex má jedinečný název a ID. V programu, kdykoli je potřeba mutex lock, se mutex lock nazývá svým jménem a ID. Pokud uvidíme kód mutexu, budeme mít jasnou představu o implementaci a použití mutexového zámku.

Obsah: Rozdíl mezi Semaphore a Mutex

  • Srovnávací tabulka
  • Semafor
  • Mutex
  • Závěr
  • Vysvětlující video

Srovnávací tabulka

ZákladSemaforMutex
VýznamSemafor je signalizační mechanismusMutex je blokovací mechanismus.
HodnotaSemafor je celé číslo.Mutex je objekt.
ÚkonOperace semaforu wait () a signal ().Operace mutexu jsou zamčené a odemknuté
TypyDva typy semaforů počítají semafor a binární semafor.Nejsou žádné typy mutexového zámku.

Semafor

Semafor je celé číslo S; semafor je signalizační mechanismus. V operačním systému existuje potřeba synchronizačního nástroje a tento nástroj v operačním systému je známý jako semafor. Existují dvě hlavní funkce semaforu, které čekají (), signal (). Hodnota Semaphore se mění pomocí dvou funkcí, které čekají () a signal (). Pokud proces používá prostředek, je semafor v čekání () a když proces použil prostředek a tento zdroj je volný, pak semafor vydá signál (). Tyto funkce, které jsou wait () a signal (), se používají, protože prostředek může současně použít pouze jeden proces.


Jeden prostředek nelze poskytnout dvěma procesům. V operačním systému jsou dva typy semaforů, které jsou binární semafor a počítající semafor. Při počítání semaforu je inicializovaná hodnota počet zdrojů, které jsou k dispozici. Když proces používá prostředek, čelí wait () a musí čekat na tento prostředek. Počítání hodnoty semaforu se postupně snižuje. Pokud proces používá prostředek, uvolní tento prostředek a uvolňovací signál (), takže musí být pro jiný proces volný. Pokud je počet prostředků 0, znamená to, že pro nadcházející proces není k dispozici žádný prostředek. Existují dvě hodnoty v binárním semaforu, které jsou 0 a 1. Když proces používá hodnotu zdroje binárního semaforu je od 1 do 0 a když prostředek použil zdroj, pak hodnota binárního semaforu na 1 až 0.

Mutex

Mutex je také známý jako objekt vzájemného vyloučení. Víme, že pouze jeden proces může použít zdroj současně. To je důvod, proč existuje systém zamykání a tento systém zámku je známý jako mutex. Mutexový zámek je dán procesu, když tento proces používá prostředek. Objekt Mutex má jedinečný název a ID. V programu, kdykoli je potřeba mutex lock, se mutex lock nazývá svým jménem a ID. Pokud uvidíme kód mutexu, budeme mít jasnou představu o implementaci a použití mutexového zámku.

Klíčový rozdíl

  1. Semafor je signalizační mechanismus, zatímco blokování je Mutex
  2. Semafor je celé číslo, zatímco Mutex je objekt.
  3. Operace semaforového čekání () a signálu (), zatímco operace mutexu jsou zamčené a odemknuté.
  4. Dva typy semaforu počítají semafor a binární semafor, zatímco neexistují žádné typy mutexů

Závěr

V tomto článku výše vidíme jasný rozdíl mezi semaforem a mutexem s jejich správnou implementací.

Vysvětlující video