Semafor vs. Mutex

Yazar: Laura McKinney
Yaratılış Tarihi: 4 Nisan 2021
Güncelleme Tarihi: 10 Mayıs Ayı 2024
Anonim
What is difference between Semaphore and Mutex
Video: What is difference between Semaphore and Mutex

İçerik

Semafor ve muteks arasındaki fark, semaforun bir sinyal mekanizması olduğu halde mutex kilitleme mekanizmasıdır.


İşletim sistemi bilgisayar bilimlerinde en önemli kavramdır, işletim sisteminde iki ana kavram semafor ve muteks'tir. Bir semafor ile bir muteks arasında çok fazla fark vardır. Ana farktan bahsedersek, o zaman semafor ve muteks arasındaki temel fark, semaforun bir sinyal mekanizması olduğu halde mutex kilitleme mekanizmasıdır.

Semafor ve muteks arasındaki fark süreçlerde gelir; semafor wait () ve signal () işlemini gerçekleştirir, bu fonksiyon kazanıp kazanmadıklarını veya kaynağı serbest bıraktıklarını bilmekle sorumludur. Öte yandan, eğer muteks hakkında konuşursak, muteks kilitleme mekanizmasıdır.

Semafor bir tamsayı değişkeni S'dir; semafor bir sinyal mekanizmasıdır. Bir işletim sisteminde, bir senkronizasyon aracına ihtiyaç vardır ve işletim sistemindeki bu araç bir semafor olarak bilinir. Semaforun bekleyen (), signal () işlevinin iki ana işlevi vardır. Semafor değeri bekleyen () ve signal () işlevleriyle değiştirilir. Bir işlem bir kaynak kullanıyorsa, semafor beklemede () ve işlem kaynağı kullandığında ve bu kaynak serbest olduğunda, semafor sinyal () öğesini verir. Wait () ve signal () işlevi, bunlar bir kerede yalnızca bir işlem kaynağı kullanabildiği için kullanılır. Bir kaynak iki sürece verilemez. İşletim sisteminde ikili semafor ve semafor sayan iki tür semafor vardır. Semafor sayımında başlangıç ​​değeri mevcut kaynakların sayısıdır. Bir işlem bir kaynak kullanıyorsa, wait () ile karşı karşıya kalır ve bu kaynağı beklemesi gerekir. Semafor değerinin sayımı birer birer azalır. Bir işlem bir kaynak kullandığında, bu kaynağı serbest bırakır ve signal () öğesini serbest bırakır, böylece başka bir işlem için ücretsiz olması gerekir. Kaynak sayısı 0 olduğunda, gelecek işlem için kaynak bulunmadığı anlamına gelir. İkili semaforda, 0 ve 1 olan iki değer vardır. İşlem, ikili semaforun bir kaynak değerini kullanırken, 1 ila 0 arasında ve bir kaynak kaynağı kullandığında, ikili semaforun değeri 1 ila 0 arasındadır.


Mutex, karşılıklı dışlama nesnesi olarak da bilinir. Bir seferde yalnızca bir işlemin bir kaynağı kullanabileceğini biliyoruz. Kilitleme sistemi olmasının nedeni budur ve kilit sistemi muteks olarak bilinir. Mutex lock, bir işlem bir kaynak kullanırken bir işleme verilir. Mutex nesnesinin benzersiz bir adı ve kimliği vardır. Muteks kilidine ihtiyaç duyulduğunda bir programda mutex kilidinin adı ve kimliği ile çağrılır. Mutex kodunu görürsek, mutex kilidinin uygulanması ve kullanımı hakkında net bir anlayışa sahip olacağız.

İçerik: Semafor ve Mutex Arasındaki Fark

  • Karşılaştırma Tablosu
  • Semafor
  • Karşılıklı dışlama
  • Sonuç
  • Açıklayıcı Video

Karşılaştırma Tablosu

temelSemaforKarşılıklı dışlama
anlamSemafor bir sinyal mekanizmasıdırMutex bir kilitleme mekanizmasıdır.
Değer, kıymetSemafor bir tamsayıdır.Bir muteks bir nesnedir.
OperasyonSemafor işlemleri wait () ve signal ().Mutex'in işlemleri kilitlendi ve kilidi açıldı
Türleriİki semafor türü semafor ve ikili semafor saymaktadır.Bir mutex kilidi türü yoktur.

Semafor

Semafor bir tamsayı değişkeni S'dir; semafor bir sinyal mekanizmasıdır. Bir işletim sisteminde, bir senkronizasyon aracına ihtiyaç vardır ve işletim sistemindeki bu araç bir semafor olarak bilinir. Semaforun bekleyen (), signal () işlevinin iki ana işlevi vardır. Semafor değeri bekleyen () ve signal () işlevleriyle değiştirilir. Bir işlem bir kaynak kullanıyorsa, semafor beklemede () ve işlem kaynağı kullandığında ve bu kaynak serbest olduğunda, semafor sinyal () öğesini verir. Bir wait () ve signal () işlevi olan bu işlevler, bunlar bir kerede yalnızca bir işlem kaynağı kullanabildiği için kullanılır.


Bir kaynak iki sürece verilemez. İşletim sisteminde ikili semafor ve semafor sayan iki tür semafor vardır. Semafor sayımında başlangıç ​​değeri mevcut kaynakların sayısıdır. Bir işlem bir kaynak kullanıyorsa, wait () ile karşı karşıya kalır ve bu kaynağı beklemesi gerekir. Semafor değerinin sayımı birer birer azalır. Bir işlem bir kaynak kullandığında, bu kaynağı serbest bırakır ve signal () öğesini serbest bırakır, böylece başka bir işlem için ücretsiz olması gerekir. Kaynak sayısı 0 olduğunda, gelecek işlem için kaynak bulunmadığı anlamına gelir. İkili semaforda, 0 ve 1 olan iki değer vardır. İşlem, ikili semaforun bir kaynak değerini kullanırken, 1 ila 0 arasında ve bir kaynak kaynağı kullandığında, ikili semaforun değeri 1 ila 0 arasındadır.

Karşılıklı dışlama

Mutex, karşılıklı dışlama nesnesi olarak da bilinir. Bir seferde yalnızca bir işlemin bir kaynağı kullanabileceğini biliyoruz. Kilitleme sistemi olmasının nedeni budur ve kilit sistemi muteks olarak bilinir. Mutex lock, bir işlem bir kaynak kullanırken bir işleme verilir. Mutex nesnesinin benzersiz bir adı ve kimliği vardır. Muteks kilidine ihtiyaç duyulduğunda bir programda mutex kilidinin adı ve kimliği ile çağrılır. Mutex kodunu görürsek, mutex kilidinin uygulanması ve kullanımı hakkında net bir anlayışa sahip olacağız.

Anahtar Farkı

  1. Semafor bir sinyalleşme mekanizmasıdır, Mutex ise kilitlemedir.
  2. Semafor bir tamsayıdır, Mutex ise bir nesnedir.
  3. Semafor işlemleri beklemek () ve sinyal () iken mutex işlemleri kilitlenir ve kilidi açılır.
  4. İki semafor türü semafor ve ikili semafor saymakla birlikte, hiçbir muteks türü yoktur.

Sonuç

Yukarıdaki bu makalede, semafor ile muteks arasındaki açık farkları uygun bir şekilde uyguladıklarını görüyoruz.

Açıklayıcı Video