Загрузка...

18 - Kernel Modules - ioctl advanced driver example B

🎥 كورس كيرنل موديول - تعلم برمجة نواة لينكس باحتراف
هل تساءلت يومًا كيف يعمل نظام التشغيل من الداخل؟
في هذا الكورس الفريد، هنتعمق مع بعض في عالم Kernel Modules ونتعلم خطوة بخطوة إزاي نكتب ونحمّل موديولات داخل نواة لينكس بنفسك.
ده مش مجرد كورس نظري، هنا هتكتب كود فعلي، وتتعامل مع النواة مباشرة، وتفهم الأساس اللي مبني عليه النظام!

🔍 ماذا ستتعلم؟

فهم معماريّة نواة لينكس

كتابة أول Module بسيط

التعامل مع Logs و dmesg

إنشاء Modules تفاعلية

إدخال/إزالة Modules بدون إعادة تشغيل

التعامل مع sysfs و procfs

أمن الموديولات واعتبارات السلامة

💡 الكورس مناسب للمبرمجين، مطوري الأنظمة، ومحبي الغوص في الأعماق التقنية.

🎓 مستوى الكورس: متوسط إلى متقدم
🖥️ المتطلبات: معرفة بأساسيات C ونظام لينكس

📌 اشترك في القناة وفعل الجرس عشان توصلك باقي الدروس فور نزولها!
3.1 تثبيت الأدوات اللازمة اذا كنت تستخدم توزيعة اخرى او لو لم تجدها مثبتة على توزيعتنا
افتح الطرفية (Terminal) واكتب الأمر ده:
sudo pacman -Syu base-devel linux-headers

OR

install base-devel linux-headers
sudo يعني تشغل الأمر كمسؤول (root) لأن تثبيت البرامج محتاج صلاحيات.

pacman هو مدير الحزم في Arch Linux.

-Syu يعني تحديث النظام وتثبيت الحزم المطلوبة.

base-devel مجموعة من الأدوات الأساسية للبناء (gcc، make، إلخ).

linux-headers ملفات رؤوس الكيرنل اللازمة لبناء الموديولات.

3.2 تحقق من نسخة الكيرنل عندك

اكتب الأمر التالي في الطرفية:

uname -r
ده هيطبع لك رقم نسخة الكيرنل اللي شغالة على جهازك، مثلاً:

6.14.10-arch1-1
3.3 تأكد من وجود ملفات الـ Headers الخاصة بنفس نسخة الكيرنل

ملفات الـ headers مهمة جدًا لأن الموديول بيُبنى بناءً عليها.

لو نسخة الـ headers مش متطابقة مع نسخة الكيرنل، عملية البناء هتفشل أو الموديول مش هيشتغل.

تقدر تتأكد من وجودها في:

ls /usr/lib/modules/$(uname -r)/build/include
لو شفت مجلد فيه ملفات كثيرة، يبقى موجودة.

4. الأدوات الأساسية لاختبار وتحميل الموديولات
4.1 dmesg - عرض رسائل الكيرنل
dmesg بيطبع لك سجل رسائل الكيرنل، مفيد جدًا عشان تعرف إذا في مشاكل أو تتبع مخرجات printk من الموديول.

4.2 insmod - تحميل موديول
insmod بيستخدم لتحميل موديول .ko (Kernel Object) في الكيرنل.

مثال:
sudo insmod hello.ko

4.3 rmmod - إزالة موديول

rmmod بيشيل موديول من الكيرنل.

sudo rmmod hello
4.4 modinfo - عرض معلومات عن الموديول
بيعرض تفاصيل عن الموديول زي المؤلف، الترخيص، النسخة، وصف الموديول.

modinfo hello.ko
#لينكس #كيرنل #Kernel_Programming #LinuxModules #KernelModules #Linux_Kernel #نظام_التشغيل #برمجة_الأنظمة #حلوان_لينكس #SMA_Coding #OpenSource #تعلم_البرمجة #برمجة_الموديولات #Linux_Internals

Видео 18 - Kernel Modules - ioctl advanced driver example B канала SMA CODING
Яндекс.Метрика
Все заметки Новая заметка Страницу в заметки
Страницу в закладки Мои закладки
На информационно-развлекательном портале SALDA.WS применяются cookie-файлы. Нажимая кнопку Принять, вы подтверждаете свое согласие на их использование.
О CookiesНапомнить позжеПринять