Szemafor vs Mutex

Szerző: Laura McKinney
A Teremtés Dátuma: 4 Április 2021
Frissítés Dátuma: 10 Lehet 2024
Anonim
Szemafor vs Mutex - Más
Szemafor vs Mutex - Más

Tartalom

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ázisSzemaformutex
JelentésA szemafor egy jelző mechanizmusA mutex reteszelő mechanizmus.
ÉrtékA szemafor egész szám.A mutex egy objektum.
MűveletA szemafor várakozás () és a jel () műveletei.A mutex működése zárolás és feloldás
típusaiA 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

  1. A szemafor egy jelző mechanizmus, míg a Mutex a reteszelő
  2. A szemafor egész szám, míg a Mutex objektum.
  3. A szemafor várakozás () és a jel () műveletei, míg a mutex működése zárolás és feloldás.
  4. 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.

Magyarázó videó