Guruh talabasi Ismoilova Matlubaning Linux fanidan Laboratoriya ishi №1



Download 2,08 Mb.
bet19/27
Sana27.01.2022
Hajmi2,08 Mb.
#412360
1   ...   15   16   17   18   19   20   21   22   ...   27
Bog'liq
linux Laboratoriya mashg\'ulotlari.doc ismoilova. m

Nomi

Raqami

O'rnatilgan harakatlar

Izoh

Turi

SIGABRT

6

Damp xotira bilan tugatish

abort() funksiyasi yordamida uzatiladigan habar

Boshqaruv

SIGALRM

14

To'xtatish

alarm() belgilagan vaqt tugaganidan so'ng uzatiladigan habar

Habar

SIGBUS

10

Damp xotira bilan tugatish

Fizik xotiraga noto'g'ri murojaat qilish

Navbartdan tashqari holat

SIGCHLD

18

Inkor qilinadi

Avlod jarayon to'xtatilganda yoki tugatilganda

Habar

SIGCONT

25

Bajarishni davom ettirish

Avval to'xtatilgan jarayonni bajarishni davom ettirish

Boshqaruv

SIGFPE

8

Damp xotira bilan tugatish

Oddiy arifmetik amal

Navbartdan tashqari holat

SIGHUP

1

To'xtatish

Terminalni yopish

Habar

SIGILL

4

Damp xotira bilan tugatish

Protsessorning noto'g'ri instruksiyasi

Navbartdan tashqari holat

SIGINT

2

To'xtatish

Terminaldan (Ctrl-C) to'xtatish signali

Boshqaruv

SIGKILL

9

To'xtatish

Shartsiz to'xtatish

Boshqaruv

SIGPIPE

13

To'xtatish

Uzilgan bog'lanishga yozish(pipe, socket)

Habar

SIGQUIT

3

Damp xotira bilan tugatish

Terminaldan «Quit» signali (Ctrl-\)

Boshqaruv

SIGSEGV

11

Damp xotira bilan tugatish

Xotiraga murojaat qilishda xatolik

Navbartdan tashqari holat

SIGSTOP

23

Jarayonni to'xtatish

Jarayon bajarilishini to'xtatish

Boshqaruv

SIGTERM

15

To'xtatish

Tugatish signali (kill utilitasi uchun o'rnatilgan signal)

Boshqaruv

SIGTSTP

20

Jarayonni to'xtatish

Terminaldan to'xtatish uchun berilgan signal (Ctrl-Z).

Boshqaruv

SIGTTIN

26

Jarayonni to'xtatish

Fondagi jarayonning terminaldan o'qishga urinishi

Boshqaruv

SIGTTOU

27

Jarayonni to'xtatish

Fondagi jarayonning terminalga yozishga urinishi

Boshqaruv

SIGUSR1

16

To'xtatish

Foydalanuvchi signali #1

Foydalanuvchi

SIGUSR2

17

To'xtatish

Foydalanuvchi signali #1

Foydalanuvchi

SIGPOLL

22

To'xtatish

poll() tomonidan kuzatib boriladigan hodisa

Habar

SIGPROF

29

To'xtatish

Profillashtirish taymeri vaqtining tugashi

Qayta ishlash

SIGSYS

12

Damp xotira bilan tugatish

Noto'g'ri tizim chaqirig'i

Navbartdan tashqari holat

SIGTRAP

5

Damp xotira bilan tugatish

Trassirovka yoki breykpointning qopqoni

Qayta ishlash

SIGURG

21

Inkor qilinadi

Socketda tezkor ma'lumotlar qabul qilindi

Habar

SIGVTALRM

28

To'xtatish

Virtual taymerning tugashi

Habar

SIGXCPU

30

Damp xotira bilan tugatish

Jarayon o'ziga belgilangan vaqtdan ortib ketganida

Navbartdan tashqari holat

SIGXFSZ

31

Damp xotira bilan tugatish

Jarayon o'ziga belgilangan fayl hajmidan ortib ketganda

Navbartdan tashqari holat


Jarayonlar va signallar

Signal – jarayonga qandaydir sodir bo’lgan hodisa to’g’risida habar berish. Signallar ba’zida “dasturiy uzilishlar” deb ham ataladi.

Signal hususiyatlari

- Signal odatda asinxron ko’rinishda paydo bo’ladi.

- Jarayon signalning aynan qachon paydo bo’lishini oldindan bilmaydi.

- Signal bir jarayondan boshqasiga (yoki o’ziga) yoki kerneldan jarayonga uzatilishi mumkin.

Signal yaratilish manbaalari

Qurilma


- Jarayon mavjud bo’lmagan qurilma manziliga murojaat qiladi.

- Nolga bo’lish bajarilganda.

Kernel

- Kiritish/Chiqarish qurilmalariga bog’lanish mumkin bo’lganda uni kutayotgan jarayonga bu haqda habar beradi.



Boshqa jarayonlar

- Avlod jarayonlar o’zlarini tugaganligi to’g’risida ajdod jarayonlarni ogohlantiradi.

Foydalanuvchi

- Chiqish, bekor qilish yoki to’xtatish signalini generatsiya qiladigan klaviatura ketma ketligini bosish. (masalan Ctrl-C SIGINT, Ctrl-\ SIGQUIT, а Ctrl-Z SIGTSTP ni generatsiya qiladi)



Signal chaqirilgandan so’ng bajariladigan ishlar

Signalni qabul qilgan jarayon quyidagi 3 holatdan birini bajaradi:

Tizim tomonidan belgilangan harakatlar

- o’zining to’xtatilayotganligi to’g’risida ajdod jarayonni ogohlantiradi;

- core fayl yaratadi (jarayonning o’sha paytdagi xotira holatini saqlovchi fayl)

- to’xtatadi.

Signalni hisobga olmaslik

Jarayon : SIGSTOP va SIGKILL signallaridan boshqa barcha signallarni hisobga olmasligi mumkin.

Signalni tutish

Jarayon SIGSTOP va SIGKILL signallaridan boshqa signallarni qabul qilganda, maxsus signalni qayta ishlash ishlarini bajaradi.



Signallar bilan amaliy ishlash

  • Signallar haqida gapirganda quyidagilarni esga olish kerak:

  • Linuxda signallar jarayonlar o’rtasidagi(shuningdek potoklar o’rtasidagi) vosita vazifasini bajaradi

  • Har qanday jarayon o’zining signal maskasiga ega (jarayon qabul qilmaydigan signallar)

  • Har qanday bog’lanish (thread), jarayon kabi signal maskasiga ega

  • Signal qabul qilishda(agar u blokirovka qilinmagan bo’lsa) jarayon/potok uziladi, boshqaruv signalni qayta ishlovchiga uzatiladi, agar funksiya jarayon/potokning to’xtatmasa boshqaruv yana jarayon/potok uzilgan joyga qaytadi

  • Foydalanuvchi o’zining signal qayta ishlovchisini faqat jarayon uchun belgilashi mumkin. Bu qayta ishlovchi shu jarayondan tug’ilgan har bir potok uchun chaqiriladi

Signallarni qayta ishlash funksiyalari

  • Signallar bilan ishlashning nazariy asoslariga to’xtalib o’tmasdan ularni amaliy ishlatishga kirishamiz. Birinchi navbatda SIGUSR1 va SIGUSR2 signallarini ko’rib chiqamiz, bu ikki signal butunlay foydalanuvchi ixtiyoriga berilgan signal hisoblanadi.

  • Funksiyalar jarayon(yoki potok) inkor qila olmaydigan signallarni qabul qilganda chaqiriladi. O’rnatilgan qayta ishlovchi jarayonni tugatadi. Lekin biz o’zimizni qiziqtirgan signallar uchun qayta ishlovchilarimizni yozishimiz mumkin. Signallarni qayta ishlovchilarni yozishda juda ehtiyotkor bo’lish kerak, bu shunchaki chaqiriladigan funksiya emas, balki kutilmagan paytda paydo bo’lib global obyektlarni havfga qo’yishi mumkin bo’lgan jarayon uzilishini yuzaga keltiradigan funksiya chaqirig’idir. Qo’shimcha ma’lumot uchun: Kobolog yoki hech bo’lmaganda FAQ.

Thread asoslari:

  • Thread operatsiyalari thread yaratish, tugatish, sinxronlash (qoshish,bloklash), tartiblash, ma`lumotni boshqarish va jarayonlar aloqasini o`z ichiga oladi.

  • Oqim yaratilgan oqimlar ro`yxatida saqlanmaydi yoki oqim qaysi oqim tomonidan yaratilganligi haqida ma`lumotga ega bo`lmaydi.

  • Bir jarayon ichidagi barcha oqimlar bir hil addressga ega bo`ladi.

  • Bir xil jarayondagi oqimlarda quyidagilar bir xil:

    • Jarayon ko`rstamalari

    • Ko`p ma’lumotlar

    • Ochiq fayllar (descriptorlar)

    • signal va signal qabul qiluvchilar

    • Joriy ishchi katalog

    • foydalanuvchi guruh id

  • Quyidaqilar har bir oqimda unikal bo`ladi:

    • Oqim ID

    • Registerlar majmui, stack pointer

    • Mahalliy o`zgaruvchilar steki, qaytuvchi addresslar

    • signal maskasi

    • prioritet

    • Qaytuvchi qiymat: errno

  • pthread funksiyalari "0" qaytaradi agar OK bo`lsa.

Oqim yaratish va tugatish:

Misol: pthread1.c

#include

#include


#include

 
void *print_message_function( void *ptr );

 
main()

{
     pthread_t thread1, thread2;

     const char *message1 = "Thread 1";
     const char *message2 = "Thread 2";

     int  iret1, iret2;


 

    /* har biri funksiya ishga tushiradigan mustaqil oqim yaratish */


 

     iret1 = pthread_create( &thread1, NULL, print_message_function, (void*) message1);


     if(iret1)

     {


         fprintf(stderr,"Error - pthread_create() return code: %d\n",iret1);

         exit(EXIT_FAILURE);

     }

 
     iret2 = pthread_create( &thread2, NULL, print_message_function, (void*) message2);

     if(iret2)
     {          fprintf(stderr,"Error - pthread_create() return code: %d\n",iret2);
         exit(EXIT_FAILURE);      }

 

     printf(" _create() for thread 1 returns: %d\n",iret1);


     printf("pthread_create() for thread 2 returns: %d\n",iret2);






     pthread_join( thread1, NULL);




  pthread_join( thread2, NULL);







 







     exit(EXIT_SUCCESS);







}




 



void *print_message_function( void *ptr )

{
     char *message;

     message = (char *) ptr;


     printf("%s \n", message);

}

Kompilyatsiyasi:



  • C compiler: cc -pthread pthread1.c (or cc -lpthread pthread1.c)
    yoki

  • C++ compiler: g++ -pthread pthread1.c (or g++ -lpthread pthread1.c)

GNU kompilyatorida hozirda kommandalar qatori imkoniyati ham mavjud “-pthread”, eski versiyali kompilyatorlarida “Ipthread” bo`ladi.

Buyuring: ./a.out


Natija:


Thread 1

Thread 2


Thread 1 returns: 0

Thread 2 returns: 0




Tizim xavfsizligi (firewall)

Ishning maqsadi: Tizim xavfsizligini ta’minlash.Tizim havfsizligi haqidagi tushunchalarni mustahkamlash, uni ta’minlash bo’yicha ishlarni amalga oshirish tajribalariga ega bo’lish.

Nazariy qism: Router yoki firewall. Router ikkita tarmoqni bog’laydigan qurilma hisoblanadi. Firewall esa tarmoqni faqat bog’lab qolmasdan paketlarni bir tarmoqdan boshqasiga o’tish qoidalarini saqlaydigan va amalga oshiradigan qurilmadir. firewallga tarmoqlar, hostlar, protokollar va portlarga asoslangan chegaralashlarni o’rnatish mumkin. Firewallar shuningdek paketlar mazmunini ularni qayta yo’naltirish paytida o’zgartirishi ham mumkin.

Paketni qayta yo’naltirish



  • Paketni qayta yo’naltirish paketlarni bir tarmoqdan boshqasiga o’tishiga ruxsat berish demakdir. Ikkita tarmoqqa ulangan host kompyuter o’zining turli tarmoqlarga ulangan tarmoq interfeyslari orqali paketlarni o’tkazishga ruxsat berishi paketni qayta yo’naltirishga euxsat berilganini bildiradi.



  • Paketlarni filterlash paketlarni qayta yo’naltirishga juda o’xshab ketadi, lekin paketlarni yo’naltirish yoki yo’q qilishdan oldin ularning har biri qoidalarga asosan alohida tekshirib chiqiladi. Qoidalar iptables da saqlanadi.



Download 2,08 Mb.

Do'stlaringiz bilan baham:
1   ...   15   16   17   18   19   20   21   22   ...   27




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish