|
O‘zbekiston respublikasi axborot texnologiyalari
|
bet | 48/222 | Sana | 15.05.2024 | Hajmi | 5,84 Mb. | | #236377 |
Berklik (deadlock) bu bloklangan jarayonlar to‘plami bo‘lib, ulardan har biri qandaydir resursga ega va bu to‘plamdan qandaydir boshqa jarayon ega bo‘lgan resursni kutadi.Berklikka oddiy misolni semaforalar yordamida modellashtirish oson.
Tizimda ikkita J1 va J2 jarayonlar murojaat qiladigan ikkita tashqi A va B qurilmalar bo‘lsin. Semafor sinxronlashtirish maqsadida tashqi qurilmalarning har biri bilan bog‘langan, ularni ham A va B bilan belgilaymiz. Semaforlar oldindan ochiq. Jarayonlardan har biriga har ikkala qurilmalar zarur bo‘lsin, lekin ular qurilmalarga qarama-qarshi tartibda murojaat qiladi:
J1: kutish (A); kutish (B) J2: kutish (B); kutish (A).
Bu holda berklik o‘z o‘rniga ega bo‘ladi. J1 jarayon A semaforni yopish va birinchi qurilmani bloklash bilan ikkinchi qurilma bilan bog‘langan B semaforni qachon ochilishini hech qachon mo‘ljallay olmaydi, chunki uni J2 jarayon yorishga ulgurgan. Shunga o‘xshash, J2 jarayon A semaforning ochilishini mo‘ljallay olmaydi.
Tizim modeli
Bunday vaziyatlarni tavsiflash va tadqiq qilish uchun tizimning rasman modelini umumiy ko‘rinishda kiritamiz. Model yordamida jarayonlarning resurslari so‘rovlar haqida, jarayonlarning resurslarga haqiqatda egaligi haqida va resurslarning bo‘shashi haqidagi ma’lumotlarni beramiz. Tizimda m turlardagi resurslar (masalan, protsessor, xotira, kiritish/chiqarish qurilmalari) bo‘lsin. Tizimda resurslar turlarini R1, R2, … Rm bilan belgilaymiz. Har bir Ri resurs turi Wi nusxalarga ega bo‘lsin. Har bir jarayon quyidagi usullardan biri orqali resursdan foydalanishi mumkin:
so‘rov (request);
foydalanish (use);
bo‘shatish (release). Berklikagarquyidagito‘rttashartlarbirvaqtdabajarilsa,
vujudgakelishimumkin:
O‘zaro inkor qilish: har bir vaqt momentida faqat bitta jarayon resursga ulanishni olishi mumkin;
Saqlash va kutish: bitta resursni saqlayotgan jarayon boshqa jarayonlar ega bo‘lgan boshqa resurslarni olishni kutadi;
Uzilishlarning bo‘lmasligi: jarayon o‘zining ishlashini tugatganidan keyingina resursni bo‘shatishi mumkin.
Siklli kutish: J0 jarayon J1 jarayon ega bo‘lgan resursni kutadigan, J1 jarayon J2 jarayon ega bo‘lgan resursni kutadigan Jn
jarayon J1 jarayon ega bo‘lgan resursni kutadigan {J0, J1, … Jn} to‘plam mavjud.
|
| |