|
Jarayonlarni rejalashtirish
|
bet | 40/222 | Sana | 15.05.2024 | Hajmi | 5,84 Mb. | | #236377 |
Kompyuter ko‘p vazifalik rejimda ishlayotganda markaziy protsessorda bir vaqtning o‘zida bir nechta jarayon yoki oqimlar ishga tushadi. Agar bunday vaziyatda tayyorlilik holatda bo‘lsa bir vaqtning o‘zida ikki yoki undan ko‘p jarayon yoki oqimlarga duch kelinadi. Agar faqat bitta protsessorga kirish ruhsat etilgan bo‘lsa, bu jarayonlardan qaysi biri birinchi bajarilishi tanlaniladi. Ko‘plab operatsion tizimlarda bu tanlov rejalashtirish deb ataladi, u foydalanadigan algoritm esa rejalashtirish algoritmi deb ataladi.
Jarayonlarni rejalashtirishni qo‘llash, shuningdek bir biridan farqli bo‘lgan ayrim oqimlarni rejalashtirishga qo‘llash mumkinmi degan ko‘plab bir xil bo‘lgan savollar mavjud. Yadro oqimni boshqarsa, u holda odatda har bir oqimni, u aynan qaysi jarayonda yotganiga qaramay rejalashtiriladi. Dastlab biz jarayonlar va oqimlar qanday rejalashtirishni ko‘rib chiqamiz. Shundan so‘ng biz oqimlarni rejalashtirish va qator paydo bo‘ladigan noyob savollarni ko‘rib chiqamiz. Magnitli lentada keltirilgan perfokart ko‘rinishli shakldagi ma’lumotlarni kiritishni amalga oshirgan paketli tizim davrida rejalashtirish algoritmlari soddaroq bo‘lgan: faqat lentadagi navbatdagi topshiriqni ishga tushirish talab qilingan. Ko‘p topshiriqli tizimlarning paydo bo‘lishi rejalashtirish algoritmlarini takomillashtirdi, ushbu holatda odatda xizmat ko‘rsatishni kutayotgan bir nechta foydalanuvchiga, bir vaqtning o‘zida xizmat ko‘rsatiladi. Ayrim universal mashinalar haligacha vaqtni ajratish rejimida topshiriqlarni paketli topshiriq usulida hisoblaydi, va rejalashtiruvchi navbatdagi bajariladigan ish qanday bo‘lishini hal qilishi kerak bo‘ladi: paketli topshiriqni bajaradi yoki terminalda o‘tiruvchi
foydalanuvchi bilan interaktiv aloqani ta’minlaydi. Bunday vaqtli protsessorli mashinalari uchun resurslar yetishmovchiligi bo‘ladi, kuchli rejalashtiruvchi mashinalar unumdorligini his qilishi va foydalanuvchilarni qanoatlantira olishi mumkin.
Shaxsiy kompyuterlarning paydo bo‘lishi vaziyatni ikki holatga yo‘naltirdi. Birinchisi, asosiy vaqtni bitta faol jarayonga qaratdi. Foydalanuvchi hujjatga matnni kiritishda protsessor bir vaqtning o‘zida fonli rejimda dasturni kompilatsiyalagan. Foydalanuvchi protsessor matni uchun buyruqni terganda, rejalashtiruvchi qaysi jarayoni ishga tushirishni tanlamagan, chunki matnli protsessor yagona nomzod bo‘lgan.
Kompyuterlarning ikkinchi davrida, kompyuterlar tez ishlashi natijasida, resurslar yetishmovchiligi kuzatilgan. Shaxsiy kompyuterlar uchun ko‘plab dasturlar foydalanuvchiga kiruvchi axborotlar belgilangan (chegaralangan) tezlikda taqdim etiladi, lekin bu tezlik bilan emas. Markaziy protsessor uni qayta ishlashiga bog‘liq. Endilikda xatto bir vaqtning o‘zida bir nechta dasturlar bilan ishlash imkoniga ega bo‘lindi, masalan, matnli jarayon va elektron jadval. Shu sababli shaxsiy kompyuterlarda jarayonlarni rejalashtirish muxim rol o‘ynamaydi. Albatta mavjud ilovalar, markaziy protsessorning barcha resurslaridan foydalanadi: masalan, bir soatli yuqori sifatli videoda har bir 108 000 kadrni (NTSC da) yoki 90 000 kadrni (PAL da) rangli gammalarda to‘g‘irlash uchun katta quvvatga ega sanoat hisoblash kompyuterlari talab qilinadi, lekin ilova qoidalari bundan mustasno.
Tarmoq xizmatlari talab qilinganda vaziyat o‘zgaradi. Bu yerda protsessor vaqtida bir nechta jarayonlarga qarshi kurashiladi, shu sababli yangi topshiriqlar olinadi. Masalan, markaziy protsessorda ishga tushirilgan jarayonlardan birontasini tanlash zarurati paydo bo‘lganda kunlik statistikani to‘playdi va foydalanuvchi so‘rovlariga xizmat ko‘rsatish jarayonlaridan birini tanlaydi (agar navbatdagi jarayonga muximlilik berilsa, foydalanuvchi o‘zini yaxshi xis qiladi).
“To‘g‘ri” jarayonni tanlashdan tashqari rejalashtiruvchi markaziy protsessorning to‘g‘ri ishlashi haqida o‘ylashi kerak. Dastlab foydalanuvchi rejimida yadro rejimiga o‘tkazilishi kerak. So‘ng ularni keyingi qayta yuklanish uchun uning registeri jarayon jadvalida saqlashni o‘z ichiga olgan joriy jarayon holati saqlanishi kerak. Shundan so‘ng, keyingi jarayonni tanlash uchun rejalashtirish
algoritmi ishga tushiriladi. So‘ng yangi jarayon xotira kartasiga muvofiq xotirani boshqarish blokiga yuklanadi. Va nihoyat yangi jarayon ishga tushiriladi.
|
| |