Semaphore vs. Mutex

Forfatter: Laura McKinney
Oprettelsesdato: 4 April 2021
Opdateringsdato: 10 Kan 2024
Anonim
What is difference between Semaphore and Mutex
Video.: What is difference between Semaphore and Mutex

Indhold

Forskellen mellem semafor og mutex er, at semafor er en signalmekanisme, mens mutex er låsemekanismen.


Operativsystemet er det vigtigste koncept inden for datalogi, i operativsystemet er to hovedkoncepter semafor og mutex. Der er meget forskel mellem en semafor og en mutex. Hvis vi taler om hovedforskellen, er den største forskel mellem semafor og mutex, at semafor er en signalmekanisme, mens mutex er låsemekanismen.

Forskellen mellem semafor og mutex kommer i processerne; semaphore udfører vente- () og signal () -drift, denne funktion er ansvarlig for at vide, om de har erhvervet, eller om de har frigivet ressourcen. På den anden side, hvis vi taler om mutex, er mutex låsemekanismen.

Semafor er en heltalvariabel S; semafor er en signalmekanisme. I et operativsystem er der et behov for et synkroniseringsværktøj, og dette værktøj i operativsystemet er kendt som en semafor. Der er to hovedfunktioner i semafor, der venter (), signal (). Semaforværdi ændres med to funktioner, der venter () og signal (). Når en proces bruger en ressource, er semaforen på vent (), og når processen brugte ressourcen, og denne ressource er fri, giver semaforen signalet (). Disse funktioner, der er ventetid () og signal (), disse bruges, fordi kun en proces kan bruge ressourcen ad gangen. En ressource kan ikke gives til to processer. Der er to typer semafor i operativsystemet, der er binær semafor og tæller semafor. Ved optælling af semafor er den initialiserede værdi antallet af ressourcer, der er tilgængelige. Når en proces bruger en ressource, står den overfor vent () og skal vente på den ressource. Tælling af semaforværdi dekrementeres en efter en. Når en proces bruger en ressource, frigiver den denne ressource og frigørelsessignal (), så den skal være fri til en anden proces. Når antallet af ressourcer er 0, betyder det, at der ikke er nogen ressource tilgængelig til den kommende proces. Der er to værdier i binær semafor, der er 0 og 1. Når processen bruger en ressourceværdi af den binære semafor, er fra 1 til 0, og når en ressource har brugt ressourcen, er værdien af ​​den binære semafor til 1 til 0.


Mutex er også kendt som objekt for gensidig udstødelse. Vi ved, at kun en proces kan bruge en ressource på én gang. Dette er grunden til, at der er et låsesystem, og at låssystemet er kendt som en mutex. Mutex-lås gives til en proces, når denne proces bruger en ressource. Mutex-objekt har et unikt navn og ID. I et program, når der er behov for mutex-lås, kaldes mutex-lås ved navn og ID. Hvis vi ser mutex-koden, vil vi have den klare forståelse af implementeringen og brugen af ​​mutex-lås.

Indhold: Forskel mellem Semaphore og Mutex

  • Sammenligningstabel
  • Semaphore
  • mutex
  • Konklusion
  • Forklarende video

Sammenligningstabel

BasisSemaphoremutex
BetyderSemafor er en signalmekanismeMutex er en låsemekanisme.
VærdiSemafor er et heltal.En mutex er et objekt.
OperationBetjening af semafor vente () og signal ().Betjening af mutex låses og låses op
typerTo typer semafor tæller semafor og binær semafor.Der er ingen typer af en mutex-lås.

Semaphore

Semafor er en heltalvariabel S; semafor er en signalmekanisme. I et operativsystem er der et behov for et synkroniseringsværktøj, og dette værktøj i operativsystemet er kendt som en semafor. Der er to hovedfunktioner i semafor, der venter (), signal (). Semaforværdi ændres med to funktioner, der venter () og signal (). Når en proces bruger en ressource, er semaforen på vent (), og når processen brugte ressourcen, og denne ressource er fri, giver semaforen signalet (). Disse funktioner, der er en ventetid () og signal (), disse bruges, fordi kun en proces kan bruge ressourcen på én gang.


En ressource kan ikke gives til to processer. Der er to typer semafor i operativsystemet, der er binær semafor og tæller semafor. Ved optælling af semafor er den initialiserede værdi antallet af ressourcer, der er tilgængelige. Når en proces bruger en ressource, står den overfor vent () og skal vente på den ressource. Tælling af semaforværdi dekrementeres en efter en. Når en proces bruger en ressource, frigiver den denne ressource og frigørelsessignal (), så den skal være fri til en anden proces. Når antallet af ressourcer er 0, betyder det, at der ikke er nogen ressource tilgængelig til den kommende proces. Der er to værdier i binær semafor, der er 0 og 1. Når processen bruger en ressourceværdi af den binære semafor, er fra 1 til 0, og når en ressource har brugt ressourcen, er værdien af ​​den binære semafor til 1 til 0.

mutex

Mutex er også kendt som objekt for gensidig udstødelse. Vi ved, at kun en proces kan bruge en ressource på én gang. Dette er grunden til, at der er et låsesystem, og at låssystemet er kendt som en mutex. Mutex-lås gives til en proces, når denne proces bruger en ressource. Mutex-objekt har et unikt navn og ID. I et program, når der er behov for mutex-lås, kaldes mutex-lås ved navn og ID. Hvis vi ser mutex-koden, vil vi have den klare forståelse af implementeringen og brugen af ​​mutex-lås.

Nøgleforskel

  1. Semaphore er en signalmekanisme, mens Mutex er låsningen
  2. Semafor er et heltal, mens Mutex er et objekt.
  3. Funktioner af semafor vente () og signal (), mens mutex-operationer er låst og låst op.
  4. To typer semafor tæller semafor og binær semafor, mens der ikke er nogen typer af en mutex

Konklusion

I denne artikel ovenfor ser vi den klare forskel mellem semafor og mutex med deres korrekte implementering.

Forklarende video