بررسی راه انداز سیستم عامل لینوکس
در یک نگاه بررسی راه انداز سیستم عامل لینوکس را به صورت زیر می توان نشان داد:
BIOS (POST)—–>CMOS ——>Sector 0 —–>Boot loader —–>OS selection —->Kernel Loading —>init process —>Fork System processes —> getty process —>login
حال به تشریح هر یک از مراحل فوق در یک سیستم می پردازیم:
در اولین مرحله حداقل سخت افزار لازم جهت راه اندازی سیستم شامل ورودی و خروجی های استاندارد مانند صفحه کلید، مانیتور و کارت گرافیکی،RAM و… شناسایی و تست می شوند. تمام تنظیمات پیش فرض مربوط به setup سیستم که در CMOS قرار دارد بازیابی می شوند. سپس اطلاعات موجود در اولین سکتور سیستم که سکتور صفر است بارگیری می شود. سکتور صفر دیسک سخت، مکانی است که سیستم عامل به وسیله بارگذاری راه انداز موجود در آن بارگیری می شود. حجم آن 512 بایت بوده و اجزای تشکیل دهنده آن عبارتند از:
1) 446 بایت: محل قرار گرفتن بارگذار راه انداز سیستم که می تواند GRUB یا LILO باشد.
2) 64 بایت: جدول پارتیشن های پایه دیسک سخت ما که از 4 بخش 16 بایتی تشکیل شده است.
3) 2 بایت:magic number مربوط به سکتور صفر که یک شماره منحصر به فرد است و برابر 0xAA55 است.
برنامه بارگذاری راه انداز موجود در MBR توسط BIOS دستور انتقال اطلاعات از دیسک سخت به حافظه RAM را می دهد و در واقع شامل بارگذاری هسته سیستم عامل به داخل حافظۀ RAM است. در زمان بارگیری هسته به داخل RAM مراحل زیر انجام می شود:
1) Stage 1: این بخش از بارگذاری در MBR قرار داشته و وظیفۀ بارگذاری Stage 2 را بر عهده دارد.
2) Stage 1.5: در این فایل سیستم های موجود در دیسک سخت شناسایی می شوند.
3) Stage 2: در آخرین مرحله عملیات بارگیری، هسته گنو/ لینوکس موجود صورت گرفته و به داخل RAM آورده می شود.
پس از انتخاب سیستم عامل مورد نظر، بارگذاری سیستم به سراغ فایل پیکربندی خود می رود تا آدرس پارتیشنی که هستۀ سیستم عامل انتخابی در آن قرار گرفته است را بیابد و بارگیری آن را انجام دهد. عموماً فایل های اساسی هسته که مورد استفادۀ سایر سیستم عامل های گنو/ لینوکسی قرار می گیرند، به صورت زیر هستند:
(Initial RAM Disk) initrd: این فایل جهت بارگیری اجزای اولیه هسته به داخل حافظه به کار می رود که خود شامل فایل دیگری به نام Linuxrc است. زمانی که initrd در RAM قرار می گیرد فایل Linuxrc درایورها و فایل سیستم ها و به طور کلی اجزای لازم برای اینکه هسته و منابع را در اختیار کاربر قرار دهد معرفی می کند.
Vmlinuz: در واقع هسته لینوکس این فایل است که به عنوان خروجی کامپایل هسته به دست می آید. پس از بارگیری این دو فایل در RAM سیستم، هسته اولین فرایند سیستم را می سازد. این فرایند init نام دارد و PID آن برابر با 1 می باشد. از این مرحله به بعد فرایند init سایر فرایند های مورد نیاز سیستم را ایجاد می کند. فرایند init فرایند دیگری به نام getty را می سازد که به کاربر یک ترمینال (login shell) می دهد تا از طریق آن بتواند به سیستم وارد شود. متداولترین بارگذارهای راه انداز سیستم عامل های گنو/ لینوکسی GRUB و LILO هستند. هر کدام از این بارگذارها دارای فایل های پیکربندی مربوط به خود هستند که در مسیرهای خاصی قرار می گیرند.
بررسی راه انداز سیستم عامل لینوکس