Semafor və Muteks Arasındakı Fərq

Semafor və Muteks Arasındakı Fərq
Semafor və Muteks Arasındakı Fərq

Video: Semafor və Muteks Arasındakı Fərq

Video: Semafor və Muteks Arasındakı Fərq
Video: ЧТО ТАКОЕ ТЕЛЕСКОП? ● ВИДЫ ТЕЛЕСКОПОВ И ИХ УСТРОЙСТВО 2024, Iyul
Anonim

Semaphore vs Mutex

Semafor paralel proqramlaşdırma mühitlərində birdən çox prosesin eyni vaxtda ümumi resurs və ya kritik bölməyə daxil olmamasını təmin etmək üçün istifadə edilən məlumat strukturudur. Semaforlar ölü kilidlərdən və yarış şəraitindən qaçmaq üçün istifadə olunur. Mutex (Qarşılıqlı İstisna Obyekti) eyni zamanda bir neçə paralel proses tərəfindən ümumi resursa daxil olmamaq üçün də istifadə olunur.

Semafor nədir?

Semafor kritik bölmələrə qarşılıqlı istisna təmin etmək üçün istifadə edilən məlumat strukturudur. Semaforlar əsasən gözləmə (tarixən P kimi tanınır) və siqnal (tarixdə V kimi tanınır) adlı iki əməliyyatı dəstəkləyir. Gözləmə əməliyyatı semafor açıq olana qədər prosesi bloklayır və siqnal əməliyyatı başqa bir prosesin (ipin) daxil olmasına imkan verir. Hər bir semafor gözləmə proseslərinin növbəsi ilə əlaqələndirilir. Gözləmə əməliyyatı bir iplə çağırıldıqda, semafor açıqdırsa, ip davam edə bilər. Gözləmə əməliyyatı iplə çağırıldıqda semafor bağlanırsa, ip bloklanır və növbədə gözləməli olur. Siqnal əməliyyatı semafor açır və əgər növbədə artıq gözləyən ip varsa, bu proses davam etməyə icazə verilir və növbədə gözləyən iplər yoxdursa, siqnal növbəti iplər üçün yadda saxlanılır. Muteks semaforları və sayma semaforları adlanan iki növ semafor var. Muteks semaforları resursa tək girişə icazə verir və semaforların sayılması birdən çox başlığın resursa daxil olmasına imkan verir (bir neçə vahid mövcuddur).

Muteks nədir?

Kompüter proqramı işə salındıqda, o, mutex yaradacaq və onu resursa əlavə edəcək. Resurs mövzu tərəfindən istifadə edildikdə, o, kilidlənir və digər mövzular ondan istifadə edə bilmir. Başqa bir mövzu eyni resursdan istifadə etmək istəsə, sorğu göndərməli olacaq. Sonra ilk iplik resursla tamamlanana qədər həmin ip növbəyə yerləşdiriləcək. İlk başlıq resursla tamamlandıqda, kilid silinəcək və növbədə gözləyən mövzu resursa daxil ola bilər. Növbədə gözləyən bir neçə başlıq varsa, onlara fırlanan əsasda giriş verilir. Praktiki olaraq, mutex resursa girişi bir neçə mövzu arasında dəyişdikdə, birdən çox mövzu eyni vaxtda resursu istehlak etdiyi üçün görünəcək. Lakin daxili olaraq yalnız bir başlıq verilmiş vaxtda resursa daxil olur.

Semafor və Mutex arasındakı fərq nədir?

Baxmayaraq ki, həm semaforlar, həm də mutex obyektləri paralel proqramlaşdırma mühitlərində qarşılıqlı istisnaya nail olmaq üçün istifadə olunur, onların bəzi fərqləri var. Muteks obyekti yalnız bir mövzunun resurs və ya kritik bölməni istehlak etməsinə imkan verir, semaforlar isə resursa məhdud sayda eyni vaxtda daxil olmağa imkan verir (maksimum icazə verilən sayda). Muteks obyektləri ilə resursa daxil olmaq istəyən digər başlıqlar resursdan istifadə edərək cari başlıq bitənə qədər növbədə gözləməlidir.

Tövsiyə: