Semafor proti Mutexu

Avtor: Laura McKinney
Datum Ustvarjanja: 4 April 2021
Datum Posodobitve: 10 Maj 2024
Anonim
Section 5
Video.: Section 5

Vsebina

Razlika med semaforjem in muteksom je v tem, da je semafor signalni mehanizem, medtem ko je mutex zaklepni mehanizem.


Operacijski sistem je najpomembnejši pojem v računalništvu, v operacijskem sistemu sta dva glavna koncepta semafor in mutex. Med semaforjem in muteksom je veliko razlik. Če govorimo o glavni razliki, potem je glavna razlika med semaforjem in muteksom v tem, da je semafor signalni mehanizem, medtem ko je mutex zaklepni mehanizem.

Razlika med semaforjem in muteksom prihaja v procesih; semafor izvaja delovanje čakanja () in signala (), ta funkcija je odgovorna za to, ali so vir pridobili ali so ga sprostili. Po drugi strani pa, če govorimo o mutexu, je mutex mehanizem za zaklepanje.

Semafor je cela spremenljivka S; semafor je signalni mehanizem. V operacijskem sistemu je potrebno orodje za sinhronizacijo in to orodje v operacijskem sistemu je znano kot semafor. Obstajata dve glavni funkciji semaforja, ki čakata (), signal (). Vrednost semaforja se spremeni z dvema funkcijama, ki čakata () in signalizirata (). Kadar postopek uporablja vir, je semafor na čakanju (), in ko je postopek uporabil vir, in ta vir je prost, potem semafor odda signal (). Te funkcije, ki čakata () in signal (), se uporabljajo, ker lahko samo en postopek hkrati uporablja vir. Enega vira ni mogoče podati dvema procesoma. V operacijskem sistemu obstajata dve vrsti semaforja, ki sta binarni semafor in štetje semaforja. Pri štetju semaforja je inicializirana vrednost število razpoložljivih virov. Ko postopek uporablja vir, se sooči s funkcijo wait () in mora čakati na ta vir. Vrednost štetja semaforja se zmanjšuje ena za drugo. Ko postopek uporablja vir, ta vir sprosti in sprosti signal (), tako da mora biti prost za drug postopek. Ko je število virov 0, to pomeni, da za prihodnji postopek ni na voljo nobenih virov. V binarnem semaforju sta dve vrednosti, ki sta 0 in 1. Ko postopek uporablja vrednost vira, je binarni semafor od 1 do 0, kadar pa je vir uporabil vir, je vrednost binarnega semaforja 1 do 0.


Mutex je znan tudi kot predmet vzajemne izključitve. Vemo, da lahko samo en postopek hkrati uporablja vir. To je razlog, da obstaja sistem zaklepanja in ta sistem ključavnice je znan kot mutex. Mutex lock je dodeljen postopku, ko ta postopek uporablja vir. Objekt Mutex ima edinstveno ime in ID. V programu, kadar je potrebno zaklepanje mutex, se mutex zaklene po njegovem imenu in ID-ju. Če bomo videli kodo mutex, bomo imeli jasno razumevanje izvajanja in uporabe mutex lock.

Vsebina: Razlika med Semaphore in Mutexom

  • Primerjalna tabela
  • Semafor
  • Mutex
  • Zaključek
  • Pojasnjevalni video

Primerjalna tabela

OsnoveSemaforMutex
PomenSemafor je signalni mehanizemMutex je mehanizem zaklepanja.
VrednostSemafor je celo število.Mutex je predmet.
DelovanjeOperacije semaforja čakajo () in signala ().Operacije mutexa so zaklepanje in odklepanje
VrsteDve vrsti semaforja štejeta semafor in binarni semafor.Ni vrst ključavnice mutex.

Semafor

Semafor je cela spremenljivka S; semafor je signalni mehanizem. V operacijskem sistemu je potrebno orodje za sinhronizacijo in to orodje v operacijskem sistemu je znano kot semafor. Obstajata dve glavni funkciji semaforja, ki čakata (), signal (). Vrednost semaforja se spremeni z dvema funkcijama, ki čakata () in signalizirata (). Kadar postopek uporablja vir, je semafor na čakanju (), in ko je postopek uporabil vir, in ta vir je prost, potem semafor odda signal (). Te funkcije, ki sta čakanje () in signal (), se uporabljajo, ker lahko samo en postopek hkrati uporablja vir.


Enega vira ni mogoče podati dvema procesoma. V operacijskem sistemu obstajata dve vrsti semaforja, ki sta binarni semafor in štetje semaforja. Pri štetju semaforja je inicializirana vrednost število razpoložljivih virov. Ko postopek uporablja vir, se sooči s funkcijo wait () in mora čakati na ta vir. Vrednost štetja semaforja se zmanjšuje ena za drugo. Ko postopek uporablja vir, ta vir sprosti in sprosti signal (), tako da mora biti prost za drug postopek. Ko je število virov 0, to pomeni, da za prihodnji postopek ni na voljo nobenih virov. V binarnem semaforju sta dve vrednosti, ki sta 0 in 1. Ko postopek uporablja vrednost vira, je binarni semafor od 1 do 0, kadar pa je vir uporabil vir, je vrednost binarnega semaforja 1 do 0.

Mutex

Mutex je znan tudi kot predmet vzajemne izključitve. Vemo, da lahko samo en postopek hkrati uporablja vir. To je razlog, da obstaja sistem zaklepanja in ta sistem ključavnice je znan kot mutex. Mutex lock je dodeljen postopku, ko ta postopek uporablja vir. Objekt Mutex ima edinstveno ime in ID. V programu, kadar je potrebno zaklepanje mutex, se mutex zaklene po njegovem imenu in ID-ju. Če bomo videli kodo mutex, bomo imeli jasno razumevanje izvajanja in uporabe mutex lock.

Ključna razlika

  1. Semafor je signalni mehanizem, medtem ko je Mutex zaklepanje
  2. Semafor je celo število, medtem ko je Mutex objekt.
  3. Operacije semaforja čakajo () in signala (), medtem ko operacije muteksa zaklenejo in odklenejo.
  4. Dve vrsti semaforja štejeta semafor in binarni semafor, medtem ko ni vrste muteksa

Zaključek

V zgornjem članku vidimo jasno razliko med semaforjem in muteksom s pravilno izvedbo.

Pojasnjevalni video