مقدمه
فرآیند بوت شدن سیستمعامل یکی از مراحل حیاتی است که از زمان روشن شدن سیستم تا آمادهسازی کامل آن برای استفاده توسط کاربر صورت میگیرد. در این مقاله به بررسی مراحل مختلف بوت شدن، اجزای کلیدی و نحوه عملکرد آنها خواهیم پرداخت.
مراحل بوت شدن سیستم عامل:
مرحله اول: چک کردن مولفه ها ضروری سخت افزار و انتخاب پارتیشن بوتیبل BIOS/UEFI
هنگامی که سیستم روشن میشود، ابتدا BIOS (basic input/output system) اجرا شده و تمام مولفه های ضروری، ورودی و خرجی های سیستم مثل: رم، سی پی یو، چیپست ها را چک می کند، هر برای هر مشکلی با یک بوق خاص هشدار می دهد.
پس از چک کردن سخت افزار بایوس طبق مرتبه ای که ما برای بوت شدن سیستم عامل مشخص کردیم، پارتیشن بوتیبل مثل: هارد، فلش، سی دی رام و … را برای بوت کردن سیستم عامل پیدا کرده و سکتور بوت دیسک را در حافظهی اصلی قرار داده و اجرا میکند.
UEFI: جایگزین BIOS می باشد که دارای رابط کاربری بهتر، قابلیت پشتیبانی از فایل سیستم و دیسکهایی که با استاندارد GPT پارتیشنبندی شده اند میباشد.
مرحلهی دوم: شناسایی پارتیشن ها MBR/GPT
MBR
MBR یا Master Boot Record سکتور صفر یا سکتور بوت دیسک می باشد که در ابتدای هر دیسک قرار دارد و در آن اطلاعات مربوط به پارتیشنهای دیسک و کدهای اولیه bootloader ذخیره می گردد.
در MBR می توانید حداکثر ۴ پارتیشنهای اصلی با سایز ۲ZB داشته باشید.
GPT
یا GUID Partition Table جایگزین استاندارد MBR می باشد در GPT میتوانید ۱۲۸ پارتیشنهای اصلی با سایز ۹.۴ZB داشته باشید.
مرحله سوم: بارگذاری کرنل در حافظه اصلی توسط Bootloader
Bootloader نرمافزاری است که هستهی سیستمعامل را در حافظهی اصلی بارگذاری کرده و مدیریت سیستم را به آن واگذار مینماید. بدون بوت لودر، نمیتوان سیستم عامل را بارگذاری نمود.
انواع bootloader در لینوکس:
-
- GRUB1 (Grand Unified Bootloader) و GRUB2
- LILO (Linux Loader)
مرحله چهارم: انتخاب سیستمعامل
اگر چندین سیستمعامل نصب شده باشد، Bootloader به کاربر اجازه میدهد تا یکی از آنها را انتخاب کند. در غیر این صورت، بهطور خودکار به بارگذاری لینوکس ادامه میدهد.
مرحله پنجم: بارگذاری Kernel
Bootloader، هسته لینوکس یا Kernel را در حافظه اصلی بارگذاری میکند.Kernel، مسئول مدیریت منابع سختافزاری و ارتباطات بین نرمافزارها و سختافزارها است.
مرحله ششم: انتقال کنترل به Kernel
در این مرحله کرنل وظیفهی شناسایی و پیکربندی سختافزارهای موجود، بارگذاری ماژولهای لازم و آمادهسازی محیط کاربری را بر عهده دارد.
مرحله هفتم: اجرای service manager یا سیستم مدیریت خدمات:
service manager اولین process هست که پس از بارگذاری هسته به صورت خودکار اجرا می شود وظیفه آن بارگذاری و مدیریت سایر فرآیندها و خدمات می باشد.
انواع service manager:
۱. Init
طراحی ساده و خطی دارد و خدمات را به ترتیب شمارهگذاری بارگذاری میکند برای همین سرعت بوت و کارایی کمتری نسبت به مدل Systemd دارد.
۲. Systemd
بهعنوان استاندارد جدید مدیریت خدمات، طراحی مدرنتری دارد و می تواند بهصورت همزمان خدمات را بارگذاری کند.
از واحدهای (units) مختلف برای مدیریت خدمات، سوکتها، و زمانبندیها استفاده میکند، برای همین سرعت بوت و کارایی بالاتری نسبت به مدیریت خدمات Init دارد و در بسیاری از توزیعهای مدرن لینوکس (مانند Fedora، CentOS و Ubuntu) استفاده میشود.
نکته: علامت d آخر خیلی از سرورهای لینوکسی وجود دارند که مخفف Demon است که این d نشانه مخفی بودن و در بکگراند انجام شدن این عملیات ها را می رساند.
مرحله هشتم: بارگذاری خدمات
در این مرحله، systemd خدمات مختلفی مانند شبکه، دیسکها و سایر منابع را بارگذاری میکند. این خدمات میتوانند شامل سرورها، پایگاههای داده و سایر برنامههای کاربردی باشند.
مرحله نهم: آمادهسازی محیط کاربری
۱. ورود به سیستم
پس از بارگذاری تمامی خدمات، کاربر به صفحه ورود هدایت میشود. در این مرحله کاربر نام کاربری و رمز عبور خود را وارد میکند.
۲. شروع محیط دسکتاپ
پس از ورود موفق، محیط دسکتاپ (مانند GNOME، KDE یا Xfce) بارگذاری میشود و کاربر میتواند به استفاده از سیستمعامل بپردازد.
نتیجهگیری
فرآیند بوت شدن سیستم عامل یک فرآیند پیچیده و چند مرحلهای است که شامل مراحل مختلفی از روشن شدن سیستم تا بارگذاری هسته و محیط کاربری میشود. آشنایی با این مراحل به کاربران کمک میکند تا درک بهتری از عملکرد سیستمعامل خود داشته باشند و در صورت بروز مشکلات، بتوانند عیبیابی مناسبی انجام دهند. با توجه به اهمیت این فرآیند، بررسی دقیق آن میتواند به بهبود کارایی و پایداری سیستم کمک کند.