Linuxda jarayonlarni boshqarish tizim chaqiruvi

|
Linuxda jarayonlarni boshqarish tizim chaqiruvi
|
bet | 187/222 | Sana | 15.05.2024 | Hajmi | 5,84 Mb. | | #236377 |
Qobiqdan foydalanganda, farzand jarayoni foydalanuvchi tomonidan kiritilgan buyruqni bajarishi kerak. U buni exec tizim chaqiruvi bilan amalga oshiradi, bu butun xotira nusxasini birinchi parametrda ko‘rsatilgan fayl tarkibiga almashtiradi.
Umumiy holatda, exec tizim chaqiruvi uchta parametrga ega: bajariladigan fayl nomi, massiv argumentlari ko‘rsatgichi va massiv qatorlari ko‘rsatgichi. Execl, execv, execle va execle kabi turli xil kutubxona protseduralari sizga ba’zi parametrlarni o‘tkazib yuborish yoki ularni boshqa yo‘llar bilan belgilashga imkon beradi. Ushbu protseduralarning barchasi bir xil tizim chaqirig‘iga murojaat qiladi.
UNIX ning klassik tizimda jarayonlarni boshqarish vositalari jarayonni yaratish va yangi dasturni ishga tushurishni ikki turdagi amallarga ajratadi:
fork tizim chaqiruvi yangi jarayonni yaratadi;
yangi dastur exec tizim chaqiruvi yordamida ishga tushuriladi.
UNIX da jarayon har bir alohida dastur konsepsiyasini amalga oshirishni qo‘llab-quvvatlash uchun zarur bo‘lgan barcha axborot bor. Linux tizimida jarayonning xususiyatlari uch guruhga bo‘linadi: jarayonni, uni o‘rab turgan muhit va kontekstni identifikatsiyalash. Jarayon identifikatori (PID) – bu jarayonning yagona identifikatori (son); ilova boshqa jarayon uchun signal, modify yoki wait tizim chaqiruvi bajarilayotganida operatsion tizimida jarayonlarga buyruqlar berish uchun foydalaniladi.
Vakolatlar (Credentials). Har bir jarayon unga bog‘liq foydalanuvchi identi-fikatori va bir yoki undan ko‘p identifikatorlar guruhiga ega bo‘lishi kerak.
Shaxsni identifikatsiyalash (Personality). UNIX turidagi tizimlarda bu an’anaviy bo‘lmasa ham, Linux da har bir jarayon tizim chaqiruvlarning semantik qatorini ma’lum tarzda modifikatsiya qilishga imkon beruvchi yagona shaxsiy identifikatorga ega. U asosan emulyatsiya kutubxonalarida tizim chaqiruvlarini u yoki bu maxsus UNIX versiyalari (dialekti) bilan mosligi bo‘yicha so‘rov uchun foydalaniladi. Jarayonning muhiti ona jarayondan olinadi; nollar bilan tugatiladigan ikki vektordan iborat:
argumentlar vektori – bajarilayotgan dasturni chaqirishda foydalaniladigan buyruqlar qatorining agrumentlari ro‘yxatidan iborat; an’anaviy tarzda dasturning o‘zini nomi bilan boshlanadi;
muhit vektori – o‘zgaruvchan muhitlarni berilgan nomlar va ularning ixtiyoriy matn qiymatlarini bog‘lovchi "name=value" juftlar ro‘yxati.
Muhitlar o‘zgaruvchilarini jarayonlar o‘rtasida uzatish va bu o‘zgaruvchilarni farzand jarayonlar tomonidan qabul qilish (meros qilib olish) – bu imtiyozsiz rejimda ishlaydigan tizim dasturiy ta’minotining komponentlariga ma’lumotlarni uzatishning moslashuvchan vositalaridir. Muhit o‘zgaruvchilarining mexanizmi butun tizimni sozlash orqali emas, balki, har bir jarayon uchun alohida o‘rnatilishi mumkin bo‘lgan OTni sozlash vositalarini taqdim etadi.
Jarayon konteksti – bu bajarilayotgan dasturning vaqtning har bir onida doimiy o‘zgaruvchan holatidir. Rejalashtirish konteksti – bu jarayon kontekstining eng muhim qismi; bu rejalashtiruvchi jarayonni
vaqtincha uzilish va ishga tushurish uchun foydalanadigan ma’lumot. Yadro har bir jarayon tomonidan har bir onda foydalanadigan resurslar va har bir jarayon tomonidan uni yaratilishdan boshlab to hozirgi vaqtigacha foydalanilgan resurslarning umumiy hajmi to‘g‘risida statik ma’lumotlar saqlanishini qo‘llab-quvvatlaydi. Fayllar jadvali – bu tizim fayl tuzilmalariga ko‘rsatkichlar vektori. Kiritish/chiqarish uchun tizimli chaqirishlar bajarilganida jarayonlar fayllar jadvalidagi indekslar yordamida bu tuzilmalarga havola etadi. Fayllar jadvalida ochiq fayllar ro‘yxati saqlanadigan bo‘lsa, fayl tizimining konteksti yangi fayllarni ochish uchun so‘rovlar uchun qo‘llaniladi. Bu yerda fayllarni izlash uchun joriy ildiz (root) katalog va ishchi (default) kataloglarga havolalar saqlanadi. Signallarga ishlov beruvchilar jadvali tegishli signallar paydo bo‘lganida chaqirilishi mumkin bo‘lgan, jarayonning manzil maydonidagi kichik dasturlarni belgilaydi. Jarayonning virtual xotirasi konteksti uning shaxsiy manzil maydonining barcha tarkiblarini belgilaydi.
|
| |