Jarayonlar o‘zaro bog‘lanishi algoritmlari (sinxronlashtirish)




Download 0,58 Mb.
Pdf ko'rish
bet2/6
Sana07.06.2024
Hajmi0,58 Mb.
#261121
1   2   3   4   5   6
Bog'liq
Mustaqil ishi-2

Jarayonlar o‘zaro bog‘lanishi algoritmlari (sinxronlashtirish).
Jarayonlar o‘zaro bog‘lanishi (synchronization) algoritmlari, bir operatsion 
tizimdagi jarayonlar orasidagi ma'lum bir resursni hamkorlik bilan foydalanishini 
ta'minlash uchun qo‘llaniladi. Bu algoritmlar resurslarga to‘g‘ri tartibda murojaat 
qilish, hamkorlikda ishlash, ma’lumot almashish va boshqalar kabi jarayonlarning 
o‘zaro bog‘lanishlarini boshqarishda yordam beradi. Quyidagi turdagi ba'zi 
jarayonlar o‘zaro bog‘lanish algoritmlaridan mashhur: 
1. Mutex: Mutex (mutually exclusive) algoritmi, bitta jarayonning ma’lum bir 
resursni egallashini ta’minlaydi. Mutex obyektini egallagan jarayon o‘z ishini 
bajarishda, boshqa jarayonlar esa ushbu resursga murojaat qilishni to‘xtatadi. Bu 
usul, kritik bo‘lgan resurslarni to‘g‘ri tartibda foydalanishni ta’minlaydi. 


2. Semaphores: Semaphores, resurslarni boshqarishda ishlatiladigan raqamli 
o‘zgaruvchilardir. Ular orqali jarayonlar resurslarga kirish va chiqishni tartibga 
solishadi. Semaphores haqiqiy (binary) va tartiblangan semaphores bo‘lib, ular 
mutex algoritmini ham o‘z ichiga olgan holda keng qo‘llaniladilar. Semaphores 
algoritmi jarayonlar orasidagi hamkorlikni tuzishda keng qo‘llaniladi. 
3. Monitors: Monitor, resurslarni boshqarish uchun ko‘rsatmalar va 
ma’lumotlardan iborat o‘ziga xos obyekt. Monitorlarda resurslarga murojaat qilish, 
o‘zgartirish va hamkorlikda ishlash uchun maxsus metodlar mavjud bo‘ladi. 
Monitorlar jarayonlar orasidagi hamkorlikni boshqarishda yordam beradi va xato 
holatlarini oldini olish uchun xavfsizligini ta’minlaydi. 
4. Conditional Variables: Shartli o‘zgaruvchilar, jarayonlar orasidagi 
hamkorlikda qo‘llaniladigan xavfsizlik imkoniyatini yaratish uchun ishlatiladi. 
Shartli o‘zgaruvchilar orqali jarayonlar izohlangan shartlarga asosan to‘xtalishi, 
davom etishi yoki go‘zallik qilishi mumkin. Shartli o‘zgaruvchilar, monitorlar bilan 
birga ishlatiladi va jarayonlar orasidagi koordinatsiyani ta’minlaydi. 
5. Barrier: Barrier (bar’yer) algoritmi, bir guruhdagi (thread) jarayonlarning 
biror amalni bajarishlarini to‘xtatib, hamkorlikda ishlashlarini ta’minlaydi. Barrier 
algoritmi, biror jarayonning barcha jarayonlarning bitta nuqtada to‘xtashini kuzatish 
uchun ishlatiladi va keyin hamkorlikda ishlashni davom ettiradi. 
Ushbu algoritmlar, jarayonlar o‘zaro bog‘lanishini boshqarishda keng 
qo‘llaniladigan usullardan faqat bir nechta namunalar hisoblanadi. Boshqa 
hamkorlik algoritmlari ham mavjud bo‘lishi mumkin, ulardan ba'zilari monitorlar, 
spinlocks, event-driven programming va boshqalar bo‘ladi. Algoritmlar 
to‘g‘risidagi tanqidiy ma’lumotlar va ulardan foydalanish usullari alohida 
tadqiqotlar va tizimlarda mavjud bo‘lgan xususiyatlarga bog‘liJarayonlar o'zaro 
bog'lanishi algoritmlari (sinxronlashtirish) har xiljarayonlar orasidagi resurslarni 
yoki ma'lumot almashishni to'xtatish, hamkorlik bilan ishlashni yo'lga qo'yish, 
ma'lumot almashish va boshqalar kabi jarayonlarning o'zaro bog'lanishlarini 
boshqarishda qo'llaniladi. Bu algoritmlar sinxronlashgan jarayonlar orasidagi 
tartibni ta'minlash, xatoliklarni oldini olish va resurslarga to'g'ri murojaat qilishni 
ta'minlash maqsadida foydalaniladi. Quyidagi turdagi ba'zi jarayonlar o'zaro 
bog'lanish algoritmlaridan mashhur: 


1. Mutex: Mutex (mutually exclusive) algoritmi, bitta jarayonning ma'lum bir 
resursni egallashini ta'minlaydi. Mutex obyektini egallagan jarayon o'z ishini 
bajarishda, boshqa jarayonlar esa ushbu resursga murojaat qilishni to'xtatadi. Bu 
usul, kritik bo'lgan resurslarni to'g'ri tartibda foydalanishni ta'minlaydi. 
2. Semaphores: Semaphores, resurslarni boshqarishda ishlatiladigan raqamli 
o'zgaruvchilardir. Ular orqali jarayonlar resurslarga kirish va chiqishni tartibga 
solishadi. Semaphores haqiqiy (binary) va tartiblangan semaphores bo'lib, ular 
mutex algoritmini ham o'z ichiga olgan holda keng qo'llaniladilar. Semaphores 
algoritmi jarayonlar orasidagi hamkorlikni tuzishda keng qo'llaniladi. 
3. Monitors: Monitor, resurslarni boshqarish uchun ko'rsatmalar va 
ma'lumotlardan iborat o'ziga xos obyekt. Monitorlarda resurslarga murojaat qilish, 
o'zgartirish va hamkorlikda ishlash uchun maxsus metodlar mavjud bo'ladi. 
Monitorlar jarayonlar orasidagi hamkorlikni boshqarishda yordam beradi va xato 
holatlarini oldini olish uchun xavfsizligini ta'minlaydi. 
4. Conditional Variables: Shartli o'zgaruvchilar, jarayonlar orasidagi 
hamkorlikda qo'llaniladigan xavfsizlik imkoniyatini yaratish uchun ishlatiladi. 
Shartli o'zgaruvchilar orqali jarayonlar izohlangan shartlarga asosan to'xtalishi, 
davom etishi yoki go'zallik qilishi mumkin. Shartli o'zgaruvchilar, monitorlar bilan 
birga ishlatiladi va jarayonlar orasidagi koordinatsiyani ta'minlaydi. 
5. Barrier: Barrier (bar'yer) algoritmi, bir guruhdagi (thread) jarayonlarning 
biror amalni bajarishlarini to'xtatib, hamkorlikda ishlashlarini ta'minlaydi. Barrier 
algoritmi, biror jarayonning barcha jarayonlarning bitta nuqtada to'xtashini kuzatish 
uchun ishlatiladi va keyin hamkorlikda ishlashni davom ettiradi. 
Ushbu algoritmlar, jarayonlar o'zaro bog'lanishini boshqarishda keng 
qo'llaniladigan usullardan faqat bir nechta namunalar hisoblanadi. Boshqa 
hamkorlik algoritmlari ham mavjud bo'lishi mumkin, ulardan ba'zilari monitorlar, 
spinlocks, event-driven programming va boshqalar bo'ladi. Algoritmlar to'g'risidagi 
tanqidiy ma'lumotlar va ulardan foydalaniladi. 



Download 0,58 Mb.
1   2   3   4   5   6




Download 0,58 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Jarayonlar o‘zaro bog‘lanishi algoritmlari (sinxronlashtirish)

Download 0,58 Mb.
Pdf ko'rish