Sleep State — kompyuter tizimi faol bajarilishni to‘xtatib, odatiy ish holatiga nisbatan kam energiya sarflaydigan, keyinchalik davom ettirish uchun yetarli kontekstni saqlaydigan tizim rejimi. Uning ko‘rinishlari xotiraning quvvatda qolishi, qurilmalar qancha o‘chirilishi va uyg‘onish tezligi bilan farqlanadi.
Asosiy ko‘rinishlar
Suspend-to-idle dasturiy jihatdan jarayonlarni muzlatadi va qurilmalarni past quvvatga o‘tkazadi, biroq apparatning katta qismi yengil idle holatlarida qolishi mumkin. Suspend-to-RAM rejimida operativ xotira yangilanishi saqlanadi, protsessor va ko‘p qurilmalar chuqur o‘chiriladi. Hibernate holatida xotira tasviri doimiy saqlashga yozilib, tizim deyarli to‘liq quvvatdan uziladi.
Yengil rejim tez uyg‘onadi, ammo ko‘proq energiya sarflaydi. Hibernate kam sarf qiladi, lekin katta xotira tasvirini yozish va o‘qish vaqt oladi. Platforma bu nomlarni boshqacha taqdim etishi mumkin; aniq xususiyatni nomdan emas, qaysi komponentlar quvvatda qolishi va qanday uyg‘onish manbalari ishlashidan bilish kerak.
Uyquga kirish
Operatsion tizim yangi foydalanuvchi ishini to‘xtatadi, fayl tizimidagi muhim yozuvlarni yakunlaydi va drayverlarga qurilmani suspend qilish buyrug‘ini beradi. Drayverlar odatda bog‘liqlik tartibida to‘xtatiladi: yuqori darajadagi iste’molchi o‘z tayanch qurilmasidan oldin faoliyatini tugatadi. Jarayonning bir bosqichi xato bersa, avval to‘xtatilgan qismlar qayta uyg‘otilib, o‘tish bekor qilinishi mumkin.
Uyg‘onish manbalari oldindan belgilanadi. Quvvat tugmasi, klaviatura, real vaqt soati yoki tarmoq adapterining maxsus paketi bunga misol. Har bir qurilmani uyg‘otishga ruxsat berish qulay ko‘rinsa-da, shovqinli uzilishlar tizimni sumkada yoki kechasi keraksiz yoqib, batareya va issiqlik muammosini keltiradi.
Qaytish jarayoni
Resume vaqtida platforma protsessorni ishga tushiradi, xotira mavjudligini tekshiradi va drayverlarni teskari bog‘liqlik tartibida tiklaydi. Tarmoq seansi uzilgan, tashqi disk olib tashlangan yoki soat sezilarli siljigan bo‘lishi mumkin. Dasturlar bunday o‘zgarishni oddiy davomiy vaqt deb qabul qilmasligi kerak.
Hibernate tasviri xotiradagi kalitlar va maxfiy ma’lumotlarni o‘z ichiga oladi. Tasvirning maxfiyligi, yaxlitligi va aynan shu qurilmaga tegishliligi tekshirilmasa, hujumchi uni o‘qishi yoki almashtirishi mumkin. Uyg‘ongandan keyin foydalanuvchi autentifikatsiyasini qayta talab qilish ham fizik kirishga qarshi muhim qatlamdir.
Diagnostika
Uyqudagi sarf kutilganidan yuqori bo‘lsa, holat rezidentligi, uyg‘onish sababi va qurilma quvvat holatlari tekshiriladi. Resume nosozligida qaysi drayver oxirgi bo‘lib to‘xtagani yoki birinchi bo‘lib xato qilgani jurnal orqali aniqlanadi. Muammo faqat bir marta kuzatilsa ham, qayta uyqu-uyg‘onish sikllari va turli periferiyalar bilan sinov zarur.
Tarmoq bilan bog‘langan kutish rejimi ayrim xizmatlarni past quvvatli yordamchi protsessorda saqlashi mumkin. U asosiy tizimni uyg‘otmasdan paketlarni filtrlash yoki qisqa bildirishnomani qabul qilishga yordam beradi. Bu oddiy to‘liq uyqudan farq qiladi va maxfiylik siyosatini talab etadi: foydalanuvchi tizim uxlayapti deb o‘ylaganida ham radio faol bo‘lishi mumkin. Platforma qaysi vazifalar uyquda davom etishini, qaysi ma’lumot uzatilishini va ularni qanday o‘chirish mumkinligini aniq ko‘rsatishi kerak.
Uyqu tasvirini dasturiy yangilanishdan oldin yaratish avtomatik moslik bermaydi. Yadro yoki drayver tuzilmalari o‘zgargan bo‘lsa, eski hibernate tasviri rad etilishi kerak; aks holda xotiradagi eski obyekt yangi kod tomonidan xavfli talqin qilinadi.
Bog‘liq tushunchalar
suspend-to-RAM, hibernation, resume, wake source, device power management, wake lock