بایوس پس از بوت شدن چه کاری انجام میدهد
هنگامی که کامپیوتر شما فرآیند راهاندازی را به پایان میرساند و کاملاً سیستم عامل بالا آمده است. در این شرایط آیا کار دیگری برای بایوس باقیمانده است؟
نقش بایوس
سیستم عاملهای قدیمیتر مانند MS-DOS با فراخوانیهای منقطع، برای بسیاری از کارها (به عنوان مثال دسترسی به دیسک) به BIOS متکی بودند.
با سیستم عاملهای مدرن، بوت لودر به سرعت 32 یا 64 بیتی تغییر حالت میدهد و هسته سیستم عامل را اجرا میکند. هسته میتواند کنترل کنندههای منقطع خود را شمارش کند، که میتواند توسط برنامههای فضای کاربر فراخوانی شود. روال هسته میتواند سبکتر باشد (زیرا به سخت افزار خاصی بستگی ندارد). انعطاف پذیرتر باشد (فروشندگان سیستم عامل میتوانند به جای استفاده از هر آنچه همراه سخت افزار کامپیوتر است، آنها را براساس تقاضا تغییر دهند). پیچیده تر باشد (آنها میتوانند کدهای پیچیدهای را به طور قراردادی اجرا کنند به جای آنچه در بایوس برنامهریزی شده است). ایمن تر باشد (از آنجایی که سیستم عامل میتواند دسترسی به منابع مشترک را کنترل کرده و از تداخل برنامهها در یکدیگر جلوگیری کند)
برای تعامل با سختافزار خاص، سیستم عاملها میتوانند درایورهای دستگاه خود را بارگیری و استفاده کنند. بنابراین دیگر نیازی به سیستم عامل یا برنامههای نیست که بیشتر روالهای BIOS را فراخوانی میکنند. در حقیقت، به دلایل امنیتی، وقفههای BIOS حتی غیرفعال میشوند. از آنجا که BIOS در حالت واقعی 16 بیتی است، فراخوانی سیستم عاملهای مدرن دشوارتر است.
استفاده از بایوس هنگام اجرای سیستم عامل بسیار محدود است. اما عملکردهای آن هنوز به صورت جانبی استفاده میشود. به عنوان مثال، هنگامی که کامپیوتر خواب است، سیستم عامل در حال اجرا نیست. در نهایت میان افزار بایوس، سخت افزار را برای توقف و از سرگیری سیستم عامل در حالت صحیح قرار میدهد. این کاربردها معمولاً به ACPIcalls محدود میشوند تا به رابطهای بایوس. ACPI یک پسوند BIOS است که مدیریت نیرو را تحت کنترل سیستم عامل (OSPM) قرار میدهد. برخلاف سیستم مرکزی BIOS قبلی، که برای تعیین سیاست مدیریت و تنظیم نیرو به سیستم عامل مخصوص پلت فرم متکی بود.
توجه داشته باشید که به طور رسمی BIOS به یک رابط میان افزار خاص اشاره دارد. اما این اصطلاح معمولاً برای اشاره به میانافزار کامپیوتر به طور کلی استفاده میشود. برخی از کامپیوترهای جدید (به خصوص کامپیوترهای اپل)BIOS را با UEFI جایگزین کردهاند. البته در این صورت برای اجرای این توابع فراخوانی میشود.
BIOS و مدیریت نیرو
بایوس تعدادی از خدمات را به سیستم عاملها ارائه میدهد که بیشتر آنها مربوط به مدیریت نیرو هستند:
- اصلاح CPU و ساعتهای گذرگاه (BUS)
- فعال کردن/غیرفعال کردن دستگاههای اصلی
- کنترل افزایش قدرت پورت
- بیکار کردن (تعلیق) دیسک سخت و بیکار کردن RAM
- از سرگیری تنظیمات رویداد
سیستم تعلیق دیسک بیشتر اوقات در سیستم عامل پیادهسازی میشود. زیرا سیستم عامل میتواند وضعیت خود را سریعتر بازیابی کند (فقط حالت هسته، بارگیری مجدد میشود و در صورت لزوم حالت برنامه نیز عوض میشود، که بسیار سریعتر از بارگیری مجدد کل RAM است)، اما این ویژگی در مشخصات باقی میماند.
سیستم تعلیق RAM را نمیتوان توسط سیستم عامل پیادهسازی کرد. زیرا این امر به BIOS متکی است که از مقدار اولیه و آزمایش RAM صرف نظر میکند. بنابراین سیستم عامل به یک API نیاز دارد تا به BIOS بگوید که قصد دارد از محتوای فعلی RAM استفاده کند. به منظور ارائه این سرویس، BIOS از سیستم عامل میخواهد که یک منطقه RAM خاص را دست نخورده باقی بگذارد.
رابط کاربری سیستم عامل برای همه سرویسهای بایوس قطعهای از کد ماشین مجازی است که باید روی شبیه ساز اجرا شود و عملکردهای ورودی و خروجی لازم را در سختافزار ایجاد میکند. برای حالت تعلیق، این امر به طور کلی پیادهسازی میشود تا اجرای یکی از سختافزارها باعث ایجاد وقفه شود و این امر کنترل را به بایوس منتقل میکند.