Oqim. Oqimlarning tasnifi


shartli o'zgaruvchilar An


Download 25.43 Kb.
bet6/7
Sana17.06.2023
Hajmi25.43 Kb.
#1528601
1   2   3   4   5   6   7
Bog'liq
11 (1)

shartli o'zgaruvchilar An ), bu barcha kerakli ehtiyojlarni qoplaydi.


Keling, farqlar haqida gapiraylik. Masalan, pthreadsdagi oqim bekor qilinishi mumkin, ya'ni. pthread_cancel tizim chaqiruvi yordamida ba'zi bir muteks yoki shartli o'zgaruvchini chiqarishni kutish paytida, pthread_join chaqiruv vaqtida kutish paytida ijro etishdan olib tashlanadi (chaqiruvchi oqim funktsiya chaqirilguncha bloklanadi) ijro etuvchi) va boshqalar. Muteks va semaforlar bilan ishlash uchun alohida chaqiriqlar mavjud, masalan pthread_mutex_lock / pthread_mutex_unlock va boshqalar.
Shartli o'zgaruvchilar (cv) odatda mutexlar bilan birgalikda ancha murakkab holatlarda qo'llaniladi. Agar muteks shunchaki oqimni boshqa oqim chiqarguncha to'sib qo'ysa, u holda cv ba'zi bir qulfni ochish holati sodir bo'lguncha o'zini to'sib qo'yishi mumkin bo'lgan sharoitlarni yaratadi. Masalan, cv mexanizmi pthreads muhitidagi voqealarni taqlid qilishga yordam beradi. Shunday qilib, pthread_cond_wait tizim chaqiruvi ma'lum bir voqea sodir bo'lganligi haqida xabar berilguncha kutib turadi. pthread_cond_signal navbatdagi bitta ish zarrachasini ogohlantirmoqda . pthread_cond_broadcast pthread_cond_wait deb nomlangan barcha ish zarrachalarini cv ishga tushirilganligi to'g'risida xabardor qiladi.
Oqimlar nima?
Qaysi oqimlar (bu so'z rus tiliga deyarli hamma joyda "oqimlar" deb tarjima qilingan, Win32 API-dagi kitoblar bundan mustasno, u erda "oqimlar" deb tarjima qilingan)) va ularning jarayonlardan qanday farq qilishi haqidagi tushunchangizni shakllantirish uchun quyidagi ikkita ta'rifdan foydalaning:

  • Thread - bu haqiqiy protsessorga o'xshash, o'ziga xos registrlar to'plamiga ega bo'lgan virtual protsessor . Haqiqiy kabi virtual protsessor uchun eng muhim registrlardan biri bu joriy ko'rsatmaning individual ko'rsatkichidir (masalan, x86 protsessorlarda individual EOQIM registri),

  • Jarayon, avvalambor, manzil maydonidir . Zamonaviy arxitekturada, sahifalar jadvallarini manoqimulyatsiya qilish orqali OS yadrosi tomonidan yaratilgan. Va allaqachon ikkinchi o'rinda, jarayonni OSdagi "resurslar" ning biriktiruvchi nuqtasi sifatida ko'rish kerak. Agar biz oqimlarning mohiyatini tushunish uchun ko'p vazifali kabi jihatni tahlil qilsak, unda hozirgi vaqtda biz fayllar va ularga biriktirilgan narsalar kabi OS "resurslari" haqida o'ylashimiz shart emas.

Tarmoq kontseptual ravishda virtual protsessor ekanligini anglash juda muhim va biz operatsion tizim yadrosida yoki foydalanuvchi darajasidagi kutubxonada ish zarralarini yozganimizda, ko'pgina virtual dasturlarda markaziy protsessorni "ko'paytirish" muammosini hal qilamiz. mantiqiy yoki hatto jismoniy (SMP, SMT va ko'p yadroli protsessor platformalarida) bir-biriga parallel ravishda ishlaydigan misollar.
Asosiy, kontseptual darajada "kontekst" mavjud emas. Kontekst - bu shunchaki OS yadrosi yoki bizning kutubxonamiz (ish zarralarini amalga oshiruvchi) virtual protsessorning registrlari, ularning parallel ishlashini taqlid qilib, ular orasidagi almashinish paytida saqlaydigan ma'lumotlar tuzilmasining nomi . Kontekstni almashtirish - bu mavzularni amalga oshirishning bir usulioqimni belgilaydigan eng asosiy kontseptsiya o'rniga.
Muayyan operatsion tizimning API-lari tahlili orqali oqimning ta'rifiga yaqinlashganda, ular odatda juda ko'p ob'ektlarni kiritadilar - bu erda sizda jarayonlar va manzillar bo'shliqlari va kontekstlari mavjud va ushbu kontekstlarni almashtirish, taymer va vaqt bo'laklari bilan uzilishlar mavjud ustuvorliklar va hatto jarayonlar bilan bog'liq bo'lgan "resurslar" (oqimlardan farqli o'laroq). Va bularning barchasi bitta to'pga to'qilgan va ko'pincha biz ta'riflarni o'qib, aylana yurganimizni ko'ramiz. Afsuski, bu kitoblardagi mavzular mohiyatini tushuntirishning keng tarqalgan usuli, ammo bu yondashuv yangi boshlagan dasturchilarni chalkashtirib yuboradi va ularning tushunchalarini amalga oshirish xususiyatlari bilan bog'laydi.
Ushbu shartlarning barchasi huquqqa ega ekanligi aniq vujudga kelgan va tasodifan paydo bo'lmagan, ularning har birining orqasida ba'zi muhim mavjudotlar mavjud. Ammo ular orasida asosiy va ikkinchi darajali ( asosiy ob'ektlarni amalga oshirish uchun kiritilgan yoki ularga yuqoridan osilgan, mavhumlikning keyingi darajalarida) ajratib ko'rsatish kerak.
Tarmoqning asosiy g'oyasi - bu protsessor registrlarini 
Download 25.43 Kb.

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




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