• Jarayon identifikatsiyasi
  • Linuxda Jarayonlar.Jarayonlarni boshqarish Jarayon strukturasi




    Download 0.58 Mb.
    bet21/42
    Sana22.09.2022
    Hajmi0.58 Mb.
    #26263
    1   ...   17   18   19   20   21   22   23   24   ...   42
    Bog'liq
    1 Linux ot avzalliklari
    2. SILLABUS F2 Bоshqаruv hisоbi (F2), Jahongir omonov kurs ishi
    27 Linuxda Jarayonlar.Jarayonlarni boshqarish
    Jarayon strukturasi

    Fayl strukturasiga o'xshab jarayon strukturasi ham onalari, bolalari va hatto root ierarxikdir. Ona jarayon o'z navbatida boshqa jarayonlarga bo'linuvchi bola jarayonga bo'linadi.(Bo'linish (fork) so'zi, yo'llarning bo'linishi kabi bir jarayonni ikkitaga aylanishini bildiradi. Avval ikkita fork biri ona, biri bola bo'lishidan tashqari bir xil bo'ladi.) Yangi jarayonlar yaratuvchi operatsion tizim kundalik ishi(rutinasi) yoki tizim chaqiruvi (system call) fork deb nomlanadi.
    Tizim boshlanganda, Linux ijroni boshlaganda u 1 raqamli PID bilan initsalizatsiyani, spontan (ixtiyoriy) jarayon deb nomlanuvchi yagona jarayonni boshlaydi. Bu jarayon jarayon strukturasida root direktoriyasi fayl strukturasida egallagandek pozitsiyani egallaydi: Bu tizim va foydalanuvchilar ishlaydigan hamma jarayonlarning ajdodidir. Tizim multifoydalanuvchi rejimida ishlaganida init getty yoki mingetty jarayonlarini ishga tushiradi (loginni ko'rsatadi: terminal va virtual konsoldagi yordam). Kimdir yordamga javob berib RETURNni bosganda getty foydalanuvchi nomi va parol kombinatsiyasini tekshiruvchi, login deb nomlanuvchi utilita ustidan nazoratni o'z qo'liga oladi. Foydalanuvchi kirgandan keyin login jarayoni foydalanuvchining shell jarayoniga aylanadi. Jarayon identifikatsiyasi
    Linux har bir jarayonning boshida unikal PID (process identification-jarayon identifikatsiyasi) raqam o'rnatadi. Qancha uzoq muddat jarayon mavjud bo'lsa, u shuncha payt bir xil PID raqamga ega bo'ladi. Bitta seans davomida bir xil jarayon har doim login shellini bajaradi. Yangi jarayonni bo'layotganingizda, masalan, tahririlovchidan foydalanilganda yangi (bola) jarayonning PID raqami uning ona jarayoninikidan turlicha bo'ladi.Siz login shellga qaytib kirganingizda, boshida kirganingizdagi huddi o'sha jarayon, huddi o'sha PID raqam bilan bajarilayotgan bo'ladi. Quyidagi misol ishlayotgan ps jarayon shell (ona) jarayonidan bo'linib chiqganini ko'rsatadi(242-bet). Siz uni -f parametri orqali chaqirganingizda ps har bir jarayon haqidagi ma'lumotning to'liq ro'yxatini ko'rsatadi. PS displeyi qatori bilan CMD ustunidagi bash ishlayotgan shell jarayoniga qaraydi. PID deb nomlangan ustun PID raqamni aniqlaydi. PPID deb nomlangan ustun ona jarayon PID raqamini aniqlaydi. PID va PPID ustunlaridan ishlayotgan shell jarayoni (PID 21341) sleep rejimidagi jarayonning (PID 22789) onasi ekanligini ko'rishimiz mumkin. Sleepning ona PID raqami shellning PID raqami (21341) bilan bir xil bo'ladi.
    $ sleep 10 &
    [1] 22789
    $ ps -f
    UID PID PPID C STIME TTY TIME CMD
    alex 21341 21340 0 10:42pts/16 00:00:00 bash
    alex 22789 21341 0 1 7:30pts/16 00:00:00 sleep 10
    alex 22790 21341 0 17:30pts/16 00:00:00ps -f ps man buyrug'i ps to'g'risidagi ma'lumotlarni sahifaga chiqaradi va -f qo'shimchasi bilan ustunlar ko'rinishida chiqaradi. Ikkinchi sleep va ps-f komandalar juftligi shell haligacha o'sha-o'sha jarayonni ishga tushirayotganini, ammo u sleepni ishga tushirish uchun boshqa jarayonga bo'linishini ko'rsatadi.
    $ sleep 10 &
    [1] 22791
    $ ps -f
    UID PID PPID C STIME TTY TIME CMD alex 21341 21340 0 10:42pts/16 00:00:00 bash
    alex 22791 21341 0 17:31 pts/16 00:00:00 sleep 10
    alex 22792 21341 0 17:31 pts/16 00:00:00ps -f Shuningdek, siz jarayonlarning ona-bola aloqalarini pstree(yoki -e parametri (option) bilan yoki usiz ps --forest)dan foydalangan holda ko'rishingiz mumkin. Keyingi misol PID raqamini ko'rsatish uchun chaqiruvchi pstree dagi -p parametrini ko' rsatadi: $ pstree -p init(1)-+-acpid(1395) -atd(1758) -crond(1702)
    -kdeinit(2223)-+-firefox(8914)—run-mozilla.sh(8920)—firefox-bin(8925) -gaim(2306) -gqview(14062) -kdeinit(2228) -kdeinit(2294)
    -kdeinit(2314)-+-bash(2329) ---ssh (2561) \-bash(2339)
    '-bash(15821)---bash(16778) -kdeinit(16448) -kdeinit(20888) -oclock(2317)
    r-pam-panel-icon(2305)—pam_timestamp_c(2307)


    -login(1823)---bash(20986)-+-pstree(21028) '-sleep(21026)
    Odingi chiqish qisqartiriladi. –kdeinit bilan boshlanuvchi qator grafik foydalanuvchi ishga tushirayotgan barcha jarayonlarni, shuq atordaf irefox, gaim va oclocklarni ko'rsatadi. –login bilan boshlanuvchi qator matnli foydalanuvchi pstree ni ishchi fonda ishga tushirayotgan vaqtda, sleepni orqa fonda ishga tushirishini ko'rsatadi.

    Download 0.58 Mb.
    1   ...   17   18   19   20   21   22   23   24   ...   42




    Download 0.58 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Linuxda Jarayonlar.Jarayonlarni boshqarish Jarayon strukturasi

    Download 0.58 Mb.