اغلب براي افراد مشکل است که تفاوت بين سخت افزار و نرم افزار را درک نمايند و اين به اين دليل است که اين دو موضوع در طراحي،ساخت وپياده سازي سيستمها بسيار به هم وابستهاند . براي درک بهتر تفاوت بين آنها لازم است که ابتدا مفهوم BOIS را درک کنيد.
BOISتنها کلمه اي است که ميتواند تمام درايورهايي را که در يک سيستم به عنوان واسط سخت افزار سيستم و سيستم عامل کار ميکنند ، را شرح دهد.
BOISدر حقيقت نرم افزار را به سخت افزار متصل مينمايد . قسمتي از بايوس بر روي چيپ ROM مادربرد و قسمتي ديگر بر روي چيپ کارتهاي وفق دهنده قرار دارد که FIRE WARE(يعني ميانه افزار يا سفت افزار)ناميده ميشود .
يک PC ميتواند شامل لايههايي (بعضي نرم افزاري و بعضي سخت افزاري ) باشد که واسط بين يکديگرند. در اکثر اوقات شما ميتوانيد يک کامپيوتر (PC) را به چهار لا يه تقسيم کنيد که هر کدام از لايهها به زير مجموعههايي کوچکتر تقسيم کنيم . در شکل 1-5 چهار لايه نمونه از يک PC را مشاهده ميکنيد . هدف از اين نوع طراحي اين است که سيستم عاملها و نرم افزارهاي مختلف بر روي سخت افزارهاي مختلف اجرا شوند (حالت مستقل از سخت افزار ) . شکل 1-5 نشان ميدهد که چگونه دو ماشين متفاوت با سخت افزارهاي مختلف که از يک نسخه بايوس استفاده ميکنند ، ميتوانند انواع نرم افزارها و سيستم عاملهاي مختلف را اجرا کنند . بدين طريق دو ماشين با دو پردازنده مختلف، رسانههاي ذخيره سازي متفاوت و دو نوع واحد گرافيکي و غيره ... ، يک نرم افزار را اجرا کنند .
در معماري اين لايهها برنامههاي کاربردي با سيستم عامل از طريق API(Application Program Interface) ارتباط برقرار ميکنند .
API بر اساس سيستم عاملي که مورد استفاده قرار ميگيرد و مجموعه توابع و دستورالعملهايي که براي يک بسته نرم افزاري ارائه ميدهد ، متغير ميباشد . به طور مثال يک بسته نرم افزاري ميتواند از سيستم عامل براي ذخيره و بازيابي اطلاعات استفاده کند و خود نرم افزار مجبور نيست که اين کارها را انجام دهد.
نرم افزارها طوري طراحي شدهاند که ما ميتوانيم آنرا بر روي سيستمهاي ديگر نصب و اجرا نمائيم و اين به دليل مجزا شدن سخت افزار از نرم افزار است و نرم افزار از سيستم عامل براي دستيابي به سخت اقزار سيستم استفاده ميکند . سپس سيستم عامل از طريق واسطها به لايههاي بايوس دستيابي پيدا ميکند .بايوس شامل نرم افزارهاي گرداننده اي است که بين سخت افزار و سيستم عامل ارتباط برقرار ميکند . به خودي خود سيستم عامل هيچگاه نمي تواند مستقيما به سخت افزار دستيابي پيدا کند ، در عوض مجبور است از طريق برنامههاي گرداننده اي که به اين کار تخصيص يافتهاند عمل کند .
يکي از وظايف توليد کنندگان قطعات سخت افزاري آن است که گرداننده اي براي قطعات توليدي خود ارائه دهند ، و چون گردانندهها بايد بين سخت افزار و نرم افزار عمل نمايند ، بايد گردانندههاي هر سيستم عامل مجزا توليد شوند . بنابراين کارخانه سازنده قطعات بايد گردانندههاي مختلفي ارائه دهد تا قطعه مورد نظر بتواند بر روي سيستم عاملهاي مزسوم کار کند .
چون لايههاي بايوس همانند يک سيستم عامل به نظر ميرسند ، مهم نيست که با چه سخت افزاري کار ميکند ، و ما ميتوانيم سيستم عاملها را بر روي هر کامپيوتري و با هر نوع مشخصات سخت افزاري نصب و استفاده نمائيم .
براي مثال شما ميتوانيد Windows 98 را بر روي دو سيستم متفاوت با پردازنده ،هارد ديسک،و کارت گرافيکي و ... که متفاوت از يکديگرند نصب و اجرا کنيد، اما بر روي هر دو سيستم همان کارائي خود را داراست، و زيرا که گردانندهها همان عملکرد پايه را انجام ميدهند و مهم نيست که بر روي چه سخت افزاري کار ميکنند .
منبع :سايت مقالات دانشجويي