اغلب برای افراد مشکل است که تفاوت بین سخت افزار ونرم افزار را درک نمایند واین به این دلیل است که این دو موضوع در طراحی ، ساخت وپیاده سازی سیستم ها بسیار به هم وابسته اند.برای درک بهتر تفاوت بین آنها لازم است که ابتدا مفهوم BIOS را درک کنید BIOS تنها کلمه ای است که می تواند همه درایورهایی را که در یک سیستم به عنوان واسط سخت افزار سیستم وسیستم عامل کار می کنند ، را شرح دهد. BIOS در حقیقت نرم افزار را به سخت افزار متصل می نماید قسمتی از بایبوس روی چپ ROM مادربرد وقسمتی دیگر روی چیپ کارتهای وفق دهنده قرار دارد که FIRE WARE (یعنی میانه افزار یا سفت افزار ) نامیده می شود.
یک PC می تواند شامل لایه هایی (بعضی نرم افزاری وبعضی سخت افزاری ) باشد که واسط بین یکدیگرند.نرم افزارها طوری طراحی شده اند که ما می توانیم آنرا روی سیستمهای دیگر نصب واجرا نمائیم واین به دلیل مجزا شدن سخت افزار از نرم افزار است ونرم افزار ونرم ازسیستم عامل برای دستیابی به سخت افزار سیستم استفاده می کند. سپس سیستم عامل از طریق واسطه ها به لایه های بایوس دستیابی پیدا می کند بایوس شامل نرم افزارهای گرداننده ای است که بین سخت افزار وسیستم عامل ارتباط برقرار می کند . به خودی خود سیستم عامل هیچ گاه نمی تواند مستقیماً به سخت افزار دستیابی پیدا کند ، در عوض مجبور است از طریق برنامه های گرداننده ای که به این کار تخصیص یافته اند عمل کند .یکی از وظایف تولید کنندگان قطعات سخت افزاری آن است که گرداننده ای برای قطعات تولیدی خود ارائه دهند ، چون گرداننده ها باید بین سخت افزار ونرم افزار عمل نمایند ، باید گرداننده های هر سیستم عامل مجزا تولید شود . بنابراین کارخانه سازنده قطعات باید گرداننده های مختلفی ارائه دهد تا قطعه مورد نظر بتواند روی سیستم عامل های مرسوم کار کند چون لایه های بایوس همانند یک سیستم عامل به نظر می رسند مهم نیست که با چه سخت افزاری کار می کنند ، و ما می توانیم سیستم عامل ها را روی هر کامپیوتری و با هر نوع مشخصات سخت افزاری نصب واتفاده نماییم برای مثال شما می توانید Windows98 را روی دو سیستم متفاوت با پردازنده ، هارد دیسک ، کارت گرافیکی و ... که متفاوت از یکدیگرند نصب واجرا کنید ، اما روی هر دو سیستم همان کارایی خود را دارا ست ، زیرا که گرداننده ها همان عملکرد پایه را انجام می دهند ومهم نیست که روی چه سخت افزاری کار می کنند معماری سخت افزار ونرم افزار بایوس البته بایوس ، نرم افزاری است که شامل کرداننده های مختلفی است که رابط بین سخت افزار وسیستم عامل هستند یعنی بایوس نرم افزاری استکه همه آن از روی دیسک بارگذاری نمی شود بلکه قسمتی از آن ، قبلا روی چیپهای موجود در سیستم یا بر روی کارتهای وفق دهنده نصب شده اند بایوس در سیستم به سه صورت وجود دارد.
ROM BIOS
1- نصب شده روی مادربرد
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 را فراهم می آورد.