Semaforas ir Mutex

Autorius: Laura McKinney
Kūrybos Data: 4 Balandis 2021
Atnaujinimo Data: 10 Gegužė 2024
Anonim
What is difference between Semaphore and Mutex
Video.: What is difference between Semaphore and Mutex

Turinys

Skirtumas tarp semaforo ir mutekso yra tas, kad semaforas yra signalizacijos mechanizmas, o muteksas yra fiksavimo mechanizmas.


Operacinė sistema yra svarbiausia sąvoka kompiuterių moksle, operacinėje sistemoje dvi pagrindinės sąvokos yra semaforas ir muteksas. Tarp semaforo ir mutekso yra labai daug skirtumų. Jei mes kalbėsime apie pagrindinį skirtumą, tada pagrindinis skirtumas tarp semaforo ir mutekso yra tas, kad semaforas yra signalizacijos mechanizmas, o mutex yra fiksavimo mechanizmas.

Skirtumas tarp semaforo ir mutekso atsiranda procesuose; semaforas atlieka laukimo () ir signalo () operaciją, ši funkcija yra atsakinga už žinojimą, ar jie įsigijo, ar išleido resursą. Kita vertus, jei mes kalbame apie mutex, mutex yra fiksavimo mechanizmas.

Semaforas yra sveikasis kintamasis S; semaforas yra signalizacijos mechanizmas. Operacinėje sistemoje reikia sinchronizacijos įrankio, o tas įrankis operacinėje sistemoje yra žinomas kaip semaforas. Yra dvi pagrindinės semaforo funkcijos, kurios laukia (), signalo (). Semaforo reikšmė keičiama dviem funkcijomis, kurios laukia () ir signalo (). Kai procesas naudoja išteklius, semaforo laukiama (), o kai procesas naudoja išteklius, o tas išteklius yra nemokamas, tada semaforas duoda signalą (). Šios funkcijos, kurios yra laukimas () ir signalas (), yra naudojamos, nes išteklius vienu metu gali naudoti tik vienas procesas. Vieno šaltinio negalima duoti dviem procesams. Operacinėje sistemoje yra du semaforo tipai, kurie yra dvejetainis semaforas ir skaičiuojantis semaforą. Skaičiuojant semaforą, pradinė vertė yra turimų išteklių skaičius. Kai procesas naudoja išteklius, jo laukiama () ir jo reikia laukti. Skaičiuojant semaforo vertę, mažinama viena po kitos. Kai procesas naudoja išteklius, jis išleidžia tą išteklius ir išleidimo signalą (), kad kitam procesui jis turėtų būti laisvas. Kai išteklių skaičius yra 0, tai reiškia, kad būsimam procesui išteklių nėra. Dvejetainiame semafore yra dvi reikšmės: 0 ir 1. Kai procesas naudojamas dvejetainio semaforo išteklių vertei yra nuo 1 iki 0, o kai resursas panaudojo resursą, tada dvejetainio semaforo vertė yra nuo 1 iki 0.


Mutex taip pat žinomas kaip savitarpio atskirties objektas. Žinome, kad šaltinį vienu metu gali naudoti tik vienas procesas. Dėl šios priežasties egzistuoja užrakinimo sistema, o užrakto sistema yra žinoma kaip muteksas. „Mutex“ užraktas suteikiamas procesui, kai šis procesas naudoja išteklius. „Mutex“ objektas turi unikalų pavadinimą ir ID. Programoje, kai reikia „mutex lock“, „mutex lock“ vadinama jos pavadinimu ir ID. Jei pamatysime „mutex“ kodą, turėsime aiškų supratimą apie „mutex“ užrakto įgyvendinimą ir naudojimą.

Turinys: skirtumas tarp semaforo ir „Mutex“

  • Palyginimo diagrama
  • Semaforas
  • Muteksas
  • Išvada
  • Aiškinamasis vaizdo įrašas

Palyginimo diagrama

PagrindasSemaforasMuteksas
ReikšmėSemaforas yra signalizacijos mechanizmasMutex yra fiksavimo mechanizmas.
VertėSemaforas yra sveikasis skaičius.Muteksas yra objektas.
OperacijaSemaforo laukimo () ir signalo () operacijos.„Mutex“ operacijos yra užraktas ir atrakinimas
TipaiDviejų tipų semaforai yra semaforo ir dvejetainio semaforo skaičiavimas.Nėra „Mutex“ užrakto tipų.

Semaforas

Semaforas yra sveikasis kintamasis S; semaforas yra signalizacijos mechanizmas. Operacinėje sistemoje reikia sinchronizacijos įrankio, o tas įrankis operacinėje sistemoje yra žinomas kaip semaforas. Yra dvi pagrindinės semaforo funkcijos, kurios laukia (), signalo (). Semaforo reikšmė keičiama dviem funkcijomis, kurios laukia () ir signalo (). Kai procesas naudoja išteklius, semaforo laukiama (), o kai procesas naudoja išteklius, o tas išteklius yra nemokamas, tada semaforas duoda signalą (). Šios funkcijos, kurios yra laukimas () ir signalas (), yra naudojamos, nes išteklius vienu metu gali naudoti tik vienas procesas.


Vieno šaltinio negalima duoti dviem procesams. Operacinėje sistemoje yra du semaforo tipai, kurie yra dvejetainis semaforas ir skaičiuojantis semaforą. Skaičiuojant semaforą, pradinė vertė yra turimų išteklių skaičius. Kai procesas naudoja išteklius, jo laukiama () ir jo reikia laukti. Skaičiuojant semaforo vertę, mažinama viena po kitos. Kai procesas naudoja išteklius, jis išleidžia tą išteklius ir išleidimo signalą (), kad kitam procesui jis turėtų būti laisvas. Kai išteklių skaičius yra 0, tai reiškia, kad būsimam procesui išteklių nėra. Dvejetainiame semafore yra dvi reikšmės: 0 ir 1. Kai procesas naudojamas dvejetainio semaforo išteklių vertei yra nuo 1 iki 0, o kai resursas panaudojo resursą, tada dvejetainio semaforo vertė yra nuo 1 iki 0.

Muteksas

Mutex taip pat žinomas kaip savitarpio atskirties objektas. Žinome, kad šaltinį vienu metu gali naudoti tik vienas procesas. Dėl šios priežasties egzistuoja užrakinimo sistema, o užrakto sistema yra žinoma kaip muteksas. „Mutex“ užraktas suteikiamas procesui, kai šis procesas naudoja išteklius. „Mutex“ objektas turi unikalų pavadinimą ir ID. Programoje, kai reikia „mutex lock“, „mutex lock“ vadinama jos pavadinimu ir ID. Jei pamatysime „mutex“ kodą, turėsime aiškų supratimą apie „mutex“ užrakto įgyvendinimą ir naudojimą.

Pagrindinis skirtumas

  1. Semaforas yra signalizacijos mechanizmas, o „Mutex“ - užraktas
  2. Semaforas yra sveikas skaičius, o „Mutex“ yra objektas.
  3. Semaforo laukimo () ir signalo () operacijos, o mutekso operacijos yra užraktas ir atrakinimas.
  4. Du semaforų tipai yra semaforo ir dvejetainio semaforo skaičiavimas, tuo tarpu mutekso tipų nėra

Išvada

Šiame aukščiau esančiame straipsnyje matome aiškų skirtumą tarp semaforo ir mutekso tinkamai juos įgyvendinant.

Aiškinamasis vaizdo įrašas