1. Oqim turlari Ko’poqimlilik modeli posix (Pthreads) oqimlari


Download 212.72 Kb.
bet4/6
Sana17.06.2023
Hajmi212.72 Kb.
#1528596
1   2   3   4   5   6
Ko’poqimlilik muammolari
Multithreading (ko’poqimlilik) juda murakkab, hali to'liq o’rganilmagan va bundan tashqari, to'liq rasmiylashtirilmagan soha bo'lib, unda juda ko'p qiziqarli muammolar mavjud. Ulardan ayrimlarini ko'rib chiqamiz:
fork() va exec() tizimli chaqiruvlar semantikasi. Yuqorida aytilganidek, klassik UNIX OTda fork tizimli chaqiruvi o’zining adres maydoniga ega bo’lgan “og’ir vaznli” yangi jarayonni hosil qiladi, bu oqim hosil qilishga nisbatan ancha “qimmat”ga tushadi. Biroq, dasturlarning pastdan yuqoriga qarab muvofiqligini ta'minlash uchun ushbu semantikani saqlab qolish va yangi tizim chaqiruvlaridan foydalangan holda ko'p oqimli ishlashni joriy etish zarur.
Oqimlarni tugatish. Oqimlarni tugatish muammosi muhim masalalardan hisoblanadi: masalan, agar ota-jarayon tugatilsa, qism-jarayon ham yakunlanishi kerakmi? Agar bir nechta oqimlarni yaratgan standart jarayon tugasa, uning barcha oqimlari tugashi kerakmi? Turli xil operatsion tizimlarda ushbu savollarga javoblar noaniq.
Signallarni qayta ishlashUNIX da Signallar – xatolik xolatlarini qayta ishlashning eng quyi darajadagi mexanizmi. Signallarga misollar: SIGSEGV – segmentlashdagi buzilish (noto'g'ri manzilga murojaat qilish, ko'pincha nolga teng); SIGKILL – jarayonni to’xtatish uchun unga kill buyrug’ining bajarilishi haqidagi signal berish. Foydalanuvchi signal tizimining chaqiruvi bilan signalga ishlov berish tartibini belgilashi mumkin. Muammo shundaki, ko’p oqimli dasturlarda signallar qanday tarqaladi va ularni qaysi oqim qayta ishlashi kerak? Ko’p hollarda bu muammo quyidagicha yechiladi: signal u yaratilgan oqim bilan ishlov beriladi va faqat shu oqimning bajarilishiga ta'sir qiladi. Zamonaviy OT larda (masalan, Windows 2000 va uning keyingi versiyalari) ob’ektga yo’naltirilgan metodologiyaga asoslanadi, signal kontseptsiyasi juda yuqori darajadagi istisnolar (exception) kontseptsiyasi bilan almashtiriladi.
Istisnolar metodlarni chaqirish tartibiga teskari bo’lgan oqimlar steki bo’yicha tartibi bilan tarqaladi va ulardan birinchisi tizim aniqlagan mos qayta ishlovchi tomonidan qayta ishlanadi. Shunga o’xshash istisnolarni qayta ishlash sxemasi Java va .NET da tatbiq qilingan.

Download 212.72 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling