موضوع مقاله: ماژول هسته قابل بارگیری | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # ماژول هسته قابل بارگیری | مقدمه: در رایانش ، یک ماژول هسته قابل بارگیری (LKM) یک ابجکت فایل است که حاوی کد برای گسترش هسته در حال اجرا یا اصطلاحاً پایه سیستم عامل است. | ## بخش 1: ماژول هسته قابل بارگیری | LKM ها معمولاً برای پشتیبانی افزون تر از سخت افزار جدید (به عنوان مثال درایورهای دستگاه) و یا سیستم های فایل یا افزودن فراخوانی های سیستمی مورد استفاده قرار می گیرند. آنها همچنین به عنوان ماژول های قابل بارگذاری هسته (یا KLM) و به بیانی ساده تر به عنوان ماژول های هسته (KMOD) شناخته می شوند. مزایا بدون ماژول های هسته قابل بارگذاری ، یک سیستم عامل باید کلیه قابلیت های پیش بینی شده کامپایل شده مستقیم در هسته پایه را شامل شود. بیشتر این قابلیت ها بدون استفاده در حافظه قرار دارند و به این ترتیب حافظه را هدر می دهند و نیاز است که کاربران هر بار که به قابلیت جدیدی نیاز دارند ، هسته پایه را بازسازی و راه اندازی مجدد کنند. معایب یک انتقاد جزئی که به هسته مدولار درمقابل هسته ثابت وارد است ، تاوان و هزینه تکه تکه شدن وچندبخشی شدن است. هنگامی که سیستم در وضعیتی قرار گرفت که ممکن است ماژول ها وارد شوند ، به عنوان مثال هنگامی که سیستم های فایلی سوار شده اند که حاوی ماژول ها هستند ، احتمال دارد که هر درج کد جدید هسته باعث تکه تکه شدن هسته می شود ، در نتیجه با عملکردی با خطای جزئی با استفاده از ورودی های TLB بیشتر ، باعث از دست دادن بیشتر TLB می شود. پیاده سازی در سیستم عامل های مختلف لینوکس ماژول های هسته قابل بارگیری در لینوکس توسط دستور modprobe بارگیری و بارگذاری می شوند. در موارد اضطراری ،برای مثال هنگامی که سیستم به دلیل ماژول های ناقص نتواند بوت شود، ماژول های خاص را می توان با تغییر در لیست پارامترهای بوت هسته فعال یا غیرفعال کرد (به عنوان مثال ، در صورت استفاده از GRUB ، با فشار دادن "e" در فهرست شروع GRUB ، سپس ویرایش خط پارامتر هسته). | ## بخش 2: ماژول هسته قابل بارگیری | مشکلات مجوز از نظر مسئولان و نگهدارندگان لینوکس ، LKM از کارهای هسته به دست آمده است. نگهدارندگان لینوکس ، توزیع ماژول های اختصاصی را مجاز می دانند ، اما اجازه علامت گذاری نمادها را فقط به مجوزهای عمومی GNU (GPL) می دهند. بارگذاری یک ماژول اختصاصی یا غیر سازگار با GPL پرچم taint را در هسته در حال اجرا تنظیم می کند - به این معنی که هرگونه مشکلی یا اشکال پیش آمده توسط نگهدارندگان کمتر مورد بررسی قرار می گیرد. LKM ها به طور موثر به بخشی از هسته در حال اجرا تبدیل می شوند ، بنابراین می توانند ساختار داده های هسته را خراب کرده و اشکالاتی تولید کنند که اگر واقعاً ماژول اختصاصی باشد ، نمی توان آنها را بررسی کرد. سیستم عامل مک برخی از ماژول های هسته قابل بارگیری در macOS می توانند به طور خودکار بارگیری شوند. بیشتر ماژول های هسته در زیرشاخه های زیرهسته قرار دارند، مواردی که برای راه اندازی سیستم تا جایی که init شروع می شود ضروری نیست ، اغلب (اما نه همیشه) در / usr / هسته یافت می شود. این بدان معنی است که در ساختار و عملکرد داخلی بین نسخه های مختلف هسته تفاوت وجود دارد ، که می تواند باعث مشکلات سازگاری شود. قبل از بارگذاری ماژول ، این اطلاعات نسخه را می توان با اطلاعات هسته در حال اجرا مقایسه کرد. | ## بخش 3: ماژول هسته قابل بارگیری | امنیت در حالی که ماژول های هسته قابل بارگذاری یک روش مناسب برای تغییر هسته در حال اجرا هستند ، این می تواند توسط سو استفاده کنندگان در یک سیستم آسیب دیده مورد سو استفاده قرار گیرد تا از شناسایی پردازش ها یا فایل های آنها جلوگیری کند و به آنها امکان می دهد کنترل سیستم را حفظ کنند. توجه داشته باشید که در اکثر ماژول های سیستم عامل به هیچ وجه به بالا بردن مزیت کمک نمی‌کنند ، زیرا برای بارگذاری LKM مزیت بالایی لازم است. یک سیستم initramfs ممکن است ماژول های خاصی را که برای دستگاه در هنگام راه اندازی لازم است بارگیری کند و سپس بارگیری ماژول را غیرفعال کند. چنین گواهی توسعه دهنده ای فقط توسط اپل در صورت درخواست ارائه می شود و به طور خودکار به اعضای توسعه دهنده اپل داده نمی‌شود. این ویژگی که "امضای kext" نامیده می شود ، به طور پیش فرض فعال است و به هسته دستور می دهد در صورت وجود پسوندهای بدون امضا ، از راه اندازی جلوگیری کند. با این حال ، اگر هیچ یک از فایل های موجود در بسته ، از جمله فایل های کد اجرایی ، متعلق به ریشه گروه نباشد ، یا توسط گروه یا "دیگری" قابل نوشتن باشد ، تلاش برای بارگیری ماژول قابل بارگذاری هسته با شکست مواجه می شود. هسته می تواند مجوزهایی را که به صورت رمزنگاری توسط مجموعه ای از گواهینامه های معتبر امضا شده‌اند ، اعمال کند. | ## جمع‌بندی | لیست گواهینامه های قابل اعتماد خارج از سیستم عامل در ILOM در برخی از سیستم عامل های مبتنی بر SPARC نگهداری می شود.بارگیری آغازین ماژول هسته توسط فضای کاربری فقط زمانی از مسیر قابل اعتماد امکان پذیر است که سیستم با ویژگی غیرقابل تغییر منطقه جهانی فعال باشد.