Szemafor vs Mutex
Tartalom
- Tartalom: Különbség a szemafor és a Mutex között
- Összehasonlító táblázat
- Szemafor
- mutex
- Következtetés
- Magyarázó videó
A szemafor és a mutex közötti különbség az, hogy a semafor egy jelző mechanizmus, míg a mutex a reteszelő mechanizmus.
Az operációs rendszer a számítógépes tudomány legfontosabb fogalma, az operációs rendszerben két fő fogalom a szemafor és a mutex. Nagyon sok különbség van a szemafor és a mutex között. Ha a fő különbségről beszélünk, akkor a szemafor és a mutex közötti fő különbség az, hogy a semafor egy jelző mechanizmus, míg a mutex a reteszelő mechanizmus.
A szemafor és a mutex közötti különbség a folyamatokban jön létre; A semafor elvégzi a várakozás () és a jel () műveletet, ez a funkció felelős annak megismeréséért, hogy megszerezte-e vagy kiadta-e az erőforrást. Másrészt, ha a mutexről beszélünk, akkor a mutex a reteszelő mechanizmus.
A szemafor egy egész S változó; A szemafor egy jelző mechanizmus. Egy operációs rendszerben szükség van egy szinkronizáló eszközre, és az operációs rendszerben ezt az eszközt szemafornak nevezik. A szemafornak két fő funkciója van, amelyek várnak (), jelet (). A szemafor értékét két funkcióval változtatjuk meg, amelyek várnak () és jelet (). Ha egy folyamat erőforrást használ, akkor a szemafor vár (), és amikor a folyamat az erőforrást használja, és ez az erőforrás ingyenes, akkor a szemafor adja a () jelet. Ezeket a várakozás () és a jel () funkciókat használják, mert csak egy folyamat tudja használni az erőforrást egyszerre. Egy erőforrás nem adható két folyamatnak. Kétféle szemafor működik az operációs rendszerben: bináris szemafor és számoló szemafor. A szemafor számlálásánál az inicializált érték a rendelkezésre álló erőforrások száma. Amikor egy folyamat erőforrást használ, akkor várjon (), és meg kell várnia az erőforrást. A szemaforérték számlálása egyenként csökken. Amikor egy folyamat erőforrást használ, akkor felszabadítja azt az erőforrást és a kiadási jelet (), így szabadnak kell lennie egy másik folyamathoz. Ha az erőforrások száma 0, ez azt jelenti, hogy nem áll rendelkezésre erőforrás a következő folyamathoz. A bináris szemaforban két érték van, amelyek 0 és 1. Ha a folyamat a bináris szemafor erőforrásértékét használja 1-től 0-ig, és amikor egy erőforrás felhasználta az erőforrást, akkor a bináris szemafor értéke 1-től 0-ig.
A mutexet kölcsönös kizárási objektumnak is nevezik. Tudjuk, hogy csak egy folyamat használhat erőforrást egyszerre. Ez az oka annak, hogy létezik reteszelő rendszer, és ezt a reteszelési rendszert mutex néven ismerik. A Mutex zárolás akkor adódik egy folyamatnak, amikor az a folyamat erőforrást használ. A Mutex objektum egyedi névvel és azonosítóval rendelkezik. Egy programban, amikor szükség van a mutex lockra, a mutex lock nevét és azonosítóját hívja. Ha látjuk a mutex kódját, akkor egyértelműen megértjük a mutex zár megvalósítását és használatát.
Tartalom: Különbség a szemafor és a Mutex között
- Összehasonlító táblázat
- Szemafor
- mutex
- Következtetés
- Magyarázó videó
Összehasonlító táblázat
bázis | Szemafor | mutex |
Jelentés | A szemafor egy jelző mechanizmus | A mutex reteszelő mechanizmus. |
Érték | A szemafor egész szám. | A mutex egy objektum. |
Művelet | A szemafor várakozás () és a jel () műveletei. | A mutex működése zárolás és feloldás |
típusai | A szemafor két típusa a semafor és a bináris semafor számlálása. | Nincsenek olyan típusú mutex zárok. |
Szemafor
A szemafor egy egész S változó; A szemafor egy jelző mechanizmus. Egy operációs rendszerben szükség van egy szinkronizáló eszközre, és az operációs rendszerben ezt az eszközt szemafornak nevezik. A szemafornak két fő funkciója van, amelyek várnak (), jelet (). A szemafor értékét két funkcióval változtatjuk meg, amelyek várnak () és jelet (). Ha egy folyamat erőforrást használ, akkor a szemafor vár (), és amikor a folyamat az erőforrást használja, és ez az erőforrás ingyenes, akkor a szemafor adja a () jelet. Ezeket a várakozás () és a jel () funkciókat használják, mert csak egy folyamat tudja használni az erőforrást egyszerre.
Egy erőforrás nem adható két folyamatnak. Kétféle szemafor működik az operációs rendszerben: bináris szemafor és számoló szemafor. A szemafor számlálásánál a kezdeti érték a rendelkezésre álló erőforrások száma. Amikor egy folyamat erőforrást használ, akkor várjon (), és meg kell várnia az erőforrást. A szemaforérték számlálása egyenként csökken. Amikor egy folyamat erőforrást használ, akkor felszabadítja azt az erőforrást és a kiadási jelet (), így szabadnak kell lennie egy másik folyamathoz. Ha az erőforrások száma 0, ez azt jelenti, hogy nem áll rendelkezésre erőforrás a következő folyamathoz. A bináris szemaforban két érték van, amelyek 0 és 1. Ha a folyamat a bináris szemafor erőforrásértékét használja 1-től 0-ig, és amikor egy erőforrás felhasználta az erőforrást, akkor a bináris szemafor értéke 1-től 0-ig.
mutex
A mutexet kölcsönös kizárási objektumnak is nevezik. Tudjuk, hogy csak egy folyamat használhat erőforrást egyszerre. Ez az oka annak, hogy létezik reteszelő rendszer, és ezt a reteszelési rendszert mutex néven ismerik. A Mutex zárolás akkor adódik egy folyamatnak, amikor az a folyamat erőforrást használ. A Mutex objektum egyedi névvel és azonosítóval rendelkezik. Egy programban, amikor szükség van a mutex lockra, a mutex lock nevét és azonosítóját hívja. Ha látjuk a mutex kódját, akkor egyértelműen megértjük a mutex zár megvalósítását és használatát.
Fő különbség
- A szemafor egy jelző mechanizmus, míg a Mutex a reteszelő
- A szemafor egész szám, míg a Mutex objektum.
- A szemafor várakozás () és a jel () műveletei, míg a mutex működése zárolás és feloldás.
- A szemafor két típusa a semafor és a bináris semafor számlálása, míg a mutex típusa nincsen
Következtetés
A fenti cikkben egyértelmű különbséget látunk a szemafor és a mutex között a megfelelő megvalósításuk között.