Semaforas ir Mutex
Turinys
- Turinys: skirtumas tarp semaforo ir „Mutex“
- Palyginimo diagrama
- Semaforas
- Muteksas
- Išvada
- Aiškinamasis vaizdo įrašas
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
Pagrindas | Semaforas | Muteksas |
Reikšmė | Semaforas yra signalizacijos mechanizmas | Mutex yra fiksavimo mechanizmas. |
Vertė | Semaforas yra sveikasis skaičius. | Muteksas yra objektas. |
Operacija | Semaforo laukimo () ir signalo () operacijos. | „Mutex“ operacijos yra užraktas ir atrakinimas |
Tipai | Dviejų 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
- Semaforas yra signalizacijos mechanizmas, o „Mutex“ - užraktas
- Semaforas yra sveikas skaičius, o „Mutex“ yra objektas.
- Semaforo laukimo () ir signalo () operacijos, o mutekso operacijos yra užraktas ir atrakinimas.
- 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.