Oqim. Oqimlarning tasnifi


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


11-Ma’ruza. Operatsion tizimda oqim (threads) tushunchasi
Reja

  1. Oqim.

  2. Oqimlarning tasnifi

Oqim(thread) - bu operatsion tizimning mohiyati, protsessordagi ko'rsatmalar to'plamini, aniqrog'i dastur kodini bajarish jarayoni. Oqimlarning umumiy maqsadi protsessorda parallel ravishda ikki yoki undan ortiq turli xil vazifalarni bajarishdir. Siz taxmin qilganingizdek, oqimlar ko'p vazifali OS uchun birinchi qadam edi. OT rejalashtiruvchisi, oqimning ustuvorligini boshqaradi, vaqt bo'laklarini har xil oqimlar o'rtasida taqsimlaydi va ularni bajarish uchun qo'yadi.
Oqim bilan birga, jarayon kabi tushuncha ham mavjud. Jarayon bu jarayonning barcha resurslarini (ochiq fayllar, xotira bilan bog'langan fayllar ...) va ularning tavsiflovchilarini, oqimlarini va boshqalarni o'z ichiga olgan mavhumlikdan boshqa narsa emas. Har bir jarayonda kamida bitta oqim bor. Shuningdek, har bir jarayon o'z virtual manzil maydoniga va ijro etish kontekstiga ega va bitta jarayonning oqimlari jarayonning manzil maydonini baham ko'radi.
Har bir oqim, har bir jarayon singari, o'z mazmuniga ega. Kontekst - bu quyidagi elementlar saqlanadigan tuzilma:

  • Protsessor registrlari.

  • Oqim / jarayonlar to'plamiga ko'rsatgich.

Shuni ham ta'kidlash kerakki, agar tizim chaqiruvi ish zarrachasi tomonidan bajarilsa va foydalanuvchi rejimidan yadro holatiga o'tkazilsa, oqimlar to'plami yadro to'plamiga almashtiriladi. Bitta jarayonning ish zarrachasini boshqasiga o'tkazishda OS virtual xotira mexanizmlari uchun mas'ul bo'lgan ba'zi protsessor registrlarini yangilaydi (masalan, CR3), chunki har xil jarayonlar turli xil virtual manzil maydonlariga ega. Bu erda men yadro rejimiga oid jihatlarga alohida to'xtamayman, chunki bunday narsalar ma'lum bir OT uchun xosdir.
Umuman olganda, quyidagi tavsiyalar amal qiladi:

  • Agar sizning vazifangiz intensiv parallellashtirishni talab qilsa, bir nechta jarayonlar o'rniga bitta jarayondan oqimlardan foydalaning. Buning sababi, kontekstni almashtirish jarayoni kontekstni almashtirishga qaraganda ancha sekinroq.

  • Oqimdan foydalanganda, yadro tizimining qo'ng'iroqlarini talab qiladigan sinxronizatsiya vositalarini me’yordan ortiq ishlatishdan ehtiyot bo'ling. Yadro tayyorligiga o'tish bu juda muhim operatsiya!

  • Agar siz ring0-da ishlaydigan kodni yozsangiz (masalan, drayver), qo'shimcha oqimlardan qochishga harakat qiling, chunki kontekstni o'zgartirish yuqori operatsiya hisoblanadi.


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