|
init - tizimni ishga tushirish;
pagedaemon
|
bet | 25/129 | Sana | 18.11.2023 | Hajmi | 4,88 Mb. | | #100808 |
Bog'liq a12b69867f018f785135aa04d3624799 Operatsion tizimlar грифли 100 штinit - tizimni ishga tushirish;
pagedaemon - xotirani sahifali tashkil qilish jarayonini boshqaruvchi demon jarayoni (tizim qayta tiklanmaguncha doimiy ravishda amalga oshiriladigan jarayon);
swapping - jarayon, ko‘chirishni (yoki almashtirishni) boshqarish.
init - jarayonitizimniishga tushirgandan so‘ng foydalanuvchi jarayonlarini boshlaydi. Keyin, o‘z navbatida, yangilarini va boshqalarni ishga tushirishi mumkin.
Jarayonni yo‘q qilish
Bu shuningdek, jarayonlardagi asosiy operatsiyalardan biridir. Qoida sifatida, yakuniy vazifani bajarganda va tugatish uchun operatsion tizimga exit tizim chaqiruvi yordamida murojaat qilganda jarayon yo‘q qilinadi (tugatiladi).
O‘z faoliyatida ona jarayoni abort (UNIX) tizim chaqiruvi bilan farzand jarayonlarini yo‘q qilishi mumkin. Linuxda esa kill tizim chaqiruvi asosida amalga oshiriladi.
Bu quyidagi hollarda bo‘lishi mumkin:
Farzand jarayon unga ajratilgan resurslardan oshib ketsa;
Farzand jarayoniga topshirilgan vazifani hal qilish boshqa talab qilinmasa;
Ona jarayonidan chiqish amalga oshirilsa, shu sababli farzand jarayonlari ham to‘xtatilishi kerak. Agar ona jarayoni yo‘q qilinsa, operatsion tizim farzand jarayonining bajarilishini davom ettirishga ruxsat bermaydi. Oxirgi hodisa jarayonlarning kaskadli yo‘q qilinishi deb ataladi.
Multidasturli muhitda OT protsessor qaysi jarayonni, qachon va qancha vaqt olishini hal qiladi. Bu funksiya jarayonni rejalashtirish deb nomlanadi. Operatsion tizim protsessorni boshqarish uchun quyidagi amallarni bajaradi:
Protsessor va jarayon holatini kuzatadi;
Jarayonga protsessorni (CPU) ajratadi;
Jarayon talab qilinmasa, protsessorni o‘chiradi.
Protsessorni (CPU ni) rejalashtirish multidasturli operatsion tizimlarning asosidir. Protsessorni jarayonlar o‘rtasida almashtirish orqali operatsion tizim kompyuterni unumdorligini oshirishi mumkin.
Protsessorni rejalashtirish va dispetcherlashtirish operatsion tizimning eng muhim funksiyalaridan biri hisoblanadi. Ushbu bo‘limda quyidagi masalalar ko‘rib chiqilgan:
Jarayonlarni rejalashtirishning asosiy tushunchalari;
Dispetcherlashtirish mezonlari;
Dispetcherlashtirish algoritmlari (FCFS, SJF, RR va boshqalar);
Bir necha jarayonlarni dispetcherlashtirish;
Real vaqtda dispetcherlashtirish;
Ko‘p darajali navbatlar.
Jarayonlarni rejalashtirish
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.
Qachon rejalashtiriladi
Rejalashtirishning kalit so‘zi qarorni qabul qilish vaqti bo‘ladi.
Rejalashtirish talab qilinadigan turli xil holatlar mavjud.
Birinchidan, jarayonlarning qaysi biri birinchi bajarilishini aniqlashtiruvchi yangi jarayonni yaratish. Har ikkala jarayon tayyorlilik holatida joylashganligi sababli, rejalashtiruvchi jarayonning onasi (parent process) yoki uning farzandlarini (child process) tanlashga asoslanib qaror qabul qilishi kerak bo‘ladi.
Ikkinchidan, rejalashtiruvchi jarayon tugayotganda qaror qabul qilishi kerak bo‘ladi. Jarayon boshqa bajarilmaydi (endilikda u mavjud bo‘lmaydi), shu bois bajarishga tayyor bo‘lgan jarayonlar ichidan birortasini tanlash kerak bo‘ladi. Agar jarayonlar bajarishga tayyor bo‘lmasa, odatda tizim bo‘sh jarayonni ishga tushuradi.
Uchinchidan, jarayon belgiga yoki biron bir boshqa jarayonni tanlash asosida kiritish/chiqarish operatsiyasini yakunlanishini kutishda bloklansa jarayonni bajarish uchun boshqa biron bir jarayonni tanlash kerak bo‘ladi. Ba’zida bu rolni bloklash bajaradi. Masalan, A muxim rolni o‘ynayapti va B jarayonni paydo bo‘lishini kutayotgan bo‘lsa, u holda A jarayon ishlashni davom ettirishga imkon berish uchun uni tang sohasidan ushbu jarayonni chiqishiga imkon berib B jarayonga bajarish navbatini taqdim etadi. Lekin murakkab tarafi, odatda rejalashtiruvchi ma’lumotlarga bog‘liq bo‘lgan zarur axborotlarga ega bo‘lmaydi.
To‘rtinchidan, rejalashtiruvchi kiritish/chiqarishda to‘xtalishlar paydo bo‘lganda qaror qabul qilishi kerak bo‘ladi. Agar kiritish/chiqarish operatsiya yakunlangan bo‘lsa, kutishida bloklangan qandaydir jarayonda o‘z ishini yakunlab kiritish/chiqarish qurilmasida to‘xtalish bo‘lib o‘tgandan so‘ng, ishlashga tayyor bo‘lishi mumkin. Rejalashtiruvchi qandaydir jarayonni ishga tushirish bo‘yicha qaror qabul qilishi kerak bo‘ladi.
Protsessorni rejalashtirish
Protsessorni rejalashtirish tizimdagi jarayonlar orasida uning vaqtini taqsimlash hisoblanadi. Rejalashtirishdan maqsad -
multidasturlash yordamida erishiladigan protsessorning maksimal yuklanishini ta’minlashdan iborat. Istalgan jarayonning bajarilishiga CPU / K/Ch sikli – protsessordan foydalanish va kiritish/chiqarishni kutish davrlarining navbatlashishi sifatida qarash mumkin.
•
•
•
yuklash maydoni
qo‘shish maydoni fayldan o‘qish
o‘sish maydoni ko‘rsatkich faylga yozish
yuklash maydoni qo‘shish maydoni fayldan o‘qish
|
| |