Ishi Mavzu: Jarayon xolati diagrammalari va jarayon diskriptori Reja
Dinamik ustuvorliklar yordamida vazifalarni rejalashtirish
Download 90.82 Kb.
|
620-20 Qosimov operatsion
Dinamik ustuvorliklar yordamida vazifalarni rejalashtirish
Har qanday nazorat va boshqaruv vazifalarini amalga oshiradigan dasturlarni bajarishda (bu, birinchi navbatda, real vaqt tizimlari uchun odatiy hol), bir yoki bir nechta vazifalarni uzoq vaqt davomida amalga oshirish (hal qilish) mumkin bo'lmagan holatlar yuzaga kelishi mumkin. kompyuter tizimidagi yuk ortdi. Bunday vazifalarni bajarmaslik bilan bog'liq yo'qotishlar ustuvor bo'lgan dasturlarni bajarmaslikdan ko'ra ko'proq bo'lishi mumkin. Bunday holda, "favqulodda" vazifalarning ustuvorligini vaqtincha o'zgartirish maqsadga muvofiq bo'lib chiqadi (ular uchun ajratilgan ishlov berish muddati tugaydi). Ushbu vazifalarni bajargandan so'ng, ularning ustuvorligi tiklanadi. Shuning uchun deyarli har qanday real vaqtda operatsion tizimda dasturlarning ustuvorligini o'zgartirish uchun imkoniyatlar mavjud 1. Ko'pgina operatsion tizimlarda RTOS sinfiga tegishli bo'lmagan bunday vositalar mavjud. Dinamik ravishda o'zgaruvchan ustuvorlik mexanizmlarini joriy etish foydalanuvchilarning qisqa so'rovlariga tezroq tizim javobini amalga oshirish imkonini beradi, bu interaktiv ish uchun juda muhim, lekin ayni paytda har qanday so'rovlarning bajarilishini kafolatlaydi. Masalan, UNIX OS da dinamik ustuvorlik mexanizmi qanday amalga oshirilganligini ko'rib chiqing, siz bilganingizdek, RTOSga taalluqli emas. Jarayonning ustuvorligi quyidagicha hisoblanadi [70]. Birinchidan, hisoblash jarayon deskriptorining ikkita maydonining qiymatlarini o'z ichiga oladi. Ulardan birinchisi foydalanuvchi tomonidan aniq tayinlangan yoki dasturlash tizimi yordamida sukut bo'yicha tuzilgan. Ikkinchi maydon vazifa menejeri (vaqtni taqsimlash rejalashtiruvchisi) tomonidan yaratiladi va tizim komponenti yoki joriy ustuvorlik deb ataladi. Boshqacha qilib aytadigan bo'lsak, har bir jarayonda ikkita ustuvor atribut mavjud bo'lib, ular CPU vaqtini bajariladigan vazifalar orasida taqsimlash uchun ishlatiladi : joriy ustuvorlik, qaysi rejalashtirish asosida amalga oshiriladi, va tartiblangan nisbiy ustuvorlik, yoqimli deb ataladi. raqam (yoki shunchaki yaxshi). Joriy ustuvorliklarning raqamlash sxemasi (raqamli qiymatlar) turli versiyalar uchun farq qiladi UNIX. Masalan, joriy ustuvorlikning yuqori qiymati pastroq haqiqiy rejalashtirish ustuvorligiga mos kelishi mumkin. Yadro rejimi va vazifa ustuvorliklari o'rtasidagi bo'linish ham versiyaga qarab farq qiladi. Joriy jarayonning ustuvorligi 0 dan (past ustuvorlik) 127 (eng yuqori ustuvorlik) gacha bo'lgan maxsus holatni ko'rib chiqing. Vazifa rejimida ishlaydigan jarayonlar yadro rejimida ishlaydiganlarga qaraganda pastroq ustuvorlikka ega. Vazifa rejimi uchun ustuvorlik 0-65 oralig'ida, yadro rejimi uchun - 66-95 (tizim diapazoni) oralig'ida o'zgaradi. 96-127 oralig'idagi ustuvorliklarga ega bo'lgan jarayonlar operatsion tizim tomonidan o'zgartirilmaydigan va real vaqtda ilovalarni qo'llab-quvvatlash uchun mo'ljallangan, qat'iy ustuvor jarayonlardir. Hozirda mavjud bo'lmagan resursda kutilayotgan jarayon uchun tizim tizim ustuvorliklari qatoridan yadro tomonidan tanlangan va holatga sabab bo'lgan voqea bilan bog'liq bo'lgan uyqu ustuvorligi qiymatini belgilaydi. Jarayon uyg'onganda, yadro jarayonning joriy ustuvorligini uyqu ustuvorligiga o'rnatadi. Bunday jarayonning ustuvorligi tizim diapazonida va vazifa rejimining ustuvorligidan yuqori bo'lganligi sababli, jarayonni hisoblash resurslari bilan ta'minlash ehtimoli juda yuqori. Ushbu yondashuv, xususan, tizim chaqiruvini tezda bajarishga imkon beradi, uning bajarilishi, o'z navbatida, ba'zi tizim resurslarini blokirovka qilishi mumkin. Tizim chaqiruvi tugallangandan so'ng, vazifa rejimiga qaytishdan oldin, yadro tizim qo'ng'irog'i bajarilishidan oldin saqlangan vazifa rejimi ustuvorligini tiklaydi. Bu pastroq ustuvorlikka olib kelishi mumkin, bu esa o'z navbatida kontekstni almashtirishga olib keladi. Vaqtni taqsimlash rejalashtiruvchisining vazifasi hisoblash resursini raqobatdosh jarayonlar o'rtasida adolatli taqsimlashdan iborat. Qaysi jarayonni keyingi ishga tushirishni tanlash uchun rejalashtiruvchiga protsessordan foydalanish haqida ma'lumot kerak. Ushbu ustuvor komponent taymerning har bir "belgisi" uchun taymer uzilish ishlovchisi tomonidan kamayadi. Shunday qilib, jarayon vazifa rejimida ishlayotganda, uning joriy ustuvorligi chiziqli ravishda kamayadi. Yadro har soniyada ishga tayyor bo'lgan jarayonlarning joriy ustuvorliklarini qayta hisoblab chiqadi (ularning ustuvorliklari ma'lum chegara qiymatidan kichik, bizning misolimizda bu qiymat 65 ga teng), ularni ketma-ket oshirib boradi. Bu yadro tomonidan protsessordan foydalanish vaqtining salbiy komponentini ketma-ket kamaytirish orqali amalga oshiriladi. Natijada, bu harakatlar jarayonlarni yuqori ustuvor navbatlarga o'tkazadi va ularning keyingi ishga tushish ehtimolini oshiradi. Ta'riflangan rejalashtirish algoritmlari past ustuvor jarayonlarning manfaatlarini hisobga olishga imkon beradi, chunki ishga tushirish uchun uzoq kutish navbati natijasida bunday jarayonlarning ustuvorligi ortadi va shunga mos ravishda ishga tushirish ehtimoli ortadi.. Ushbu algoritmlar, shuningdek, hisoblash (fon) bilan bog'liq holda, interaktiv jarayonlarni rejalashtiruvchi tomonidan ko'proq tanlovni ta'minlaydi. Qobiq yoki muharrir kabi vazifalar ko'p vaqtini kiritishni kutish bilan o'tkazadi, shuning uchun yuqori ustuvorlikka ega (uyqu ustuvorligi). Kutilgan voqea sodir bo'lganda (masalan, foydalanuvchi ma'lumotlarni kiritgan bo'lsa), ular darhol hisoblash resurslari bilan ta'minlanadi. Muhim protsessor resurslarini iste'mol qiladigan fon jarayonlari yuqori p_cpu komponentiga ega va natijada pastroq ustuvorlikka ega. Windows kabi operatsion tizimlarda sodir bo'ladi NT. To'g'ri, ushbu tizimlardagi vazifalarning ustuvorligini o'zgartirish algoritmlari boshqacha. Masalan, in Windows NT da, har bir ip (ip) 2-rasmda ko'rsatilganidek, uni yaratgan jarayonning asosiy ustuvorligidan ikki darajadan pastdan ikki darajagacha bo'lgan asosiy ustuvorlik darajasiga ega. Jarayonning asosiy ustuvorligi jarayonning asosiy ustuvorliklari qanchalik farq qilishi mumkinligini va ular boshqa jarayonlarning ustuvorliklari bilan qanday solishtirishini belgilaydi. Ip ushbu asosiy ustuvorlikni meros qilib oladi va uni biroz balandroq yoki biroz pastroq qilib o'zgartirishi mumkin. Natijada, rejalashtirish ustuvorligi olinadi, uning yordamida ip bajarila boshlaydi. Tarmoq bajarilayotganda, uning ustuvorligi asosiy ustuvorligidan chetga chiqishi mumkin. Dispetcher ish zarrachalarining bajarilish tartibini aniqlash uchun ustuvor tizimdan foydalanadi, past ustuvorliklardan oldin yuqori ustuvorliklarni bajaradi. Tizim ishlashni to'xtatadi yoki oldindan ko'radi Agar ustuvorligi yuqori bo'lgan boshqa vazifa (mavzu) ishga tayyor bo'lsa, joriy ish zarrachasini (oldindan oladi). Download 90.82 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling