Chap tomondagi rasmda 3 odatiy jarayon ko’rsatilgan. Ularning har birida alohida o’zining manzil muhiti va yagona bajarilish oqimi mavjud.
O’ng tomondagi rasmda 3 ta oqimi mavjud bitta jarayon tasvirlangan. Har ikki holda ham 3 ta oqimi bo’lishiga qaramasdan, chap rasmda har biri o’zining manzil muhitida ishlaydi, o’ng tomonda esa barcha 3 oqim umumiy manzil muhitidan foydalanadi.
Oqimlar ikki joyda amalga oshirilishi mumkin:
Foydalanuvchi muhiti
Yadro
Oqimlarni foydalanuvchi muhitida amalga oshirish
Barcha oqimlar foydalanuvchi muhitida bo’ladi. Yadro bundan bexabar bo’ladi. Yadro odiiy bir oqimli jarayonlarni boshqaradi.
Bu odatda N:1 (user-level threading) deb yuritiladi.
Eng katta ustunligi oqimlarni qo’llab-quvvatlamaydigan OT da amalga oshirish mumkin. Bunda oqimlar kutubxona yordamida amalaga oshiriladi.
Oqimlarni yadroda amalga oshirish
Bunda yadro oqimlar haqida biladi va ularni boshqaradi. Endi qo’llab-quvvatlash tizimi kerka emas. Yana har bir jarayonda oqimlar jadvali ham kerak emas. Buning o’rniga yadroda tizimda mavjud barcha oqimlarni kuzatadigan oqimlar jadvali bor. Oqim yangi oqim yaratishi yoki yo’q qilish kerak bo’lganda yadroga murojjat qiladi, yadro oqimlar jadvalini yangilash yo’li bilan oqimlarni yaratadi yoki yo’q qiladi.
Bu 1:1 (kernel-level threading) deb yuritiladi
Gibrid amalga oshirish
Ham foydalanuvchi, ham yadro sathida oqimlarni yaratish ustunligini birlashtirish maqsadida turli usullar qo’llab ko’rilgan. Ulardan biri oqimlardan yadro sathida keyin esa bir nechta oqimlardan foydalanuvchu muhitida ba’zi yoki to’liq oqimlar doirasida foydalanishdan iborat bo’lgan. Bu yondashuvda dasturchini o’zi nechta oqimdan yadro muhitida nechtasidan esa foydalanuvchi muhitida foydalanishni belgilaydi. Bu model maksimal moslashuvchanlikka asoslangan.
Bunday amalga oshirish M:N (hybrid threading) deb yuritiladi