Middle
Tizim qanday qilib qaysi jarayonni yakunlashni aniqlaydi?
sobes.tech AI
AIdan javob
Sistem resurslarni bo'sh qilish uchun jarayonlarni yakunlash maqsadida xotira yetishmasligini aniqlash algoritmi (Out-of-memory killer, OOM killer) dan foydalanadi. Har bir jarayon uning holati va komponentlariga asoslangan ustuvorlikka ega:
- Oldingi jarayon: Foydalanuvchi bilan o'zaro aloqada bo'lgan faoliyat. Eng yuqori ustuvorlik.
- Ko'rinadigan jarayon: Ekranda ko'rinadigan, ammo oldingi planda emas (masalan, dialog oynasi). Yuqori ustuvorlik.
- Xizmat jarayoni: Ishga tushirilgan xizmat (masalan, fon rejimida musiqa ijro etish). Ko'rinadigan jarayondan pastroq ustuvorlik.
- Kesh jarayoni: Faol komponentlari bo'lmagan va qayta ishga tushirilishi mumkin bo'lgan jarayon. Eng past ustuvorlik.
OOM killer avvalo eng past ustuvorlikdagi jarayonlarni (Kesh jarayoni) yakunlashga harakat qiladi, so'ngra Xizmat jarayonlariga o'tadi va shunday davom etadi, yetarli bo'sh xotira bo'lguncha.
Shuningdek, quyidagilar hisobga olinadi:
- Jarayonning oxirgi faoliyatidan boshlab o'tgan vaqt: "Eski" jarayonlar past ustuvorlik bilan birinchi bo'lib yakunlanadi.
- Foydalanilgan xotira hajmi: Ko'p xotira sarflaydigan jarayonlar, hatto ularning ustuvorligi boshqalardan yuqori bo'lsa ham, avval yakunlanishi mumkin.
Tizim javob berish va barqarorlikni saqlash uchun jarayonlarni foydalanuvchi uchun eng kam zararli tarzda yakunlashga harakat qiladi.