Semaphore vs. Mutex

Forfatter: Laura McKinney
Opprettelsesdato: 4 April 2021
Oppdater Dato: 10 Kan 2024
Anonim
What is difference between Semaphore and Mutex
Video: What is difference between Semaphore and Mutex

Innhold

Forskjellen mellom semafor og mutex er at semafor er en signalmekanisme mens mutex er låsemekanismen.


Operativsystemet er det viktigste konseptet innen informatikk, i operativsystemet er to hovedkonsepter semafor og mutex. Det er mye forskjell mellom en semafor og en mutex. Hvis vi snakker om hovedforskjellen, er hovedforskjellen mellom semafor og mutex at semafor er en signalmekanisme mens mutex er låsemekanismen.

Forskjellen mellom semafor og mutex kommer i prosessene; semaphore utfører vente () og signal () drift, denne funksjonen er ansvarlig for å vite om de har anskaffet eller om de har gitt ut ressursen. På den annen side, hvis vi snakker om mutex, er mutex låsemekanismen.

Semafor er en heltalvariabel S; semafor er en signaliseringsmekanisme. I et operativsystem er det behov for et synkroniseringsverktøy, og det verktøyet i operativsystemet er kjent som en semafor. Det er to hovedfunksjoner i semafor som venter (), signal (). Semaforverdien endres med to funksjoner som venter () og signal (). Når en prosess bruker en ressurs, er semaforen på vent (), og når prosessen brukte ressursen, og den ressursen er gratis, gir semaforen signalet (). Disse funksjonene som er ventetid () og signal (), disse blir brukt fordi bare en prosess kan bruke ressursen på en gang. Én ressurs kan ikke gis til to prosesser. Det er to typer semafor i operativsystemet som er binær semafor og teller semafor. Når du teller semafor, er den initialiserte verdien antall ressurser som er tilgjengelige. Når en prosess bruker en ressurs, står den overfor vent () og må vente på den ressursen. Telling semaforverdi blir dekrementert en etter en. Når en prosess bruker en ressurs, frigjør den den ressursen og utgivelsessignalet () slik at det må være gratis for en annen prosess. Når antall ressurser er 0, betyr det at ingen ressurs er tilgjengelig for den kommende prosessen. Det er to verdier i binær semafor som er 0 og 1. Når prosessen bruker en ressursverdi for den binære semaforen er fra 1 til 0, og når en ressurs har brukt ressursen, blir verdien av den binære semaforen til 1 til 0.


Mutex er også kjent som gjensidig utelukkelsesobjekt. Vi vet at bare en prosess kan bruke en ressurs på en gang. Dette er grunnen til at det er et låsesystem, og at låssystemet er kjent som en mutex. Mutex-lås gis til en prosess når den prosessen bruker en ressurs. Mutex-objektet har et unikt navn og ID. I et program når det er behov for mutexlås, kalles mutexlås ved navn og ID. Hvis vi ser koden til mutex, vil vi ha den klare forståelsen av implementeringen og bruken av mutex-lås.

Innhold: Forskjell mellom Semaphore og Mutex

  • Sammenligningstabell
  • semafor
  • mutex
  • Konklusjon
  • Forklarende video

Sammenligningstabell

Basissemaformutex
BetydningSemafor er en signaliseringsmekanismeMutex er en låsemekanisme.
VerdiSemafor er et heltall.En mutex er et objekt.
OperasjonOperasjoner av semafor vente () og signal ().Operasjoner av mutex låses og låses opp
typerTo typer semafor er tellende semafor og binær semafor.Det er ingen typer mutex-lås.

semafor

Semafor er en heltalvariabel S; semafor er en signaliseringsmekanisme. I et operativsystem er det behov for et synkroniseringsverktøy, og det verktøyet i operativsystemet er kjent som en semafor. Det er to hovedfunksjoner i semafor som venter (), signal (). Semaforverdien endres med to funksjoner som venter () og signal (). Når en prosess bruker en ressurs, er semaforen på vent (), og når prosessen brukte ressursen, og den ressursen er gratis, gir semaforen signalet (). Disse funksjonene som er en ventetid () og signal (), disse brukes fordi bare en prosess kan bruke ressursen på en gang.


Én ressurs kan ikke gis til to prosesser. Det er to typer semafor i operativsystemet som er binær semafor og teller semafor. Ved å telle semafor er initialisert verdi antall ressurser som er tilgjengelige. Når en prosess bruker en ressurs, står den overfor vent () og må vente på den ressursen. Telling semaforverdi blir dekrementert en etter en. Når en prosess bruker en ressurs, frigjør den den ressursen og utgivelsessignalet () slik at det må være gratis for en annen prosess. Når antall ressurser er 0, betyr det at ingen ressurs er tilgjengelig for den kommende prosessen. Det er to verdier i binær semafor som er 0 og 1. Når prosessen bruker en ressursverdi for den binære semaforen er fra 1 til 0, og når en ressurs har brukt ressursen, blir verdien av den binære semaforen til 1 til 0.

mutex

Mutex er også kjent som gjensidig utelukkelsesobjekt. Vi vet at bare en prosess kan bruke en ressurs på en gang. Dette er grunnen til at det er et låsesystem, og at låssystemet er kjent som en mutex. Mutex-lås gis til en prosess når den prosessen bruker en ressurs. Mutex-objektet har et unikt navn og ID. I et program når det er behov for mutexlås, kalles mutexlås ved navn og ID. Hvis vi ser koden til mutex, vil vi ha den klare forståelsen av implementeringen og bruken av mutex-lås.

Nøkkelforskjell

  1. Semaphore er en signalmekanisme mens Mutex er låsningen
  2. Semafor er et helt tall mens Mutex er et objekt.
  3. Operasjoner av semafor vente () og signal () mens operasjoner av mutex er låst og låst opp.
  4. To typer semafor teller semafor og binær semafor, mens det ikke er noen typer mutex

Konklusjon

I denne artikkelen over ser vi den klare forskjellen mellom semafor og mutex med riktig implementering.

Forklarende video