Laboratoriya ishi №19. Mavzu: Ncurses (Konsolnoy gui) va tcltk yordamida dasturlash. Ishdan maqsad



Yüklə 1,83 Mb.
Pdf görüntüsü
səhifə7/10
tarix02.06.2023
ölçüsü1,83 Mb.
#122145
1   2   3   4   5   6   7   8   9   10
lab19-24

 
Amaliy qism:
Shu davrgacha kernel drayverlari o’rnatildi va linux kernel kompilatsiya qilindi.


Endi navbat kernelni o’rnatishga keldi. 
$ sudo make install
Kernel Grub sozlovchi fayli bilan birgalikda uchta fayl ham o’rnatiladi.
initramfs-4.20.img
System.map-4.20
vmlinuz-4.20
6-Bosqich.
Grub sozlamalarini yangilash.
Grub2 bosh yuklanuvchi sozlamalarini o’zgartiring.
CentOS/RHEL/Oracle/Scientific and Fedora Linux
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg 
$ sudo grubby --set-default /boot/vmlinuz-4.20
Quyidagi buyruqlar orqali jarayonlarni tasdiqlashinigiz mumkin.
grubby --info=ALL | more 
grubby --default-index 
grubby --default-kernel
Debian/Ubuntu Linux
Quyidagi buyruqlar yordamida tanlash huquqi beriladi.
$ sudo update-initramfs -c -k 4.20 
$ sudo update-grub
Linux kernelni so’nggi versiyasini qay tarzda quriladi va o’rnatiladi.
Linux kernel yaratildi. Yaratilish jarayoni bir qancha vaqt talab etadi. Lekin shunga 
qaramay, sizning tizimingiz uchun linux kernel mavjud. Tizimingiz uchun qayta 
yuklashga ya’ni perezagruzkaga bering.
 
 


 
 
 
 


 
 
 
 
Laboratoriya ishi №22. 
Mavzu: C++ dasturlash tilida potoklar (fork, select) bilan ishlash.
Ishdan maqsad: Linux operatsion tizimida potoklar bilan ishlash, ular uchun dastur 
tuzish ko’nikmalariga ega bo’lish
 
Nazariy qism:
Potoklar xaqida tushuncha va ularning xususiyatlari.
Potoklar(threads)
Potoklar jarayonlarga o’xshash tarzda dasturga bir vaqtning o’zida bir necha 
vazifani bajarishga imkon beradigan mexanizm.
Potoklar jarayon ichida mavjud bo’ladi. Potoklar jarayonning bajarilishini aniqroq 
ko’rsatadigan qismi. Dastur ishga tushirilganda Linux yangi jarayon yaratadi. Jarayon 
ichida yagona Potok yaratiladi. Yaratilgan Potok bir nechta boshqa Potoklarni ishga 
tushirishi mumkin. Barcha yaratilgan Potoklar bir jarayonda bitta dastur ishini bajaradi. 
Lekin ular dasturning turli qismini turli paytlarda bajarishi mumkin.
Jarayonlar o’z avlod jarayonini yaratganda ajdod jarayonning virtual xotirasi, fayl 
deskriptori va boshqa parametrlarini nushasini oladi.
Dastur Potok yaratganda esa hech narsa nusha olinmaydi. Yaratilgan Potoklar 
xotira qismi, fayl deskriptori va tizimning boshqa resurslaridan umumiy foydalanadi. 
Bir va ko’p potokli jarayonlar
Dasturda ko’p Potoklilikdan foydalanishning afzalliklari
Javob beruvchanlik: Foydalanuvchi bilan aloqa qilish uchun alohida potok.
Web server kiruvchi so’rov bilan ishlash uchun alohida jarayon ajratadi.
Resurslardan umumiy foydalanish: masalan, bir dastur kodidan, ma’lumotlar qismidan.
Tejamkorlik: Jarayon yaratib bir-biriga o’tishdan ko’ra ancha qulayroq.
Ko’p protsessorli arxitekturani qo’llash: agar tizimda mavjud bo’lsa har bir potok uchun 
alohida protsessor ajratish.
Foydalanuvchi potoklari
Foydalanuvchi darajasidagi potoklar kutubxonalar tomonidan boshqarilishi.
Afzalligi:
Juda tez: Yaratilayotgan paytda kernel rejalashtirish, o’tkazishni o’z ichiga olmaydi.
Kamchiligi:


Potok bloklanganda butun jarayon bloklanadi. 
Kernel potoklari
Kernel tomonidan qo’llab quvvatlanadi.
Potokni kernel yaratadi, rejalashtiradi va almashtiradi.
Afzalligi:
Biror potok bloklanganda, butun jarayonni bloklash shart emas.
Kiritish chiqarishni va hisoblashni overlap qilishi mumkin.
Kamchiligi:
Kernel qatnashgani uchun sekin ishlaydi. 
Ko’p potokli modellar
Birga ko’p(Many-to-one)
Birga bir(One-to-one)
Ko’pga ko’p(Many-to-Many)
Oqim yaratish va tugatish: 
Misol: pthread1.c 
#include
#include
#include
void *print_message_function( void *ptr );

Yüklə 1,83 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin