فرآیند بوت شدن سیستم عامل لینوکس


فرآیند بوت شدن سیستم عامل لینوکس

در این مقاله به صورت کامل در باره مراحل بالا آمدن (یا لود شدن) سیستم عامل لینوکس از لحظه فشار دادن دکمه برق تا لود شدن کامل سیستم عامل صحبت توضیح داده‌ام .
اینکه چه نوع فعالیت‌ها و اتفاق‌هایی در سخت افزار و نرم افزار کامپیوتر شما می‌افتد تا به صورت کامل لینوکس شما بووت (boot) و لود (load) شود مورد اصلی مطرح شده در این مقاله می‌باشد .

در ادامه به اشاره این مراحل و توضیح هر مرحله می‌پردازم

فشردن دکمه برق (power) کامپیوتر

در این مرحله جریان برق به مرکز برق کامپیوتر که همان power هست متصل می‌شود و از انجا به تمامی سخت افزار ها توزیع می‌شود .

اجرا شدن برنامه بایوس BIOS از ROM

پس از رسیدن برق به بورد اصلی کامپیوتر (Main Board) برنامه بسیار سبک و مقدماتی اجرا میشه که وظیفه اصلی اون در مرحله اول بررسی سلامت سخت افزار ضروری مانند ram , cpu را بررسی میکند . اگر مشکلی در هر کدام از این سخت افزار ها وجود داشته باشه معمولا با انواع صدای بوق بهمون اعلام میکنه . مثلا اگه cpu باشه بوق ممتد میزنه یا اگه ram باشه یه مدل بوق میزنه . دقیقا مثل نوزاد که حالات و مشکلاتش رو با گریه اعلام میکنه .
در صورتی که همه چیز درست باشه بایوس به ترتیب اولویت استوریج های قابل بوت شدن که شما مشخص میکنید میره و اون استوریج ها رو چک میکنه . مثلا شما مشخص کردی که اول برو فلاپی رو بخون بعد برو سی دی رام رو بخون بعد برو هارد اول بعد هارد دوم . اینها رو به ترتیبی که شما مشخص کردی چک میکنه و از هرکدوم که تونست سکتور صفر رو بخونه از اون بوت رو انجام میده . مثلا اگه من روی هارد اولم یه لینوکس نصب باشه ولی روی cdrom یه دیسک ویندوز داشته باشم و در بایوس هم cdrom بالاتر از هارد اول باشه دیگه لینوکس از هارد بوت نمیشه و چیزی که بوت میشه ویندوز از cdrom هست .

اگه دقت داشته باشید دلیل اینکه وقتی کامپیوتر رو روشن میکنید یه لحظه cdrom روشن میشه و بعد خاموش میشه دلیلش میتونه این باشه که توی بایوس کامپیوتر شما cdrom بالاتر از هارد دیسکتون هست .

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

بعد از این که دیوایس رو انتخاب کرد شروع میکنه سکتور صفر اون دیوایس رو میخونه . این سکتور توی مدل (MBR (Master Boor Record در بر گیرنده اطلاعات قابل بوت شدن در استوریج مورد نظر هست . در واقع متادیتا (Meta Data) تمامی دیوایس در این سکتور وجود داره .

لود شدن بوت لودر و انتخاب سیستم عامل جهت بوت

بعد از انتخاب دیوایس و شناسایی سکتور صفر استوریج نوبت میرسه به عملیاتی که در آن بووت لودر (Boot Loader) اجرا بشه و بهت حق انتخاب سیستم عامل مورد نظرت رو بده . در واقع بوت لودر یه نرم افزار ساده و کوچیک به زبان اسمبلی هست که بعد از اتمام کار بایوس اجرا میشه و اطلاعات تمامی سیستم عامل های موجود رو داره و بهت حق انتخاب میده که کدوم سیستم عامل رو بیاره بالا . از معروفترین و رایج ترین بوت لودر های موجود لینوکسی در حال حاضر میشه به lilo و grub اشاره کرد که خیلی استفاده میشن .

لود شدن یک لینوکس بسیار کوچک و سبک در RAM

بعد از اینکه شما لینوکس رو از توی بوت لودر انتخاب کردی حالا یه ایمیج لینوکس خیلی کوچک و سبک که معمولا با نام vmlinuz معروفه لود میشه و اجرا میشه . در واقع این vmlinuz یه کرنل قابل اجرا هست که وظیفه اصلی این ایمیج لود کردن سیستم عامل توی RAM هست .

از جمله کارهایی که در این مرحله انجام میشه اجرا شدن استیج در لینوکس هست . استیج ها در لینوکس هر کدام کارهایی رو انجام میدهند معمولا ۳ استیج در گراب اجرا می‌شود .

  • استیج ۱ :‌ که خیلی ساده و سبک هست و در سکتور صفر قرار میگیره
  • استیج ۱.۵ :‌ بین سکتور صفر و شروع پارتیشن اول در هارد معمولا یک فضای خالی وجود داره که به دلایل فنی استفاده نمیشه
  • استیج ۲ :‌ که شروع پارتیشن اول است که همان پارتیشن بوت بوده و همان فایل vmlinuz در آن پارتیشن قرار داره

اجرای پروسس مادر (init , systemd)

در این مرحله پروسس مادر اجرا میشود از درون کرنل . که میتواند بسته به توزیع لینوکس init و یا systemd باشد و شماره پروسس مادر ۱ است . درواقع اولین پروسسی است که اجرا میشود .
وظیفه اصلی این پروسس مدیریت کل لینوکس شما می‌باشد . اجرای تمامی سرویس ها به عهده این پروسس هست .

شما در حال مطالعه مقاله "چگونه یک کارآفرین موفق شویم؟" هستید. - زمان تقریبی مطالعه : 8 دقیقه