|
Bir marotabalik operatsiyalar
|
bet | 36/222 | Sana | 15.05.2024 | Hajmi | 5,84 Mb. | | #236377 |
Kompyuterda jarayonning hayoti uning tug‘ilishidan boshlanadi. Istalgan operatsion tizim jarayon konsepsiyasini qo‘llab-quvvatlaydi, va ularni tashkil qilish uchun zarur vositalarga ega bo‘lishi kerak. Barcha jarayonlar uchun eng sodda tizim (masalan, tizim faqat aniq biror bir ilovada ishlash uchun mo‘ljallangan bo‘lsin), tizimning tug‘ilish jarayonida turgan bo‘lishi mumkin. Nisbatan murakkab operatsion tizimlarda zaruriyat tufayli dinamik jarayonlar ishlab chiqiladi. Operatsion tizimlar ishlashi boshlangandan so‘ng yangi jarayoni yaratish tashabbuschisi sifatida maxsus chaqiruv tizimi yoki operatsion tizimning o‘zini chaqiruv tizimining istalgan jarayonini foydalanuvchi ishga tushirishi mumkin, u holda albatta ba’zi jarayonlar mavjud bo‘ladi. Yangi jarayon tug‘ilishiga sabab bo‘lgan
jarayon – ona jarayon (parent process), qaytadan yangi yaratilgan jarayon – farzand jarayon (child process) deb ataladi. Farzand jarayonlari o‘z navbatida yangi farzandlarni yaratishi mumkin. Umumiy holatda tizim ichi jarayon daraxtidan iborat bo‘ladi. 2.14- rasmda geneologik daraxtga misol keltirilgan. Shuni qayd etish kerakki operatsion tizimdagi ba’zi jarayonlar bilan birgalikda foydalanuvchi jarayonlari bitta daraxtda joylashgan bo‘lishi mumkin. Ko‘plab hisoblash tizimlarida daraxtlar bitta daraxtdan tug‘ilgan bo‘ladi.
2.14- rasm. Jarayonning soddalashtirilgan genologik daraxti
Izoh: Ko‘rsatgich ona - farzand munosabatini ko‘rsatadi
Tizimda jarayonning tug‘ilish jarayoni holati yangi PCB (Process Control Block) bilan nomlanadi va uni to‘ldirish boshlanadi. Yangi jarayon o‘zining noyob identifikatsiya raqamini oladi. Operatsion tizimda jarayonlar identifikatsiya raqamini saqlash uchun chegaralangan jarayonlarda bir vaqtda ishtirok etishi uchun noyob raqam ajratiladi. Jarayon tugagandan so‘ng uni boshqa jarayonda ishlatish uchun identifikatsiya raqamidan ozod qilinadi.
Odatda o‘zining farzand jarayoni funksiyasini bajarish uchun ma’lum bir resurslar talab qilinadi: xotira, fayl, kiritish/chiqarish qurilmasi va boshqalar. Ularni ajratish bo‘yicha ikki xil usul mavjud. Yangi jarayon ba’zi qismlari ona resurslarida joylashgan bo‘lishi mumkin, ona jarayoni va boshqa farzand jarayonlari bilan ajratilgan bo‘lishi mumkin, yoki operatsion tizimdan bevosita o‘zining resurslarini olishi mumkin. Ajratilgan resurslar to‘g‘risida axborotlar PCB ga kiritiladi.
Farzand jarayon resurslari ajratilgandan so‘ng unga dasturiy kod manzili, ma’lumot belgilari, dastur hisoblagichni o‘rnatish kerak bo‘ladi. Bu yerda ikki xil yechim mavjud. Farzand jarayon birinchi
holatida registr va foydalanuvchi konteksti bo‘yicha ona jarayon nusxasi bo‘lib shakllanadi, shu sababli qaysi biri ona jarayoni nusxasi ekanligini aniqlash kerak bo‘ladi. Ikkinchi holatda farzand jarayon istalgan biror fayli yangi dasturni yuklaydi. Unix operatsion tizimi faqat birinchi usuldagi jarayon tug‘ilishiga ruhsat beradi; ya’ni ona jarayon nusxasini yaratish uchun dastlab yangi dasturni yuklaydi, so‘ng farzand jarayoni maxsus chaqiriq tizimi yordami bilan o‘zining foydalanuvchi kontekstini almashtirishi kerak bo‘ladi. VAX/VMS operatsion tizimi faqat ikkinchi usuldan foydalanadi. Windows NT ikki xil rejimdan ham foydalanadi (API turlariga qarab). Ona jarayon nusxasiga o‘xshab yangi jarayonni paydo bo‘lishi bittadan ko‘proq jarayonni tashkil qilishda ishlatish uchun mavjud dastur imkoniyatlaridan foydalanadi. Uning ishi bo‘yicha foydalanuvchi kontekst jarayonini almashtirishi mumkin. Ya’ni bir jarayon doirasida turli xil bir nechta dasturlarni bajarilish ketma-
ketligiga o‘tkazish mumkin.
Jarayonlar taqsimlanib berilgandan so‘ng, PCBda qolgan axborotlar yozib qo‘yiladi va yangi jarayon holati tayyorlilik holatiga o‘tkaziladi. Endi farzand jarayonlari paydo bo‘lgandan so‘ng ona jarayoni holatini aytib o‘tish qoldi. Ona jarayoni farzand jarayonlarini bajarish bilan bir vaqtda o‘z ishini ham bajarishi mumkin, ayrim ishlarni yakunlashni yoki barcha farzand jarayonlarning paydo bo‘lishini kutishi mumkin.
Biz jarayon hayot davrini tugashini batafsil ko‘rib chiqmaymiz. Jarayon o‘z ishini tugatgandan so‘ng operatsion tizim uni bajarish yakunlangan holatga o‘tkazadi va jarayon boshqaruv blokidagi yozuvlarga muvofiq u bilan bog‘liq barcha resurslarni bo‘shatadi. Bu yerda PCB yo‘q qilinmaydi, tizimda ma’lum bir vaqtgacha saqlanadi. Bu ona jarayonidan farzand jarayoni tug‘ilishi yakunlangandan so‘ng operatsion tizim jarayonning tugallanishi “o‘limi” to‘g‘risida va/yoki uning ishlashi to‘g‘risida statistik axborotlarni so‘rashi mumkin. Ona jarayoni so‘rovigacha qayta ishlovchi jarayonlar yoki uning faoliyatining oxirigacha, ya’ni tizimda jarayonlarning tugashigacha bo‘lgan batafsil axborot PCB da saqlanadi. Unix operatsion tizimlarida jarayonlar bajarilishi tugallangan holatida bo‘ladi.
Shuni aytib o‘tish kerakki ko‘plab operatsion tizimlarda (masalan, VAX/VMS da) ona jarayonlari o‘zining “farzandlari” uchun yakunlangan ko‘rinishga o‘tadi. Boshqa operatsion tizimlarda
(masalan, Unix) ona jarayon vazifasi tugagandan so‘ng farzand jarayonlari o‘zining mavjudligini davom etiradi. Shu sababli farzand jarayon o‘z ishini davom ettirishi uchun PCB da axborotlarni o‘zgartirish zarurati paydo bo‘ladi. 20 raqamli jarayondan 25 raqamli jarayon tug‘ilgan bo‘lsin, va uning vazifasi tugagandan so‘ng uzoq vaqt hisoblash tizimida saqlanib qoladi. 20 raqamli jarayon operatsion tizimda boshqa jarayonda qatnashishi bundan mustasno emas. Agar 25 jarayonining ona jarayoni to‘g‘risida axborot o‘zgartirilmasa, u holda jarayon geneologik daraxti noto‘g‘ri deb hisoblaniladi – 25 jarayoni yangi 20 jarayonini o‘zining onasi deb hisoblaydi, 20 jarayon ochilganda esa kutilmagan holat yuz beradi. “Yetim qolish” jarayonini “asrab qolish” qoidasi bo‘yicha operatsion tizim ishini davom ettiradi va butun vaqt davomida ishlaydi.
|
| |