Oqim – bu operatsion tizimning mohiyati, protsessorda ko‘rsatmalar to‘plamini bajarish jarayoni, aniqrog‘i dastur kodi. Oqimlarning umumiy maqsadi ikki yoki ko‘plab turli xil vazifalarni protsessorda parallel bajarishdir.
Oqim
Ko’p masalalik va ko’p oqimlik
Ko’p masalalik (Многозадачность, multitasking) – bu bir nechta masalalarni parallel (yoi psevdoparallel) qayta ishlashni ta’minlash uchun operatsion tizim yoki bajartirish muhitining xossasi hisoblanadi.
Ko’p oqimlik (Многопоточность, multithreading) – bu platforma (masalan, operatsion tizim, virtual mashina va boshqalar) yoki ilovaning xossasi hisoblanadi, shuningdek operatsion tizimda hosil qilinadigan jarayon vaqt bo’yicha tartiblanmagan, "parallel" ishlaydigan bir nechta oqimlardan tashkil etilishi mumkin.
Oqim afzalliklari
Oqimlar kontekstni almashtirish vaqtini kamaytiradi; Oqimlardan foydalanish jarayon ichida parallellikni ta’minlaydi;
Bunday holda, oqimlarni boshqarish yadrosi oqimlarning mavjudligi haqida xabardor bo‘lmaydi. Oqimlar kutubxonasi oqimlarni yaratish va yo‘q qilish, xabarlar va ma’lumotlarni oqimlar o‘rtasida uzatish, oqimlarni bajarishni rejalashtirish va oqim kontekstlarini tiklash va saqlash kodlarini o‘z ichiga oladi.
Foydalanuvchi darajasidagi oqimlar
Foydalanuvchi darajasidagi oqimlarning afzalliklari:
Oqimni almashtirish yadro rejimi imtiyozlarini talab qilmaydi;
Rejalashtirish foydalanuvchi darajasidagi oqimga xos bo‘lgan dastur bo‘lishi mumkin;
Foydalanuvchi darajasidagi oqimlar tezda yaratiladi va boshqariladi.
Foydalanuvchi darajasidagi oqimlarning kamchiliklari:
Oddiy operatsion tizimda tizim qo‘ng‘iroqlarining aksariyati bloklanadi;
Ko‘p oqimli ilovalar ko‘p protsessorli ishlov berishning afzalliklaridan foydalana olmaydi.
Ba’zi bir operatsion tizimlar birlashtirilgan foydalanuvchi darajasidagi oqimlar va yadro darajasidagi oqimlarni birlashtiradigan vositani ta’minlaydi. Solaris ushbu birlashtirilgan yondashuvga yaxshi misol hisoblanadi. Birlashtirilgan tizimda bitta dasturdagi bir nechta oqimlar bir nechta protsessorlarda parallel ravishda ishlashi mumkin, va bloklash tizim chaqiruvi butun jarayonni bloklamasligi kerak.
Ko‘p oqimli modellar uch turga bo‘linadi:
Many to many modeli;
Many to one modeli;
One to one modeli.
Windows va Linux OT larda oqimlar
Microsoft Windows muhitida jarayon – bu oqimlar uchun konteynerdir (Jefri Rixter o'zining «Программирование приложений для Microsoft Windows» kitobida jarayonlar haqida aynan shunday degan). Jarayon-konteyner kamida bitta oqimdan iborat bo’ladi. Agar jarayonda bir nechta oqimlar mavjud bo'lsa, dastur ilovasdi (jarayon) ko’p oqimli bo'ladi.
Windows va Linux OT larda oqimlar
• Linux muhitida esa har bir oqim jarayon hisoblanadi, ya’ni unda yangi oqim yaratish uchun yangi jarayon yaratiladi.
• Linuxda ko’p oqimlilikning ko’pprotsessorlilikdan afzalligi Linuxning ko’p oqimli ilovalarida qo'shimcha oqimlarni yaratish uchun maxsus turdagi jarayondan foydalanadi
Windows va Linux OT larda oqimlar
Bu jarayonlar asosiy jarayonning oddiy bola jarayonlari hisoblanib, ular asosiy jarayon bilan birgalikda quyidagilardan iborat bo’ladi.
• signal ishlov beruvchilar Ushbu turdagi jarayonlarni belgilash uchun maxsus atama qo'llaniladi - engil jarayonlar (lightweight processes).
Bu jarayonlar ota-ona jarayonining manzilli fazosining (va boshqa resurslarning) o'z nusxasini yaratishga hojat yo'qligi sababli, yangi engil jarayonni yaratish to’la huquqli bola jarayonini yaratishdan harajati ancha kam.
Windows va Linux OT larda oqimlar
Xulosa Men ushbu – operatsion tizimda oqim tushunchasi va ulardan foydalanish mavzusida mustaqil ishini bajarib quyidagi xulosalarga keldim:
Oqim – bu operatsion tizimning mohiyati, protsessorda ko‘rsatmalar to‘plamini bajarish jarayoni, aniqrog‘i dastur kodi. Oqimlarning umumiy maqsadi ikki yoki ko‘plab turli xil vazifalarni protsessorda parallel bajarishdir.
Oqimlar quyidagi ikki usulda amalga oshiriladi:
1) Foydalanuvchi darajasidagi oqimlar (User Level Threads) - foydalanuvchi boshqaradigan oqimlar;
2) Yadro darajasidagi oqimlar (Kernel Level Threads) – yadroda ishlaydigan operatsion tizim boshqaradigan oqimlar, operatsion tizim yadrosi.
Men ushbu mustaqil ishda ko’p malumotlarga ega bo’ldim
Foydalanilgan Adabiyot
U.R.Xamdamov, Dj.B.Sultanov, S.S.Parsiyev, U.M.Abdullayev- Operatsion Tizimlar Kitobi