Kernel modullari va dinamik boshqaruv
Last updated
Last updated
Linux yadro (kernel) operatsion tizimning markaziy qismi bo‘lib, barcha apparat resurslari va tizim xizmatlarini boshqaradi. Biroq, barcha funksiyalarni yadroda doimiy ravishda saqlash tizim samaradorligini pasaytirishi va yadro kodini murakkablashtirishi mumkin. Shu sababli, Linux yadroda dinamik modullar tizimi joriy etilgan.
Kernel modullari — bu yadroga istalgan vaqtda ulash yoki ajratib olish mumkin bo‘lgan kod qismlari. Ular, odatda, qurilma drayverlari, fayl tizimlari, tarmoq protokollari yoki boshqa xizmatlar ko‘rinishida bo‘ladi. Bu bo‘limda Linux kernel modullari va ularni boshqarish haqida batafsil ma'lumot beriladi.
Kernel moduli (Module) — bu yadrodan alohida saqlanadigan, ammo kerak bo‘lganda dinamik ravishda yadroga ulanishi yoki undan ajratilishi mumkin bo‘lgan kod. Modullar tizim xotirasidan samarali foydalanish va yadro funksiyalarini moslashuvchan boshqarish imkonini beradi.
Modulning afzalliklari:
Moslashuvchanlik: Kerak bo‘lmagan funksiyalarni yadrodan ajratib olish mumkin.
Xotira tejash: Har doim ishlatilmaydigan xizmatlar yadroda bo‘sh xotira egallab turmaydi.
Yangilanish qulayligi: Modullarni qayta yuklash orqali yadro funksiyalarini to‘xtatmasdan yangilash mumkin.
Modulli dizayn: Har bir modul o‘ziga xos vazifani bajaradi va mustaqil tarzda boshqariladi.
Modullar odatda .ko
(kernel object) kengaytmasi bilan beriladi. Ular yadro modullari katalogida (/lib/modules/$(uname -r)
) saqlanadi.
Linuxda modullarni boshqarish uchun quyidagi asosiy buyruqlar mavjud:
lsmod – Faol yadro modullarining ro‘yxatini ko‘rsatadi.
modprobe – Modulni yadroga ulaydi yoki yuklaydi.
rmmod – Modulni yadrodan ajratib o‘chiradi.
Keling, ushbu buyruqlarni batafsil ko‘rib chiqamiz.
ls
– Faol modullarni ko‘rsatishlsmod
buyrug‘i tizimda hozirda faol bo‘lgan barcha yadro modullarining ro‘yxatini ko‘rsatadi. Bu buyruq kernel modullarining holati, ularning yuklanganligi va boshqa modullarga bog‘liqligi haqida ma'lumot beradi.
Sintaksis:
Chiqariladigan ma'lumotlar:
Module: Modul nomi.
Size: Modul tomonidan egallangan xotira hajmi (baytlarda).
Used by: Moduldan foydalanayotgan boshqa modullar yoki jarayonlar soni.
Misol:
Chiqish misoli:
Bu yerda vfat
moduli fayl tizimi moduli bo‘lib, fat
modulidan foydalanmoqda.
modprobe
– Modulni yadroga ulashmodprobe
buyrug‘i yangi modulni yadroga dinamik ravishda ulash yoki mavjud modulni yangilash uchun ishlatiladi. Bu buyruq bog‘liq modullarni avtomatik ravishda yuklaydi, ya'ni agar siz biror modulni ulayotgan bo‘lsangiz va u boshqa modullarga bog‘liq bo‘lsa, modprobe
bog‘liq modullarni ham avtomatik ravishda ulaydi.Sintaksis:
Misollar:
VFAT fayl tizimini ulash:
Bu buyruq VFAT fayl tizimini qo‘llab-quvvatlash uchun modulni yadroga ulaydi.
Tarmoq interfeysi drayverini ulash:
Bu buyruq Intel tarmoq kartasi uchun drayver modulini yadroga ulaydi.
Modul haqida ma'lumot olish (modinfo
):
Modul haqida qo‘shimcha ma'lumot olish uchun modinfo
buyrug‘idan foydalaniladi.
Chiqishda modulning muallifi, versiyasi, bog‘liqligi va boshqa xususiyatlari ko‘rsatiladi.
rmmod
– Modulni yadrodan ajratib o‘chirishrmmod
buyrug‘i mavjud modulni yadrodan ajratib o‘chirish uchun ishlatiladi. Agar moduldan boshqa modullar yoki jarayonlar foydalanayotgan bo‘lsa, rmmod
buyrug‘i xatolikni qaytaradi.
Sintaksis:
Misollar:
VFAT modulini o‘chirish:
Modul bog‘liqligi sababli xato holati:
Agar boshqa modullar fat
modulidan foydalanayotgan bo‘lsa, quyidagi xato paydo bo‘lishi mumkin:
Jarayonlarni majburan to‘xtatish:
Modulni majburan o‘chirish uchun jarayonlarni to‘xtatish yoki modprobe -r
buyrug‘idan foydalanish mumkin:
Linuxda modullar konfiguratsiyalari odatda /etc/modprobe.d/
katalogida joylashgan fayllarda saqlanadi. Bu fayllar orqali modullar uchun qo‘shimcha sozlamalar kiritish mumkin.
Misol:
/etc/modprobe.d/blacklist.conf
faylida kerakli modulni qora ro‘yxatga kiritish:
Bu sozlama orqali usb_storage
moduli tizim yuklanishida avtomatik ravishda ulanmaydi.
Linux tizimi yuklanayotgan vaqtda ba’zi modullar avtomatik ravishda yuklanadi. Bu jarayon quyidagi fayllar orqali boshqariladi:
/etc/modules
– Har bir yuklanishda avtomatik ulanishi kerak bo‘lgan modullar ro‘yxati.
/etc/modprobe.conf
– Modul konfiguratsiyasi.
Modullar tizim yuklanganidan so‘ng dinamik ravishda ham ulanishi mumkin.
Ba’zan modullar noto‘g‘ri sozlangan yoki boshqa modullar bilan mos kelmasligi mumkin. Ushbu muammolarni tahlil qilish uchun quyidagi vositalardan foydalaniladi:
dmesg
– Yadro loglarini ko‘rish.
journalctl
– Tizim loglarini ko‘rish.
Linux yadro modullari tizimni samarali boshqarish va optimallashtirish imkonini beradi. Modullar dinamik ravishda yuklanishi va ajratilishi mumkin, bu esa resurslardan oqilona foydalanishga yordam beradi. lsmod
, modprobe
va rmmod
buyruqlari yordamida siz yadro modullarini boshqarishingiz, tizim xizmatlarini sozlashingiz va kerakli funksiyalarni faoliyatga jalb qilishingiz mumkin. Bu yondashuv Linuxni ko‘p sohalarda moslashuvchan va barqaror platforma sifatida tanitadi.