Jarayon Tugatish
Jarayon yakuniy bayonotni bajarishni tugatgandan so'ng tugaydi va so'raydi faoliyat ko'rsatmoqda tizimi uchun o'chirish bu tomonidan foydalanish the Chiqish() tizimi qo'ng'iroq qiling. Da o'sha nuqta, the jarayon mumkin qaytish a holat qiymat (odatda a butun) uchun uning kutayotgan ota-ona jarayon (orqali the Kutmoq() tizimi qo'ng'iroq). Hammasi the resurslar ning the jarayon
— shu jumladan jismoniy va virtual xotira, ochiq fayllar va kiritish-chiqarish buferlar — operatsion tizim tomonidan ajratiladi va qayta tiklanadi.
Tugatish mumkin yuzaga keladi ichida boshqa holatlar kabi yaxshi. A jarayon mumkin sabab _ tugatish ning boshqa jarayon orqali a muvofiq tizimi qo'ng'iroq qiling (uchun Masalan, TerminateProcess() ichida Windows). Odatda, shunday a tizimi qo'ng'iroq qiling mumkin bo'l faqat chaqiriladi tomonidan the ota-ona ning the jarayon bu hisoblanadi uchun bo'l tugatildi. Aks holda, a foydalanuvchi - yoki a noto'g'ri harakat qilish ariza - mumkin o'zboshimchalik bilan o'ldirish boshqa foydalanuvchining jarayonlar. Eslatma bu a ota-ona ehtiyojlari uchun bilish the identifikatsiyalar ning uning bolalar agar bu hisoblanadi uchun ularni tugatish . Shunday qilib, qachon bitta jarayon yaratadi a yangi jarayon, the shaxs ning the yangi yaratilgan jarayon ota-onaga uzatiladi.
A ota-ona mumkin tugatish the ijro ning bitta ning uning bolalar uchun a xilma-xillik sabablarga ko'ra, masalan:
The bola oshib ketdi uning foydalanish ning biroz ning the resurslar bu bu ega ajratilgan . (To aniqlash xoh bu ega sodir bo'lgan, the ota-ona kerak bolalarining holatini tekshirish mexanizmiga ega.)
The vazifa tayinlangan uchun the bola hisoblanadi yo'q uzoqroq talab qilinadi.
agar ota-onasi tugatsa, operatsion tizim bolaning davom etishiga ruxsat bermaydi .
Ba'zi tizimlar ruxsat bermaydi agar uning ota-onasi tugatilgan bo'lsa, bolaning mavjud bo'lishi. In shunday tizimlari, agar a jarayon tugatadi (yoki odatda yoki g'ayritabiiy), keyin uning barcha bolalari ham tugatilishi kerak. Kaskadli tugatish deb ataladigan bu hodisa odatda operatsion tizim tomonidan boshlanadi.
Kimga tasvirlab bering jarayon ijro va tugatish, ko'rib chiqing bu, ichida Linux va UNIX tizimlarida biz chiqish holatini parametr sifatida taqdim etgan holda exit() tizim chaqiruvidan foydalanib jarayonni tugatishimiz mumkin :
/* Chiqish bilan holat 1 */ chiqish (1);
Aslida, normal tugatishda exit() to'g'ridan-to'g'ri chaqiriladi (ko'rsatilgandek). yuqorida) yoki bilvosita, kabi the C ish vaqti kutubxona (qaysi hisoblanadi qo'shildi uchun UNIX bajariladigan fayllar) sukut bo'yicha exit() ga qo'ng'iroqni o'z ichiga oladi .
A ota-ona jarayon mumkin Kutmoq uchun the tugatish ning a bola jarayon tomonidan wait() tizimi chaqiruvidan foydalanish . wait () tizimi chaqiruvi ota-onaga bolaning chiqish holatini olish imkonini beruvchi parametrdan o'tadi. Ushbu tizim chaqiruvi ham qaytariladi the jarayon identifikator ning the tugatildi bola shunday bu the ota-ona mumkin uning farzandlaridan qaysi biri tugatilganligini ayting:
pid t pid; int holat;
pid = kuting(&holat);
Qachon a jarayon tugatadi, uning resurslar bor ajratilgan tomonidan operatsion tizim. Biroq, jarayon jadvalidagi yozuvi ota-onaga qadar u erda qolishi kerak qo'ng'iroqlar kuting() , chunki the jarayon stol o'z ichiga oladi the jarayonning Chiqish holat. A tugatilgan, lekin ota-onasi hali wait() ni chaqirmagan jarayon zombi jarayon sifatida tanilgan . Barcha jarayonlar tugashi bilan bu holatga o'tadi, lekin odatda ular zombi sifatida faqat qisqa vaqt ichida mavjud. Ota-ona wait() ga qo'ng'iroq qilgandan so'ng , zombi jarayonining jarayon identifikatori va uning jarayon jadvaliga kiritilishi chiqariladi.
wait() va o'rniga chaqirmasa nima bo'lishini ko'rib chiqing tugatilgan, shu bilan ketish uning bola jarayonlar kabi etimlar . An'anaviy UNIX tizimlari murojaat qilgan bu stsenariy tomonidan tayinlash the init jarayon kabi the etim jarayonlariga yangi ota-ona. (3.3.1-bo'limni eslang, init UNIX tizimlarida jarayonlar ierarxiyasining ildizi bo'lib xizmat qiladi .) Init jarayoni vaqti-vaqti bilan chaqiriladi. kuting() , shu bilan ruxsat berish the Chiqish holat ning har qanday yetim qolgan jarayon uchun yig'ilsin va chiqarish the etimning jarayon identifikator va jarayon jadvali kirish. Ko'pgina Linux tizimlari initni systemd bilan almashtirgan bo'lsa-da , oxirgi jarayon mumkin hali ham xizmat qilish the bir xil roli, garchi Linux shuningdek imkon beradi jarayonlar boshqa
dan systemd uchun meros etim jarayonlar va boshqarish ularning tugatish.
3.3.2.1 Android Jarayon Ierarxiya
Cheklangan xotira kabi resurs cheklovlari tufayli mobil operatsion tizimlar cheklangan tizim resurslarini qayta tiklash uchun mavjud jarayonlarni to'xtatishi mumkin . Aksincha dan tugatish a o'zboshimchalik bilan jarayon, Android ega jarayonlarning muhim ierarxiyasi va tizim qachon tugashi kerakligini aniqladi yangi yoki muhimroq jarayon uchun resurslarni taqdim etish jarayoni, u jarayonlarni ahamiyatini oshirish tartibida tugatadi. Jarayonlar tasnifining ierarxiyasi eng muhimidan eng muhimigacha quyidagicha:
Oldindan jarayon — The joriy jarayon ko'rinadigan yoqilgan the ekran, foydalanuvchi hozirda o'zaro aloqada bo'lgan ilovani ifodalaydi
Ko'rinadigan jarayon — A jarayon bu hisoblanadi emas bevosita ko'rinadigan ustida birinchi o'rinda lekin bu hisoblanadi amalga oshirish a faoliyat bu the oldingi jarayon hisoblanadi (ya'ni, holati oldingi jarayonda ko'rsatiladigan faoliyatni amalga oshiradigan jarayon)
3.4 Interprocess Aloqa 123
Xizmat jarayon — A fon jarayoniga o'xshash, lekin foydalanuvchiga ko'rinadigan faoliyatni amalga oshiradigan jarayon (masalan, musiqa oqimi)
Fon jarayon — A jarayon bu faoliyatni amalga oshirayotgan bo'lishi mumkin, lekin foydalanuvchiga ko'rinmaydi.
Bo'sh jarayon — A hech qanday ilova bilan bog'liq bo'lmagan faol komponentlarga ega bo'lmagan jarayon
Agar tizimi resurslar kerak bo'l qaytarib olingan, Android bo'ladi birinchi tugatish bo'sh jarayonlar, keyin fon jarayonlari va boshqalar. Jarayonlar tayinlanadi a ahamiyati reyting, va Android urinishlar uchun tayinlash a jarayon kabi baland a reyting kabi mumkin. Uchun misol, agar a jarayon hisoblanadi ta'minlash a xizmat va ko'rinadigan bo'lsa, unga muhimroq ko'rinadigan tasnif tayinlanadi.
Bundan tashqari, Android rivojlanish amaliyotlar taklif qilish ergashish the yo'riqnomalar _ ning the jarayon hayot tsikl. Qachon bular ko'rsatmalar bor ergashgan, the davlat jarayon tugatilishidan oldin saqlanadi va agar foydalanuvchi dasturga qaytsa, saqlangan holatda davom ettiriladi.
Dostları ilə paylaş: |