Logo of Jet School
Əsas SəhifəRəylərKurslarımızKampaniyalarLayihələr
HaqqımızdaBloqXəbərlərTədbirlərQalereyaTexnoloji Lüğət
Əlaqə
Azerbaijan flagAZ
Azerbaijan flagAZ
Russia flagRU
Azerbaijan flagAZ
Azerbaijan flagAZ
Russia flagRU

JET School

Daha parlaq gələcək üçün ilham verən təhsil

JET Academy Gənclik (Olimpiya küçəsi 6A, Gənclər və İdman Nazirliyi yaxınlığında)
+994 70 983 66 99+994 70 983 66 99info@jetschool.az
Bazar ertəsi - Bazar günü : 09:30 - 22:00

Kəşf et

  • Əsas Səhifə
  • Rəylər
  • Layihələr
  • Məzunlar
  • Kampaniyalar
  • Vakansiyalar
  • Dərsdən görüntülər

Tədris sahələri

  • IT və Kompüter Mühəndisliyi kursu
  • Kibertəhlükəsizlik kursu
  • Robotexnika kursu
  • C# .NET Back-End Proqramlaşdırma Kursu
  • Unity 2D Game Development kursu
  • UX/UI dizayn kursu

Resurslar

  • Bloq
  • Xəbərlər
  • Tədbirlər
  • Texnoloji Lüğət

© 2021 – 2026 JET School. Müəllif hüquqları qorunur.

Deadlock nədir?

JET Schoolwww.jetschool.az

Deadlock nədir?

Deadlock (Çıxılmaz vəziyyət) — verilənlər bazası sistemlərində, əməliyyat sistemlərində və çox axınlı (multi-threaded) proqramlarda baş verən vəziyyətdir. İki və ya daha çox proses (və ya tranzaksiya) bir-birindən resurs gözlədiyinə görə heç biri işi davam etdirə bilmir və nəticədə sistem "donur". Bu vəziyyət çıxılmaz olur, çünki hər proses digəri azad etmədən öz ehtiyac duyduğu resursa çata bilmir.

Deadlock-un əsas şərtləri:

Deadlock-un yaranması üçün dörd əsas şərt eyni anda mövcud olmalıdır (Coffman conditions):

Mutual Exclusion (Əlavə etmə istisnası)

Resurslar yalnız bir proses tərəfindən istifadə edilə bilər. Eyni anda başqa bir proses həmin resursa daxil ola bilməz.

Hold and Wait (Tutan və Gözləyən)

Proses artıq sahib olduğu resursları saxlayır və eyni zamanda başqa bir resursa görə gözləyir.

No Preemption (Əlindən alınmama)

Proseslərin istifadə etdiyi resurslar zorla geri alınmır. Onlar özləri azad etməlidir.

Circular Wait (Dairəvi gözləmə)

Proseslər dairəvi şəkildə bir-birinin saxladığı resurslara ehtiyac duyur və gözləyir.

Sadə nümunə ilə izah:

Tutaq ki, iki proses var:

  • Proses A — Resurs 1-ə sahibdir və Resurs 2-ni gözləyir.
  • Proses B — Resurs 2-ə sahibdir və Resurs 1-i gözləyir.

Bu vəziyyətdə nə A, nə də B irəliləyə bilər, çünki hər ikisi bir-birini gözləyir. Bu, deadlock-dur.

Deadlock-un qarşısını alma yolları:

Resurslara sabit ardıcıllıqla giriş tələb etmək:

Bütün proseslər resurslara eyni sırayla müraciət edərsə, circular wait baş verməz.

Timeout mexanizmləri:

Əgər proses müəyyən müddət ərzində resursa çata bilmirsə, o zaman bu cəhddən imtina edir.

Deadlock aşkarlama və bərpa:

Sistem mütəmadi olaraq proseslər arasındakı qarşılıqlı gözləmə vəziyyətini yoxlayır. Əgər deadlock aşkarlanarsa, sistem hansısa prosesi dayandıraraq vəziyyətdən çıxır.

Resursların əlindən alınması (preemption):

Bəzi sistemlərdə mümkündür ki, resurs aktiv prosesdən zorla alınsın və başqa prosesə verilsin.

Nəticə:

Deadlock – çoxaxınlı və ya paralel sistemlərdə çox ciddi problem yarada biləcək hadisədir. Onun qarşısını almaq və ya aşkarlayıb idarə etmək vacibdir ki, sistem etibarlı və dayanıqlı işləsin. Bu konsepsiya həm əməliyyat sistemlərində, həm də verilənlər bazası idarəetmə sistemlərində (məsələn, MySQL, PostgreSQL) nəzərə alınmalıdır.

+994 70 983 66 99www.jetschool.az

Deadlock (Çıxılmaz vəziyyət) — verilənlər bazası sistemlərində, əməliyyat sistemlərində və çox axınlı (multi-threaded) proqramlarda baş verən vəziyyətdir. İki və ya daha çox proses (və ya tranzaksiya) bir-birindən resurs gözlədiyinə görə heç biri işi davam etdirə bilmir və nəticədə sistem "donur". Bu vəziyyət çıxılmaz olur, çünki hər proses digəri azad etmədən öz ehtiyac duyduğu resursa çata bilmir.

Deadlock-un əsas şərtləri:

Deadlock-un yaranması üçün dörd əsas şərt eyni anda mövcud olmalıdır (Coffman conditions):

Mutual Exclusion (Əlavə etmə istisnası)

Resurslar yalnız bir proses tərəfindən istifadə edilə bilər. Eyni anda başqa bir proses həmin resursa daxil ola bilməz.

Hold and Wait (Tutan və Gözləyən)

Proses artıq sahib olduğu resursları saxlayır və eyni zamanda başqa bir resursa görə gözləyir.

No Preemption (Əlindən alınmama)

Proseslərin istifadə etdiyi resurslar zorla geri alınmır. Onlar özləri azad etməlidir.

Circular Wait (Dairəvi gözləmə)

Proseslər dairəvi şəkildə bir-birinin saxladığı resurslara ehtiyac duyur və gözləyir.

Sadə nümunə ilə izah:

Tutaq ki, iki proses var:

  • Proses A — Resurs 1-ə sahibdir və Resurs 2-ni gözləyir.
  • Proses B — Resurs 2-ə sahibdir və Resurs 1-i gözləyir.

Bu vəziyyətdə nə A, nə də B irəliləyə bilər, çünki hər ikisi bir-birini gözləyir. Bu, deadlock-dur.

Deadlock-un qarşısını alma yolları:

Resurslara sabit ardıcıllıqla giriş tələb etmək:

Bütün proseslər resurslara eyni sırayla müraciət edərsə, circular wait baş verməz.

Timeout mexanizmləri:

Əgər proses müəyyən müddət ərzində resursa çata bilmirsə, o zaman bu cəhddən imtina edir.

Deadlock aşkarlama və bərpa:

Sistem mütəmadi olaraq proseslər arasındakı qarşılıqlı gözləmə vəziyyətini yoxlayır. Əgər deadlock aşkarlanarsa, sistem hansısa prosesi dayandıraraq vəziyyətdən çıxır.

Resursların əlindən alınması (preemption):

Bəzi sistemlərdə mümkündür ki, resurs aktiv prosesdən zorla alınsın və başqa prosesə verilsin.

Nəticə:

Deadlock – çoxaxınlı və ya paralel sistemlərdə çox ciddi problem yarada biləcək hadisədir. Onun qarşısını almaq və ya aşkarlayıb idarə etmək vacibdir ki, sistem etibarlı və dayanıqlı işləsin. Bu konsepsiya həm əməliyyat sistemlərində, həm də verilənlər bazası idarəetmə sistemlərində (məsələn, MySQL, PostgreSQL) nəzərə alınmalıdır.

IT kurslarımız barədə məlumat almaq üçün formu doldurun

Övladınızın yaşını seçin
Tədris dilini seçin
...

Əlaqəli terminlər:

IT Sahəsini öyrənməyə başla

Kateqoriya: Verilənlər Bazaları
Verilənlər bazası
RDBMS
SQL