نگاهی دقیقتر به فرایند راهاندازی لینوکس
اصطلاح فنی راهاندازی کامپیوتر را فرایند بوت یا Bootstrapping میگویند و یا بطور خلاصهتر بوت (boot یا booting). بخش آغازین این فرایند توسط کدهای ذخیره شده در ROM کامپیوتر انجام میشود. این بخش در همه سیستمعاملها یکسان میباشد. وظیفه این کد بارگذاری مدیر بوت لینوکس (Linux Boot Loader) برای ادامه فرایند میباشد.
برنامههای مدیر بوت
برنامههای مدیر بوت برنامههایی هستند که توسط ROM کامپیوتر (یا همان BIOS) بارگذاری میشوند. در
لینوکس دو مدیر بوت رایج وجود دارد. لیلو (LiLO) مدیر بوت سنتی لینوکس و گراب (Grub) مدیر بوتی جدیدتر میباشد.هرکدام از این برنامهها ابتدا مقداری
اطلاعات پیکربندی را دریافت کرده و سپس هسته لینوکس یا سیستمعامل دیگری را
بارگذاری میکند و ادامه فرایند بوت را به آن میسپارد.
پس از اينكه برنامه موجود در بايوس اجرا شد نخستين صفحه حاوی متنی ساده برروی مانيتور شما به نمايش در آمده و اطلاعات كمی در مورد نوع پردازنده و كارت گرافيك يا نوع هارد ديسك و سی دی رام متصل شده به سيستم به نمايش در می آيد . در اين هنگام برنامه بايوس در آخرين خط اجرای فرامين خود كنترل عملكرد را برای اجرای دستورات بعدی به نخستين رسانه دارای اطلاعات سيستمی (مثلا فلاپی ديسك) ميدهد . حتما شما هم تاكنون به پيغام زير هنگامی كه يك فلاپی غير سيستمی در فلاپی درايو قرار داده و كامپيوتر را بوت نموده ايد برخورد كرده ايد .
Non-system disk or disk error
Remove the disk and press any key to continue
معنی اين پيغام اين است كه ديسكت شما فاقد اطلاعات لازم برای بوت كردن سيستم است . اگر شما اين ديسكت را از دستگاه خارج كرده و يك كليد را بدلخواه فشار دهيد بايوس سيستم به دومين رسانه دارای فايلهای سيستمی و بصورت پيش فرض به قسمت master boot record – MBR هاد ديسك مراجعه خواهد كرد .
در اين مرحله كدهای اجرائی و سيستمی موجود يكی پس از ديگری اجرا ميگردند و مثلا در مورد سيستم عامل داس در نهايت به خط فرمان خواهيم رسيد .
اما در مورد سيستمهای لينوكس ابتدا كدهای اجرائی برنامه های بوت لودرهمچون LILO, the LInux Loader يا GRUB,grand unified unix bootloader به اجرا در آمده و اين برنامه ها هستند كه تعيين كننده خط مشی اجرائی كدهای بعدی خواهند بود .
اين بدين معنی است كه بوت لودر اين انتخاب را برای كاربر فراهم ميسازد كه برای اجرای فرامين بعدی و بوت كردن سيستم خود به كدامين قسمت از master boot record و كدام پارتيشن مراجعه كند .
بعد از اينكه بايوس كنترل را به بوت لودر سپرد ، بوت لودر هم كنترل را در نهايت به سيستم عامل شما مثلا به لينوكس ميسپارد . بديهی است كه بوت لودرهای لينوكس براحتی قابل پيكربندی و اختصاصی شدن هستند و اطلاعات نخستين سيستم عامل قابل بوت و زمان وقفه و پارتيشن هاد ديسك محل استقرارMBR يا سيستم عامل ها با ويرايش فايلهای /etc/lilo.conf يا /boot/grub/menu.lst قابل تغيير است .
اولين چيزی كه لينوكس پس از آغاز عمليات بوت انجام ميدهد تغيير وضعيت سيستم يا سوئيچ كردن به وضعيت protected mode يا همان سيستم امن ميباشد . البته بايد دانست كه سيستمهای عامل قديمی همچون داس بدون تغيير وضعيت سيستم از لحاظ امنيتی به وضعيت بدون حفاظ real mode بوت ميشوند .
همانطوريكه ميبينيد سيستم های عامل پيشرفته مثل لينوكس با انجام اينكار كنترل سيستم را كاملا بدست گرفته و از اختيار بايوس كاملا خارج ميسازند .
در مرحله بعدی لينوكس به جستجو وشناسائی سخت افزارهای موجود برروی سيستم ميپردازد و اين كار را هربار كه شما سيستم خودرا خاموش و سپس روشن نمائيد انجام خواهر داد چرا كه اطلاعات مربوط به سخت افزار سيستم مثل نوع مادربورد ، هادديسك ، چيپست كارت گرافيك ، ماوس و ابزارهای شبكه و ..... در هربار بوت شدن لازم و ضروری اند و لينوكس نميتواند و نبايد اين اطلاعات را بخاطر بسپارد چون هر كس ممكن است در طول دومرحله بوت كامپيوتر خود نوعی از سخت افزار را به آن افزوده يا از آن بكاهد .
با كمال خوشبختی لينوكس اين اطلاعات را ازطريق پرس و جو با سخت افزار سيستم و بصورت اتوماتيك انجام ميدهد و نياز به دخالت كاربر وجود ندارد ، البته شما ميتوانيد نتايج كار هسته kernel سيستم عام را در مورد اين پرس و جوها در صفحات آغازين بوت شدن لينوكس و بصورت خطوطی كه برروی مانيتور نمايش می يابند مشاهده نمائيد .
وبلاگ درسی درس کتابخانه دیجیتال