Idle State — protsessor yadrosi yoki qurilma bajaradigan foydali ish topilmaganda kiradigan past quvvatli holat. Bu uyqu rejimidan ko‘ra torroq tushuncha: ko‘pincha tizim ishlashda davom etadi, faqat bo‘sh komponentning soati yoki ayrim elektr qismlari vaqtincha o‘chiriladi. Yangi ish yoki uzilish kelganda komponent holatdan chiqadi.
Protsessordagi bo‘sh holatlar
Operatsion tizimning rejalashtiruvchisi bajariladigan oqim qolmaganda maxsus kutish ko‘rsatmasini ishlatadi. Apparat yengil holatda faqat buyruq chiqarishni to‘xtatishi, chuqur holatda esa kesh yoki yadroning katta qismini quvvatdan uzishi mumkin. Arxitekturalarda nomlar farq qilsa-da, umumiy tamoyil bir xil: chuqurlik ortishi bilan sarf kamayadi, kirish va chiqish kechikishi oshadi.
Kesh mazmuni saqlanmaydigan holatga kirishdan oldin iflos qatorlar yuqori darajadagi keshga yoki xotiraga yozilishi mumkin. Bu energiya va vaqt talab qiladi. Bir nechta yadro umumiy kesh yoki quvvat domenidan foydalansa, eng chuqur paket holatiga faqat barcha tegishli yadrolar bo‘shaganda kirish mumkin.
Holatni tanlash
Idle boshqaruvchisi keyingi uyg‘onishgacha qancha vaqt borligini taxmin qiladi. Holatning minimal foydali turish muddati taxminiy bo‘sh vaqtga mos kelsa, energiya tejaladi. Prognoz xato bo‘lib, ish erta kelsa, uyg‘onish kechikishi foydadan ustun kelishi mumkin. Real vaqt vazifalarida maksimal ruxsat etilgan kechikish chuqur holatlarni cheklaydi.
Taymerlar, tarmoq paketlari va qurilma uzilishlari bo‘sh davrni tugatadi. Ko‘p mayda taymerni bir vaqtda bajarish uchun birlashtirish protsessorning uzluksizroq dam olishiga yordam beradi. “Tickless” rejalashtirish davriy taymer uzilishlarini bo‘sh yadroda kamaytiradi, ammo zarur muddatli hodisalar baribir saqlanadi.
O‘lchash va muammolar
Holat rezidentligi — komponent har bir idle darajada qancha vaqt qolganini ko‘rsatadi. Uyg‘onishlar soni va sababi bilan birga tahlil qilinganda energiya muammosini topish mumkin. Masalan, past trafikdagi tarmoq xizmati tez-tez jurnal yozsa, protsessor chuqur holatga kira olmaydi. Faqat umumiy yuk foizi bunday hodisani yashirishi mumkin.
Idle holat xotiradagi dastur kontekstini yo‘qotmaydi va foydalanuvchi seansini to‘xtatmaydi. Sleep State esa butun tizim darajasidagi kelishilgan o‘tish bo‘lib, ko‘proq qurilmalarni to‘xtatadi. Chastotani pasaytirish ham idle bilan bir xil emas: yadro ish bajarayotgan holda pastroq unumdorlik nuqtasida ishlashi mumkin.
Noto‘g‘ri drayver qurilma tayyor bo‘lmasdan quvvatni kamaytirishi yoki uyg‘onish hodisasini yo‘qotishi mumkin. Shuning uchun platforma dasturi, yadro va drayver holatlar hamda kechikish xususiyatlarini bir xil talqin qilishi kerak. Sinovlarda qisqa bo‘sh davr, uzilish to‘lqini va ko‘p yadroli o‘tishlar alohida tekshiriladi.
Virtual mashinada mehmon operatsion tizimi idle buyrug‘ini bajarganda, gipervizor virtual protsessorni rejalashtirishdan chiqarishi mumkin. Apparatning haqiqiy chuqur holatini esa xost barcha mehmonlarning talabini hisobga olib tanlaydi. Mehmon ichidagi rezidentlik ko‘rsatkichi shu sabab fizik energiya tejalishiga aynan teng bo‘lmaydi. Bulut muhitida qo‘shni ish yuklari paketning umumiy holatga kirishiga to‘sqinlik qilishi mumkin. Tahlil qatlam qaysi darajadagi idle vaqtini o‘lchayotganini aniq ajratishi lozim.
Apparat e’lon qilgan chiqish kechikishi operatsion tizim qarorining muhim kirishidir. Platforma mikrodasturi bu qiymatni noto‘g‘ri bersa, governor real vaqtda bajariladigan vazifa uchun haddan tashqari chuqur holat tanlashi mumkin.
Bog‘liq tushunchalar
CPU C-state, scheduler, interrupt, tickless kernel, wake-up latency, power management