ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-69
Часть–4_ Мая –2025
394
2181-3187
DEKKER ALGORITMI VA BANKIR ALGORITMI
Fargʼona davlat universiteti axborot
texnologiyalari kafedrasi mudiri
Ro‘zaliyev Sherzodjon Avazbekovich
Farg’ona davlat universiteti 3-kurs talabasi
Abidova Nafosatxon Nozimjon qizi
Annotatsiya
Ushbu maqolada operatsion tizimlarda jarayonlar sinxronizatsiyasi
va resurslarni boshqarishning ikki muhim algoritmi — Dekker algoritmi va Bankir
algoritmi — tahlil qilinadi. Dekker algoritmi ikki jarayon o‘rtasida o‘zaro
eksklyuzivlikni ta’minlash, Bankir algoritmi esa tizimda o‘lim holatini oldini olish
uchun mo‘ljallangan. Maqola algoritmlarning ishlash printsiplari, afzalliklari va
cheklovlarini keng yoritadi.
Аннотация:
В данной статье рассматриваются два важных алгоритма
операционных систем — алгоритм Деккера и алгоритм банкира, используемые
для синхронизации процессов и управления ресурсами. Алгоритм Деккера
обеспечивает взаимное исключение между двумя процессами, а алгоритм
банкира предотвращает состояние взаимной блокировки (deadlock). В статье
подробно анализируются принципы работы, преимущества и ограничения этих
алгоритмов.
Abstract:
This article analyzes two important operating system algorithms —
Dekker’s algorithm and the Banker's algorithm, used for process synchronization and
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-69
Часть–4_ Мая –2025
395
2181-3187
resource management. Dekker’s algorithm ensures mutual exclusion between two
processes, while the Banker's algorithm prevents deadlock in the system. The article
provides a detailed overview of the algorithms’ working principles, advantages, and
limitations.
•
Kalit so‘zlar:
Dekker algoritmi, Bankir algoritmi, Jarayon sinxronizatsiyasi,
Resurslarni boshqarish, O‘zaro eksklyuzivlik, O‘lim holati (Deadlock), Mutual
exclusion, Deadlock prevention, Process synchronization, Resource allocation
Kirish
Zamonaviy kompyuter tizimlarida ko‘p vazifali va ko‘p jarayonli muhitda
jarayonlar o‘rtasidagi o‘zaro ta’sirlarni to‘g‘ri boshqarish tizim samaradorligini va
xavfsizligini ta’minlashda muhim rol o‘ynaydi. Ayniqsa, bir nechta jarayonlarning
umumiy resurslarni ulashishi va sinxronizatsiyasi masalalari juda dolzarb hisoblanadi.
Shu nuqtai nazardan, dekker algoritmi va bankir algoritmi operatsion tizimlarda muhim
sinxronizatsiya va resurslarni boshqarish vositalari sifatida e’tiborga loyiqdir.
Dekker algoritmi — bu ikki jarayon (yoki ip) o‘rtasida sinxronizatsiyani
ta’minlash uchun yaratilgan dastlabki algoritmlardan biridir. U o‘zaro eksklyuziv
kirishni (mutual exclusion) ta’minlab, resursga bir vaqtning o‘zida faqat bitta jarayon
kirishini kafolatlaydi. Bankir algoritmi esa resurslarni taqsimlashda o‘lim holatini
(deadlock) oldini olish uchun ishlatiladi. Bu algoritm jarayonlarning resurslarga
bo‘lgan talablarini tahlil qilib, tizimning xavfsiz holatda qolishini nazorat qiladi.
Ushbu maqolada dekker algoritmi va bankir algoritmining nazariy asoslari,
ishlash tamoyillari, afzalliklari va cheklovlari keng ko‘lamda tahlil qilinadi hamda
ularning operatsion tizimlardagi o‘rni ko‘rib chiqiladi.
Asosiy qism
1. Dekker algoritmi
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-69
Часть–4_ Мая –2025
396
2181-3187
Dekker algoritmi — ko‘p jarayonli muhitda o‘zaro eksklyuziv kirishni ta’minlash
uchun ishlab chiqilgan birinchi sinxronizatsiya algoritmlaridan biridir. 1965-yilda
Teun
Dekker
tomonidan
taklif
qilingan
ushbu
algoritm
jarayonlarning
sinxronlashtirilishi, ayniqsa, bir xil resursga kirishda to‘qnashuvning oldini olishda
qo‘llaniladi.
Asosiy tamoyillari:
Har bir jarayon o‘zining "niyat" (flag) bayrog‘ini saqlaydi — ya’ni, u resursga
kirishni xohlayotganini bildiradi.
"Navbat" (turn) ko‘rsatkichi yordamida, ikkita jarayon o‘rtasida navbat tartibi
tashkil qilinadi.
Jarayonlar bir-birining niyatini va navbatni tekshirib, faqat o‘z navbatida resursga
kirishadi.
Dekker algoritmining pseudo-kodi:
Afzalliklari:
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-69
Часть–4_ Мая –2025
397
2181-3187
Asosiy xususiyatlari bo‘yicha: o‘zaro eksklyuzivlikni ta’minlaydi, ochlik
(starvation) va blokirovka (deadlock) holatlarining oldini oladi
Tashqi sinxronizatsiyaga ehtiyoj yo‘q, ya’ni faqat oddiy bayroqlar va navbat
indikatorlari bilan ishlaydi.
Cheklovlari:
Faqat ikki jarayon uchun mo‘ljallangan.
Zamonaviy ko‘p jarayonli tizimlar uchun murakkab va kengaytirilgan algoritmlar
talab qilinadi.
2. Bankir algoritmi
Bankir algoritmi — Edsger Dijkstra tomonidan ishlab chiqilgan va resurslarni
boshqarish tizimida o‘lim holatini oldini olishga mo‘ljallangan algoritm. Bu algoritm
tizimdagi jarayonlarning resurslarga bo‘lgan talabini nazorat qilib, tizim xavfsiz
holatda ekanligini ta’minlaydi.
Asosiy g‘oyasi:
Har bir jarayon maksimal ehtiyojini oldindan deklaratsiya qiladi.
Tizim mavjud resurslar soni va jarayonlarning hozirgi foydalanishi asosida
resurslarni taqsimlaydi.
Resurs berishdan oldin, tizim yangi holatni xavfsizligini tekshiradi.
Agar yangi taqsimlash xavfsiz bo‘lmasa, resurslar berilmaydi va jarayon kutishga
olinadi.
Algoritm jarayoni:
Tizim resurslar holatini nazorat qiladi (available, allocation, need matritsalari).
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-69
Часть–4_ Мая –2025
398
2181-3187
Jarayon so‘ragan resurslar mavjud bo‘lsa, so‘rov qoniqtiriladi, aks holda jarayon
kutishga olinadi.
Tizimda o‘lim holati aniqlanmasligi uchun resurslar faqat xavfsiz holat
saqlanayotgan taqdirda beriladi.
Afzalliklari:
O‘lim holatini samarali oldini oladi.
Resurslarni optimal taqsimlashni ta’minlaydi.
Cheklovlari:
Jarayonlarning maksimal ehtiyojlarini oldindan bilish talab qilinadi.
Hisoblash va monitoring xarajatlari yuqori.
Real vaqt tizimlarida qo‘llash qiyin bo‘lishi mumkin.
3. Algoritmlarning operatsion tizimlardagi qo‘llanilishi
Dekker algoritmi sinxronizatsiya masalalarida nazariy asos sifatida ko‘plab
zamonaviy algoritmlarning ildizini tashkil etadi. Bankir algoritmi esa tizim
xavfsizligini ta’minlash uchun resurslarni boshqarishda muhim vositadir.
Ko‘p yadroli va ko‘p ipli tizimlarda sinxronizatsiya uchun ko‘plab rivojlangan
algoritmlar va mexanizmlar yaratilgan bo‘lsa-da, asosiy prinsiplar Dekker algoritmi
orqali o‘rganiladi. Bankir algoritmi esa ko‘proq o‘quv va nazariy tadqiqotlarda hamda
ayrim real tizimlarda qo‘llaniladi.
Xulosa
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-69
Часть–4_ Мая –2025
399
2181-3187
Ushbu maqolada ikki muhim operatsion tizim algoritmi — Dekker algoritmi va
Bankir algoritmi batafsil tahlil qilindi. Dekker algoritmi ikki jarayon o‘rtasida o‘zaro
eksklyuzivlikni ta’minlash uchun dastlabki va samarali vosita sifatida e’tiborga
loyiqdir. Uning oddiyligi va samaradorligi ko‘p yillar davomida sinxronizatsiya
konsepsiyasining asosiy qismi bo‘lib kelmoqda.
Bankir algoritmi esa resurslar taqsimotida o‘lim holatini oldini olish uchun
mo‘ljallangan kuchli va nazoratli yondashuvni taqdim etadi. U tizimni doimo xavfsiz
holatda saqlash uchun jarayonlarning resurslarga bo‘lgan talablarini nazorat qiladi.
Har ikkala algoritm ham o‘z davrida va bugungi kunda ham operatsion tizimlar
va ko‘p vazifali dasturlarni yaratishda asosiy tamoyillarni belgilaydi. Kelajakda ushbu
algoritmlar asosida yanada murakkab va samarali sinxronizatsiya hamda resurs
boshqaruvi usullari ishlab chiqilishi kutilmoqda.
Foydalanilgan adabiyotlar
1.
Таненбаум Э., Бос Х.
Современные операционные системы
. — СПб.:
Питер, 2020. — 1120 с.
2.
Silberschatz A., Galvin P. B., Gagne G.
Operating System Concepts
. — 10th
ed. — Wiley, 2018. — 976 p.
3.
Dijkstra E. W.
Solution of a problem in concurrent programming control
.
Communications of the ACM, 1965. — Vol. 8, No. 9, pp. 569.
4.
Coffman E. G., Elphick M. J., Shoshani A.
System deadlocks
. ACM Computing
Surveys (CSUR), 1971.
5.
Microsoft Docs.
"Synchronization and concurrency in Windows"
,
https://learn.microsoft.com/en-us/windows/win32/sync/synchronization