یوشا

دست نوشته ها و تجربیات شخصی

یوشا

دست نوشته ها و تجربیات شخصی

شهید دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم آنکس که تخصص ندارد و کاری را می پذیرد بی تقواست!

طبقه بندی موضوعی

۲ مطلب با کلمه‌ی کلیدی «ماژول لینوکس» ثبت شده است

۰۸
۱۴۰۴/۰۴

 

در ادامه مقاله قبلیم(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 در هسته، افزایش کارایی، سفارشی‌ سازی آسان و نگهداری ساده‌ تر خود هسته می‌ شوند.

  • یوشا آل ایوب
۳۰
۱۳۹۱/۰۵

 

ماژول، قطعه ی نرم افزاری در بخشی جدا از Core هسته هستش که هنگام فراخونی شدن، پیوند و فعال میشه و یکسری عملیات تعریف شده ای رو انجام میده.
این ماژول می تونه سرویس باشه، filesystem باشه، پروتکل شبکه باشه، تعدادی System call باشه و یا درایور یک سخت افزار باشه; که در هر صورت ماژول نام داره.

ماژول ها در لینوکس به دو گروه تقسیم میشن:

  1. Built-in kernel module
  2. Loadable kernel module (یا LKM)

Built-in kernel module: که با قرار دادن سورس ماژول در داخل پوشه های سورس Kernel، همراه با Kernel کامپایل میشه.
Loadable Kernel module: که با load کردن ماژول کامپایل شده در داخل سیستم در حال اجرا فعال میشه.

  • یوشا آل ایوب