در باره بایوس کامپیوتر بیشتر بدانید؟
اغلب برای افراد مشکل است که تفاوت بین سخت افزار و نرم افزار را درک نمایند و این به این دلیل است که این دو موضوع در طراحی،ساخت وپیاده سازی سیستم ها بسیار به هم وابسته اند . برای درک بهتر تفاوت بین آنها لازم است که ابتدا مفهوم BOIS را درک کنید.
BOISتنها کلمه ای است که می تواند تمام درایورهایی را که در یک سیستم به عنوان واسط سخت افزار سیستم و سیستم عامل کار می کنند ، را شرح دهد.
BOISدر حقیقت نرم افزار را به سخت افزار متصل می نماید . قسمتی از بایوس بر روی چیپ ROM مادربرد و قسمتی دیگر بر روی چیپ کارتهای وفق دهنده قرار دارد که FIRE WARE(یعنی میانه افزار یا سفت افزار)نامیده میشود.
یک PC می تواند شامل لایه هایی (بعضی نرم افزاری و بعضی سخت افزاری ) باشد که واسط بین یکدیگرند.
در اکثر اوقات شما می توانید یک کامپیوتر (PC) را به چهار لا یه تقسیم کنید که هر کدام از لایه ها به زیر مجموعه هایی کوچکتر تقسیم کنیم . در شکل 1-5 چهار لایه نمونه از یک PC را مشاهده می کنید . هدف از این نوع طراحی این است که سیستم عامل ها و نرم افزار های مختلف بر روی سخت افزار های مختلف اجرا شوند (حالت مستقل از سخت افزار ) . شکل 1-5 نشان می دهد که چگونه دو ماشین متفاوت با سخت افزار های مختلف که از یک نسخه بایوس استفاده می کنند ، می توانند انواع نرم افزارها و سیستم عامل های مختلف را اجرا کنند . بدین طریق دو ماشین با دو پردازنده مختلف، رسانه های ذخیره سازی متفاوت و دو نوع واحد گرافیکی و غیره ... ، یک نرم افزار را اجرا کنند.
در معماری این لایه ها برنامه های کاربردی با سیستم عامل از طریق API(Application Program Interface) ارتباط برقرار می کنند.
API بر اساس سیستم عاملی که مورد استفاده قرار می گیرد و مجموعه توابع و دستورالعملهایی که برای یک بسته نرم افزاری ارائه می دهد ، متغیر می باشد . به طور مثال یک بسته نرم افزاری می تواند از سیستم عامل برای ذخیره و بازیابی اطلاعات استفاده کند و خود نرم افزار مجبور نیست که این کارها را انجام دهد.
نرم افزارها طوری طراحی شده اند که ما می توانیم آنرا بر روی سیستمهای دیگر نصب و اجرا نمائیم و این به دلیل مجزا شدن سخت افزار از نرم افزار است و نرم افزار از سیستم عامل برای دستیابی به سخت اقزار سیستم استفاده می کند . سپس سیستم عامل از طریق واسط ها به لایه های بایوس دستیابی پیدا می کند .بایوس شامل نرم افزارهای گرداننده ای است که بین سخت افزار و سیستم عامل ارتباط برقرار می کند . به خودی خود سیستم عامل هیچگاه نمی تواند مستقیما به سخت افزار دستیابی پیدا کند ، در عوض مجبور است از طریق برنامه های گرداننده ای که به این کار تخصیص یافته اند عمل کند.
یکی از وظایف تولید کنندگان قطعات سخت افزاری آن است که گرداننده ای برای قطعات تولیدی خود ارائه دهند ، و چون گرداننده ها باید بین سخت افزار و نرم افزار عمل نمایند ، باید گرداننده های هر سیستم عامل مجزا تولید شوند . بنابراین کارخانه سازنده قطعات باید گرداننده های مختلفی ارائه دهد تا قطعه مورد نظر بتواند بر روی سیستم عاملهای مزسوم کار کند.
چون لایه های بایوس همانند یک سیستم عامل به نظر می رسند ، مهم نیست که با چه سخت افزاری کار می کند ، و ما می توانیم سیستم عاملها را بر روی هر کامپیوتری و با هر نوع مشخصات سخت افزاری نصب و استفاده نمائیم.
برای مثال شما می توانید Windows 98 را بر روی دو سیستم متفاوت با پردازنده ،هارد دیسک،و کارت گرافیکی و ... که متفاوت از یکدیگرند نصب و اجرا کنید، اما بر روی هر دو سیستم همان کارائی خود را داراست، و زیرا که گرداننده ها همان عملکرد پایه را انجام می دهند و مهم نیست که بر روی چه سخت افزاری کار می کنند.
معماری سخت افزار و نرم افزار بایوس:
البته بایوس ، نرم افزاری است که شامل گرداننده های مختلفی است که که رابط بین سخت افزار و سیستم عامل هستند یعنی بایوس نرم افزاری است که همه آن از روی دیسک بارگذاری نمی شود بلکه قسمتی از آن ، قبلا بر روی چیپهای موجود در سیستم یا برروی کارتهای وفق دهنده نصب شده اند.
بایوس در سیستم به سه صورت وجود دارد :
1-ROM BIOS نصب شده بر روی مادر برد.
2- بایوس نصب شده بر روی کارتهای وفق دهنده (همانند کارت ویدئویی)
3- بارگذاری شده از دیسک(گرداننده ها)
چون بایوس مادربرد مقدمات لازم را برای گردادننده ها و نرم افزارها ی مورد نیاز فراهم میکند ،د اکثرا به صورت سخت افزاری که شامل یک چیپ ROM می باشد موجود است.
سالهای پیش هنگامی که سیستم عامل DOS بر روی سیستم اجرا میشد خود به تنهائی کافی بود و گرداننده ای (Driver) مورد نیاز نداشت . بایوس مادربرد به طور عادی شامل گرداننده هایی است که برای یک سیستم پایه همانند صفحه کلید، فلاپی درایو، هارد دیسک ، پورتهای سزیال و موازی و غیره ... است.
به جای اینکه برای دستکاههای جدید لازم باشد که بایوس مادربرد را ارتقاء دهید، یک نسخه از گرداننده آن را بر روی سیستم عامل خود نصب می نمائید تا سیستم عامل پیکربندی لازم را در هنگام بوت شدن سیستم را برای استفاده ار آن دستگاه انجام دهد ، برای مثال می توانیم CD ROM،Scanner،Printer،گرداننده های PC CARD را نام برد.چون این دستکاهها لازم نیستند که در هنگام راه اندازی سیستم فعال باشند ، سیستم ابتدا از هارد دیسک راه اندازی می شود وسپس گرداننده های آنرا بار گذاری می نماید.
البته بعضی از دستگاهها لازم است که در طول راه اندازی سیستم عامل فعال باشند ، اما این امر چگونه امکان پذیر است مثلا قبل از آنکه گرداننده کارت ویدئویی از ROM BIOS و یا از روی هارد دیسک فراخوانی شود شما چگونه می توانید اطلاعات را بر روی مانیتور ببینید ..
یک جواب این است که در ROM تمام گرداننده های کارت گرافیکی وحود داشته باشد اما این کار غیر ممکن نیست زیرا کارتهای بسیار متنوعی وجو دارد که هر کدام گرداننهده مربوط به خود را داراست که این خود باعث می شود صدها نوع ROM مادربرد به وجود آید که هر کدام مربوط به یک کارت گرافیکی می باشد.
اما هنگامی که IBM،PC های اولیه خود را اختراع نمود راه حل بهتری ارائه داد . او ROM مادربرد را طوری طراحی کرد که شکاف (Slot)کارت گرافیکی را برای پیدا کردن ROM نصب شده روی کارت گرافیکی را جستجو کند.
و اگر ROM روی کارت را می توانست پیدا می کرد ، مرحله اولیه راه اندازی را قبل از اینکه سیستم عامل از روی دیسک فراخوانی (Load) شود ،اجرا می نمود. بدین وسیله از تعویض ROM قرار داده شده بر روی مادربرد برای استفاده و فعال کردن دستگاه مورد نظر،ممانعت می کند.
کارتهای مختلفی که تقریبا بر روی همه آنها ROM وجود دارد ، شامل موارد زیر هستند:
کارتهای ویدئویی که همیشه دارای BIOS می باشند.
وفق دهنده های SCSI که امکان استفاده از دستگاههای با اتصالات SCSI را فراهم می آورد .
کارتهای شبکه که امکان راه اندازی سیستم با استفاده از فایل سرور که معمولا Boot Rom یا IPL(Initial Program Load) ROM نامیده می شوند، را فراهم می آورد ..
استفاده از دستگاههای IDE
بردهای Y2K که برای کامل کردن CMOS RAM هستند.