در ادامه مقاله قبلیم(12 سال پیش!) که ماژول Kernel لینوکس رو تعریف کردم، در این مقاله به نوشتن ماژول برای Kernel لینوکس می پردازم.
در این مقاله، به صورت ساده یاد می گیریم که چگونه یک ماژول Hello World برای کرنل Linux بنویسیم، کامپایل و اجرا کنیم... و همه اینها بر پایه توزیع های معروف مثل Debian, RedHat و Slackware انجام میدیم.
ماژول های هسته لینوکس
هسته لینوکس / Linux kernel قلب سیستم عامل لینوکس است و مسئول مدیریت منابع سخت افزاری، ارتباط با سخت افزار و اجرای برنامه هاست. هسته لینوکس به صورت ماژولار طراحی شده، یعنی بسیاری از قابلیت های آن به صورت فایلهای جدا و Load شدنی (Loadable Kernel Modules - LKM) پیاده سازی می شوند.
ماژول های هسته Linux دارای چند نوع هستند: ماژول های درایور دستگاهها (Device drivers)، ماژول های فایل سیستم (Filesystem)، ماژول های شبکه (Network)، ماژول های امنیتی (Security) و ماژول های مدیریت حافظه و پردازش (Memory & process management). این ماژول ها باعث اضافه شدن feature در هسته، افزایش کارایی، سفارشی سازی آسان و نگهداری ساده تر خود هسته می شوند.