Real vaqtning kop tarmoqli ilovasini shakllantirish Deyarli har bir real vaqtga taalluqli masala oz ichiga bir necha bir-biriga bogliq masalalar ketma-ketligini keltirib chiqarish bilan birga, har bir masalani alohida yechish yoki masalalar uzviyligini uzishi yoki masalalarning kamroq soni bilan yechish ham mumkin. Shu bilan birga, masalalar yechimi raqobat orqali amalga oshiriladi (bir jarayonli tizim) yoki parallel ravishda kop jarayonli tizimi orqali. Ayni bir jarayonning ozidagina individual oqim korinishida yuqorida aytib otilgandek, kop masalalar tarmoqli model tizimi mavjud. Shu bilan birga, jarayon ikki qismga bolinadi. Birinchi qism ozida quyidagi resurslarni jamlaydi: butun dasturni qamrab oluvchi dasturiy kod va global malumotlar. Ikkinchi qism esa quyidagi malumotga ega: bajarish holatiga taalluqli malumot, masalan, dasturga oid hisobchi va tugatgich. Bu qism oqim (thread) deb ataladi.
Linux operatsion tizimi aniq tillar toplamiga moslashtirilgan «S» dasturlash tili bilan taminlangan va tarmoqlar ustida ishlovchi operatsiyalarni bajaruvchi vazifalar toplami mavjud. Oqimlarning bajarilishini qollab-quvvatlovchi ARM (kutubxona) va sarlavhali fayllar toplami korinishida shakllantirilgan bolib, komponovka jarayonida yuqoridagi yordam dasturi ishga tushadi. Shuni takidlab otish joizki, «Linux» operatsion tizimida oqimlar bajarilishi alohida jarayon deb hisoblanadi, mavjud jarayonning biror-bir qismi emas. Ilovaning kop tarmoqli ishlarini tashkillashtirishda quyidagi oqimlarni boshqara bilish zarur (yaratish, yakunlash, bloklash), sodda jarayonlar yordamida alohida qismlarni sinxronizatsiyalashtirish va bir vaqtning ozida umumiy resurslardan foydalanishga ozaro tosiqni taminlash. ARM yordamidan foydalanish davomida sodda jarayonlarning quyidagi korinishlari ishga tushadi, masalan: Myuntekslar, semaforlar, shartli ozgaruvchilar.
Masalalarning ustunligi boyicha tasniflash Markaziy protsessorda jarayonlarning ustunligini hisobga olgan holda vaqt taqsimlanadi (dispetcherizatsiyalash), raqamli jarayon xarakteristikasi uning shu muhimlik darajasini korsatuvchi hisoblanadi. «Linux»da har bir jarayon 099 diapazonidagi statistik ustunlikka ega. Pid identifikatori tomonidan berilgan jarayonning statistik ustunligi mazmunini sched_getparam tizim chaqiruvi yordamida quyidagi prototip bilan bilib olish mumkin:
Pid identifikatori jarayon dispetcherizatsiyasi olchov mohiyati bilan int sched_getparam (pid_t pid, struct sched_param *p); sched_param tipidagi korsatilgan ozgaruvchi tarkibini toldiradi. Informatsion tuzilishi sched_priority dan ustunlik mohiyati oqilishi mumkin. Operatsiyaning muvaffaqiyatli bajarilganlik belgisi natijasi korinishida qaytadi. Korib chiqilgan tizim chaqirigi prototipi hamda jarayonlarning ustunligi tasniflari bilan bogliq boshqa operatsiyalar tizimi boshlangich sched. H faylida joylashadi. Oddiy foydalanuvchi jarayonlar nol statistik ustunlikka ega. Ularning dispetcherizatsiya vaqtini taqsimlash strategiyasi va dinamik ustunlik asosida amalga oshiriladi. Bunday strategiyada jarayonning reaksiya vaqti tashqi hodisa tasirida 10 millisekundgacha yetishi mumkin va kopgina masalalar uchun bu real vaqt togri kelmaydi.
Tashqi hodisalarga tez javob qaytarishni talab qiluvchi real vaqt jarayonlari uchun nol bolmagan statistik ustunliklardan foydalaniladi. Bajarishga tayyor bunday jarayonlarda ularning statistik ustunligi mohiyatiga asosan royxatlar boyicha taqsimlanadi. Koproq statistik ustunlikka ega bolgan bosh bolmagan asosiy jarayonlar royxatidan dispetcher jarayonlarni aniqlash uchun jarayon tanlaydi. Shuni takidlash kerakki, statistik ustunlik faqat superfoydalanuvchi nomidan ozgartirilishi mumkin. Statistik ustunlikning ozgartirilishi sched_ setparam tizimi chaqirigining quyidagi prototipi orqali amalga oshiriladi: int sched_setparam(pid_t pid, struct sched_ param *p); korsatilgan pid jarayonlari uchun ustunlik mohiyati ornatiladi. Zarur ustunlik mohiyati avvaldan informatsion tuzilishning sched_priority maydoniga kiritilgan bolishi kerak. Operatsiyaning muvaffaqiyatli bajarilganlik belgisi natija korinishida qaytadi. Real vaqt jarayonlari uchun real vaqtning maxsus strategiyalari: FIFO rejalashtirish, RR rejalashtirish qollaniladi. Strategiya jarayonlari royxatiga jarayonni joylashtirish qoidasi va uni royxat ichida joy almashishini aniqlaydi. U faqat bir xil ustunlikka ega bolgan jarayonlar raqobati mavjud bolgandagina ishlaydi.
«FIFO rejalashtirish» strategiyasida jarayonlar tayyor royxati kelib tushishi uchun protsessor taqdim etiladi. Jarayonlar ozining blokka tushguniga yoki tizimda yuqoriroq ustunlikka ega bolgan jarayon tayyor bolguniga qadar, protsessorga egalik qiladi. Tayyorgarlik holatiga otishda jarayon royxatining oxiriga joylashtiriladi. Agar jarayon bajarilishi ustunroq jarayon orqali uzilsa, u holda royxatning boshida qoladi. Ushbu strategiya turli xil statistik ustunlikni jarayonlarga egalik manosidagi kop masalalik nuqtai-nazaridan siqib chiqarishni joriy etadi. Bunday jarayonlar oz faoliyatini tashqi hodisalar boshlanishini yoki «boshqarishga yon berish» jarayoni bajarilishini vaqti-vaqti bilan blokka tushurishni uygunlashtirishi kerak. Oxirgi hodisada jarayon ozini blokka tushirolmay, ixtiyoriy ravishda protsessorni boshqa xuddi shunday ustunlikka ega bolgan jarayonning bajarilishiga boshatib beradi. Tizimli chaqiriq bu amalni bajarish uchun quyidagi prototipga egadir: