توی این پست قراره یک توضیحی راجب هسته یا Kernel سیستم عامل لینوکس و همچنین در مورد قابلیت ماژولار بودن و ماژول ها در این سیستم عامل بسیار قدرتمند صحبت کنم. در مورد این که سیستم عامل لینوکس چی هست و چه تفاوتی با ویندوز دارد قبلا صحبت کردیم که میتونید اون رو از این لینک بخونید. اگر این مقاله رو خوندید و دوست دارید بیشتر در مورد لینوکس بدونید با رایجی همراه باشید
کرنل در واقع هسته اصلی یک سیستم عامل حساب میشه. کرنل منابع رو مدیریت میکنه و در واقع کرنل پلی هست بین سخت افزار ها و نرم افزار های کامپیوتر. کرنل سیستم عامل لینوکس یک ساختار ماژولی داره. در واقع ماژول های کرنل لینوکس به راننده هم شناخته میشن !
ماژول ها در واقع قطعه کدهای هستن که در عملکرد هسته اصلی سیستم عامل یا کرنل لینوکس رو گسترش میدن. یعنی در واقع یکسری قابلیت ها بهش اضاف میکنن نکته جالب اینجاست که ما میتونیم این قابلیت هارو بدون اینکه سیستم رو ریبوت کنیم به هسته اصلی سیستم عامل اضاف کنیم
در کل، ماژول ها در سیستم عامل لینوکس توسط /udev/ لود می شوند. شما میتونید با استفاده از دستوری
modprobe
به صورت دستی یک ماژول رو در سیستم عامل لینوکس لود کنید، و نکته دیگه اینکه اگر میخواید که یک ماژولی به صورت اتوماتیک و بعد از بوت شدن سیستم عامل اجرا بشه باید فایلهای
/etc/modules
یا
/etc/modules-load.d/*.conf
رو ازشون استفاده کنید و آنها رو ویرایش کنید.
ماژول های کرنل سیستم عامل لینوکس توی این دایرکتوری نگهداری می شوند
/lib/modules/
خب وقتی که به این دایرکتوری رفتید چند تا پوشه میاد جلوتون که ورژنهای متفاونی از کرنل های لینوکس رو داره شما باید به اون دایرکتوری مراجعه کنید که در واقع ورژنش با ورژنی کرنلی که استفاده میکنید یکی هست
برای اینکه بتونید و در واقع بفهمید که ورژن کرنل سیستم عامل لینوکس شما چی هست باید از این دستور استفاده کنید
uname -r
کنار دستور uname از سوییچ r استفاده کردیم که در واقع مخفف release هستش.
خب یکسری دستور در خصوص ماژول های لینوکس میخوام بهتون بگم:
دستور lsmod ، یک دستور و یک قابلیت ساده که هیچ سوییچ یا ارگومانی نمیگیرد! کاری که در واقع این دستوی انجام می دهد این است که ماژول ها را از
/proc/modules
میخواند و در قالب یک فرمت خیلی عالی نمایش می دهد! برای استفاده از این دستور فقط کافیه در ترمینال لینوکس
lsmod
را تایپ کنید به همین سادگی. وقتی که دستور رو تایپ کردید و اینتر رو زدید با یک همچین خروجی روبرو میشید :
اولین ستون از سمت چپ که نام ماژول را نمایش می دهد.
دومین ستون که سایز ماژول هارا بر اساس bytes محاسبه میکند و نمایش میدهد.
این ستون نشون می دهد که در حال حاضر چند نمونه از ماژول ها استفاده میشوند. مقدار 0 نشان دهنده بی استفاده بودن ماژول است !. در این ستون و در کنار اعداد اسامیی هست که با ویرگول از هم جدا شدند که این ها اسامی چیز هایی هستند که دارند از این ماژول استفاده میکنند
این دستور ساختارش به این صورت هست که جلوش اسم میگیرهو بعد شروع میکنه به نصب ماژول با وابستگی ها، وابستگی ها در واقع چیز هایی هستن که ماژول بهشون نیاز داره برای نصب شدن و ران شدن
این دستور ماژول رو بدون وابستگی هاش شروع میکنه و نصب میکنه، فکر نمیکنم زیاد دیگه این دستور استفاده بشه، چون اگر ماژولی بدون وابستگی هاش نصب بشه موقع ران کردن ممکنه به مشکل بخوره!
دستور rmmode
این دستور همونطور که از اسمش هم پیداست برای حذف کردن یک ماژول استفاده می شود و اینکه ساختار زیاد پیچیده ایی هم نداره دستور را می نویسید و نام ماژولی که میخواد حذف بشه رو هم می نویسید جلوش!
دستور modinfo :
این دستور کاری که میکند این است که اطلاعات بیشتری از ماژول مورد نظر را در اختیارتون قرار می دهد ساختار پیچیده ایی هم ندارد به مانند دستور های قبلی خود دستور بعلاوه نام ماژول رو تایپ و اینتر کنید. تمام !
دم شما گرم مرسی که تا اینجای مقاله با من همراه بودید اگر خوشتون اومد لایک کنید و برای من کامنت بزارید راه های ارتباط با من :