BOIS تنها کلمه اي است که مي تواند تمام درايورهايي را که در يک سيستم به عنوان واسط سخت افزار و سيستم عامل کار مي کنند ، را شرح دهد.

يک PC مي تواند شامل لايه هايي (بعضي نرم افزاري و بعضي سخت افزاري ) باشد که واسط بين يکديگرند. در اکثر اوقات شما مي توانيد يک کامپيوتر را به چهار لا يه تقسيم کنيد که هر کدام از لايه ها به زير مجموعه هايي کوچکتر تقسيم کنيم . هدف از اين نوع طراحي اين است که سيستم عامل ها و نرم افزار هاي مختلف بر روي سخت افزار هاي مختلف اجرا شوند (حالت مستقل از سخت افزار ) . بدين طريق دو ماشين با دو پردازنده مختلف، رسانه هاي ذخيره سازي متفاوت و دو نوع واحد گرافيکي و غيره مي توانند يک نرم افزار را اجرا کنند .
در معماري اين لايه ها برنامه هاي کاربردي با سيستم عامل از طريق API (Application Program Interface)ارتباط برقرار مي کنند .

نرم افزارها طوري طراحي شده اند که ما مي توانيم آنرا بر روي سيستمهاي ديگر نصب و اجرا نمائيم و اين به دليل مجزا شدن سخت افزار از نرم افزار است و نرم افزار از سيستم عامل براي دستيابي به سخت اقزار سيستم استفاده مي کند . سپس سيستم عامل از طريق واسط ها به لايه هاي بايوس دستيابي پيدا مي کند .بايوس شامل نرم افزارهاي گرداننده اي است که بين سخت افزار و سيستم عامل ارتباط برقرار مي کند . به خودي خود سيستم عامل هيچگاه نمي تواند مستقيما به سخت افزار دستيابي پيدا کند ، در عوض مجبور است از طريق برنامه هاي گرداننده اي که به اين کار تخصيص يافته اند عمل کند .
يکي از وظايف توليد کنندگان قطعات سخت افزاري آن است که گرداننده اي براي قطعات توليدي خود ارائه دهند ، و چون گرداننده ها بايد بين سخت افزار و نرم افزار عمل نمايند ، بايد گرداننده هاي هر سيستم عامل مجزا توليد شوند . بنابراين کارخانه سازنده قطعات بايد گرداننده هاي مختلفي ارائه دهد تا قطعه مورد نظر بتواند بر روي سيستم عاملهاي مرسوم کار کند .
API بر اساس سيستم عاملي که مورد استفاده قرار مي گيرد و مجموعه توابع و دستورالعملهايي که براي يک بسته نرم افزاري ارائه مي دهد ، متغير مي باشد . به طور مثال يک بسته نرم افزاري مي تواند از سيستم عامل براي ذخيره و بازيابي اطلاعات استفاده کند و خود نرم افزار مجبور نيست که اين کارها را انجام دهد.
چون لايه هاي بايوس همانند يک سيستم عامل به نظر مي رسند ، مهم نيست که با چه سخت افزاري کار مي کند ، و ما مي توانيم سيستم عاملها را بر روي هر کامپيوتري و با هر نوع مشخصات سخت افزاري نصب و استفاده نمائيم .
براي مثال شما مي توانيد Windows 98 را بر روي دو سيستم متفاوت با پردازنده ، هارد ديسک و کارت گرافيکي و . . . که متفاوت از يکديگرند نصب و اجرا کنيد ، اما بر روي هر دو سيستم همان کارائي خود را داراست، زيرا که گرداننده ها همان عملکرد پايه را انجام مي دهند و مهم نيست که بر روي چه سخت افزاري کار مي کنند .

معماري سخت افزار و نرم افزار بايوس

البته بايوس ، نرم افزاري است که شامل گرداننده هاي مختلفي است که که رابط بين سخت افزار و سيستم عامل هستند يعني بايوس نرم افزاري است که همه آن از روي ديسک بارگذاري نمي شود بلکه قسمتي از آن ، قبلا بر روي چيپهاي موجود در سيستم يا برروي کارتهاي وفق دهنده نصب شده اند.


بايوس در سيستم به سه صورت وجود دارد :




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 هستند .


اکثر افراد BIOS رابا CMOS RAM اشتباه مي گيرند ، اين از آنجا سرچشمه مي گيرد که برنامه Setup براي پيکربندي BIOS و ذخيره آن در CMOS RAM مي شود استفاده مي شود.

در حقيقت BIOS و CMOS RAM دو چيز متفاوت از هم مي باشند. بايوس مادربرد در يک چيپ ROM به طور ثابت ذخيره شده است.
همچنين بر روي مادربرد يک چيپ است که RTC/NVRAM ناميده مي شود ، که زمان سيستم را نگهداري مي کند و يک حافظه فرار و ثابت است که اولين بار در چيپ MC146818 ساخت شرکت موتورلا استفاده شده است، و ظرفيت آن 64 بايت است که 10 بايت آن مربوط به توابع ساعت است ..
اگرچه اين چيپ غير فرار ناميده مي شود اما با قطع برق ، ساعت و تاريخ تنظيم شده در آن و داده هاي درون RAM پاک مي شود .
در حقيقت غير فرار ناميده مي شود چون با استفاده از تکنولوژي) CMOS(Complementarry Metal-Oxide Semicondector ساخته شده است ، در نتيجه با يک جريان بسيار کم که بوسيله باطري سيستم تامين مي گردد ، پايدار باقي مي ماند که اکثر مردم به اين چيپ ،CMOS RAM مي گويند .
هنگامي که وارد BIOS Setup مي شويد و پارامترهاي خود راتنظيم و ذخيره مي نماييد ، اين تنظيمات در ناحيه اي از چيپ RTC/NVRAM ذخيره مي شوند(که همچنين CMOS RAM نيز ناميده مي شود).
و در هر موقع که سيستم خود را راه اندازي مي کنيد پارامترها از CMOS RAM خوانده مي شوند و تعيين مي کنند که سيستم چگونه پيگربندي شده است.

همه مادربردها شامل يک چيپ مخصوص هستند که بر روي آن نرم افزاري قرار دارد که BIOS يا ROM BIOS ناميده مي شود . اين چيپ ROM شامل برنامه هاي راه اندازي و گرداننده هايي است که که در هنگام راه اندازي سيستم مورد نياز است و يک واسطه به سخت افزار پايه سيستم است .
اغلب به CMOS RAM (حافظه پاک نشدني NVRAM(Non-Volatile نيز مي گويند ، چون با 1 ميلينيوم آمپر فعال مي شود و تا هنگامي که باطري ليتيوم فعال باشد ، داده ها باقي مي مانند.




بارگذارکننده يا لودر BootStrap :روالي است که سيستم ار براي پيدا کردن سکتور Boot جستجو مي کند .

BIOS مجموعه اي از برنامه هايي است که در يک يا چند چيپ ذخيره شده است ، که در طول راه اندازي سيستم اين مجموعه از برنامه ها قبل از هر برنامه اي حتي سيستم عامل بارگذاري مي شوند . POST(Power Self On) Test: اين برنامه پردازنده، حافظه ،چيپستها ،وفق دهنده ويدوئويي ، ديسک کنترلر ،گرداننده هاي ديسکي ،صفحه کليد ،و مدارات ديگر را تست مي کند. BIOS: که مجموعه اي از گرداننده هايي است که واسط بين سخت افزار و سيستم عامل است. BIOS در اکثر سيستمهاي PC ها شامل چهار تابع است: BIOS Setup: برنامه اي است که در طول اجراي برنامه POST بافشار دادن کليد خاصي فعال مي شود و به شما اجازه مي دهد مادربرد را پيکربندي کنيد و تنظيم پارامترهايي همانند ساعت و تاريخ و پسورد و ... را انجام دهيد. در سيستمهاي 286 و 386 برنامه Setup در ROM آنها وجود ندارد و لازم است که شما سيستم را توسط ديسک مخصوص Setup راه اندازي نمائيد.
سخت افزار ROM:
ROM نوعي از حافظه است که که داده ها را به طور دائم يا غير دائم نگهداري مي کند .به آن فقط خواندني مي گويند زيرا يک بار بر روي آن مي نويسند و بارها آنرا مي خوانند و اگر دوباره قابل نوشتن باشد بسيار دشوار است ..

در حقيقت تکنولوژي ROM زير مجموعه اي از سيستم RAM مي باشد به طور خلاصه قسمتي از فضاي حافظه RAM به يک يا چند چيپ اشاره مي کنند.
به طور مثال هنگامي که کامپيوتر را روشن مي کنيم پردازنده به طور خودکار به آدرس FFFF0h پرش مي کند.که در اين آدرس دستوراتي است که به پردازنده مي گويند چه کاري انجام دهد .

اين محل 16 بايتي درست در انتهاي اولين مگابايت RAM و همچنين در پايان حافظه ROM قرار گرفته است.معمولا سيستم ROM از آدرس F0000h شروع ميشود که 64 کيلو بايت قبل از انتهاي اولين مگابايت مي باشد ، و معمولا چون اندازه ROM 64 کيلو بايت است 64 کيلو بايت آخر اولين مگابايت را اشغال مي کند و در آدرس FFF0h دستورات راه اندازي سيستم قرار دارد .

افراد بسياري تعجب مي کنند که يک PC با اجراي دستورات 16 بايت از حافظه ROM مي تواند راه اندازي شود ، اما اين طراحي کاملا حساب شده است.

اين طراحي بدين گونه است که در 16 بايت آخر ROM يک دستور JMP به اول ROM است و کنترل برنامه را به ابتداي ROM مي برد ، پس به اين طريق مي توانيم اندازه ROM را به هر قدر که بخواهيم افزايش دهيم . ROM BIOS اصلي که برروي مادربرد است شامل يک چيپ ROM است.چون قسمت اصلي BIOS در ROM است ، ما اغلب آنرا ROM BIOS مي ناميم .
کارت هاي وفق دهنده اي که در طول راه اندازي سيستم مورد نياز هستند داراي يک ROM بر روي بردشان مي باشند . که از اين کارتها مي توان کارت ويدئو ،اکثر Small Small Cmputer System Interface) SCSI( ها ، کارت کنترلر IDE توسعه يافته، برخي از کارتهاي شبکه (براي راه اندازي توسط Server) .

ROMهايي که بر روي کارتهاي وفق دهنده هستند توسط برنامه POST در طول راه اندازي سيستم اسکن و خوانده مي شوند. ROM مادربرد قسمت خاصي ازRAM (از آدرس C00000h-DFFFFh) را رزرو مي کند و سپس دوبايت از آدرس 55AAh را مي خواند که در آن آدرس شروع ROM قرار دارد .

سومين بايت اندازه ROM را در واحد 512 بايت(که Paragraphناميده مي شود) نشان مي دهد و چهارمين بايت شروع برنامه راه انداز ميباشد. يکبايت نيز به منظور تست کردن توسط ROM مادربرد استفاده مي شود.


چيپهاي RAM طبيعتا در مقابل چيپهاي DRAMها کند مي باشند ، زيرا زمان دستيابي به ROM 150 نانوثانيه است، اما زمان دستيابي DRAM ها 50 نانوثانيه مي باشد .

به همين دليل در بسياري از سيستمها ROM ها به صورت پنهان (Shadowing) هستند، بدين معني که ROMها در ابتداي راه اندازي يسيتم در چيپهاي DRAM کپي مي شوند که اين باعث دسترسي و اجراي سريعتر عمليات مي شود .
زيربرنامه ها و روالهايي که به روالهاي پنهاني (Shoadowing Procedure) محتويات ROM را در RAM کپي مي کنند و آدرس آن را به عنوان ROM معرفي مي کنند و ROM واقعي ار غير فعال مي کنند ،که اين باعث مي شود که به نظر برسد که سيستم با سرعت 60 نانوثانيه کار مي کند.
استفاده از اين روش هنگامي مفيد است که از يک سيستم عامل 16 بيتي مانند ِDOS و يا WIN3.1 لستفاده مي کنيم ..و اگر از سيستم عامل 32 بيتي مانند WIN 98,WIN95,WIN NT استفاده مي کنيد ، اين روش تقريبا بي حاصل است زيرا اين سيستم عاملها هنگامي که بر روي سيستم اجرا مي شوند از کد 16 بيتي ROM استفاده نمي کنند.
اما در عوض از گرداننده هاي 32 بيتي که در طول راه اندازي سيستم عامل در حافظه RAM بارگذاري مي کنند ، استفاده مينمايند.

چهار نوع چيپ ROM وجود دارد :

* ROM
* PROM
*EPROM
EEPROM * که نيز Flash ROM نيز مي نامند.


اين چيپها که از نوع ROM مي باشند در ابتداي ساخت خالي مي باشند و بايد با داده هايي که مي خواهيد برنامه ريزي کنيد. اين نوع حافظه ها در اواخر سال 1970 به وسيله شرکت Tenas Instruments ساخته شد ودر اندازه هاي مختلف 1 کيلو بايت تا 2 مگابايت و بيشتر هستند که شماره شناسايي آنها 27nnnn مي باشد كه عدد 27 شماره شناسايي چيپهاي PROM مي باشد و nnnn اندازه اين چيپ بر حسب بايت مي باشد.

اگر چه مي گوييم اين حافظه ها در ابتداي ساخت خالي هستند اما به طور تکنيکي داراي مقدار 1 مي باشند . بنابراين يک PROM خالي مي تواند برنامه ريزي شده باشد و ما مي توانيم بر روي آن بنويسيم . براي نوشتن به دستگاه مخصوص که ROM Programer يا سوزاننده (Burner) نام دارد ، نياز داريم .
برخي اوقات شنيده ايد که به چيپ هاي ROM نيز Burning (يعني سوزان) مي گويند ، زيرا هر بيت باينري يک فيوز است که سالم بودن آن نشانگر يک و در غيراين صورت صفر مي باشد ..
بهتر است که بدانيد اکثر چيپ ها با 5 ولت جريان فعال مي شوند و هنگامي که ما برنامه اي را بر روي چيپ هاي PROM مي نويسيم يا اصطلاحا Program مي نمائيم جرياني بيشتر از 5 ولت که معمولا 12 ولت است اعمال مي کنيم که اين باعث سوختن فيوزهاي آدرسهايي مي شود که ما مي خواهيم . بايد توجه داشته باشيد که ما مي توانيم يک را صفر تبديل کنيم ولي برعکس آن ممکن نيست .
به اين چيپ ها OTP (One Time Programmable) نيز مي گويند در شکل 2-1 تصوير يک Programmer چند سوکته را مشاهده مي کنيد که به آن (Gang Programmer) يا برنامه ريز گروهي نيز مي گويند. و مي تواند چندين چيپ را در هر بار برنامه ريزي کند.

نيز يک نوع عمومي از PROM مي باشد که قابليت پاک شدن و دوباره برنامه ريزي را داراست . بر روي اين چيپها يک بلور کوارتز قرار دارد که مستقيما بر روي die قرار دارد. اين چيپها با شماره 27xxxx شناسايي مي شوند و به وسيله برنامه يا به طور فيزيکي مي توان آنها را پاک کرد.(شکل 5-3)
هدف از قرار دادن بلور کوارتز اين است که اشعه فرا بنفش به die برسد ، زيرا چيپ EPROM با تابش اشعه فرا بنفش پاک مي شود. اشعه فرا بنفش باعث ايجاد يک واکنش شيميايي مي شود که که فيوزها را پشت سر هم ذوب مي کند ، بنابراين تمام صفرها به يک تبديل مي شوند و چيپ به حالت اوليه خود باز مي گردد. براي اين کار بايد ، اشعه فرا بنفش را در طول موج 2537 انگستروم و با شدت يکنواخت 12000 uv/cm2 و در مدت 5 تا 15 دقيقه باشد.
يک دستگاه پاک کننده EPROM ، يک توليد کننده امواج فرا بنفش است که داراي يک فضاي بسته است که داراي يک کشو مي باشد و در بالاي کشو توليد کننده امواج فرا بنفش مي باشد و چيپها درون کشو قرار مي گيرند.


يک نوع ديگر از چيپهاي ROM ، چيپهاي EPROM که Flash ROM نيز ناميده مي شوند و از خصوصيات مهم آنها اين است که قابل پاک شدن و برنامه ريزي توسط مدارهايي هستند که بر روي آنها نصب مي شوند و وسايل و ابزار خاصي نياز ندارند.
اين چيپ ها به وسيله شماره هاي 29xxxx و 28xxxx شناخته مي شوند . هم اکنون در مادربردهاي کامپيوتر از چيپهاي EEPROM استفاده ميشود. اين بدان معني است که BIOS مادربرد خود را مي توانيد به وسيله دريافت نسخه به روز درآمده از شرکت سازنده ، به روز رساني نمائيد.

توليد کننده هاي ROM BIOS:
تعداد بسياري از توليد کننده هاي امروزه اکثر مادربردها را پشتيباني مي کنند و چندين کمپاني در زمينه توليد محصولات ROM BIOS ، به طور تخصصي فعاليت دارند.
سه کمپاني بزرگ که در زمينه نرم افزار ROM BIOS فعاليت دارند عبارتند از :


به روز رساني BIOS :
سيستم عاملها تقريبا بر روي هر سيستم کامپيوتري با سخت افزارهاي مختلف سازگاري دارند و اين به دليل وجودBIOS است، چون اين BIOS است که با سخت افزار سيستم ارتباط برقرار مي کند.
اغلب در سيستمهاي قديمي براي بهره گيري از برخي دستگاههاي جديد همانند گرداننده هاي IDE ديسک سختو يا گرداننده هاي فلاپي هاي LS-120 و يا در سيستمهايي که استفاده از ديسک بيش از 8GB را پشتيباني نمي کنند ،بايد BIOS را به روز رساني نمود.

ليست زير مجموعه اي از دلايلي است که بايد BIOS را به روز رساني نمود:

* استفاده از فلاپي درايوهاي LS-120 که به سوپر درايو نيز معروفند.
* استفاده از هارد ديسک هاي بيش از 8GB
* استفاده از داريور هاردديسک Ultra DMA IDE
* استفاده از بوت کردن سيتم با درايو CD-ROM
* تصحيح خطاي سال 2000 و سال کبيسه
* تصحيح خطاهاي سازگاري با سخت افزار يا نرم افزار
* استفاده از پردازنده هاي جديد
اگر شما يک سخت افزار جديد نصب کرده ايد و حتي دستورات نصب را به درستي انجام داده ايد ، اما نمي توانيد با آن کار کنيد ، اين خطا ممکن است از BIOS باشد و لازم است آن را به روزرساني کنيد. اين موضوع به ويژه در سيستم عاملهاي جدبد صدق مي کند . بسياري از سيستم هاي قديمي نياز به روزرساني BIOS دارند تا به طور کامل از ويژگي هاي Plug-And-Play در ويندوزهاي 95 و98 و 2000 استفاده کنند.
اين مسائل از يک مادربرد به مادربرد ديگر متغير است ، اما ارزش آن را دارد که BIOS سيستم را به روزرساني کنيد براي بروزرساني BIOS يک مادربرد بايد چند نکته را بدانيد:
سازنده و مدل مادربرد
نسخه فعلي BIOS مادربرد
نوع CPU(مثلاPentium II , Pentium mmx )
نسخه برداري از تنظيمات فعلي CMOS:
بروزرساني نسخه BIOS ممولا تنظيمات فعلي SETUP را به هم مي ريزد ، بنابراين بهتر است آن نسخه برداري کنيد ، برخي برنامه ها مانند نورتون يوتيليتي مي توانند تنظيمات CMOS را ذخيره کنند ، اما اين نرم افزارها اکثرا در بازگرداندن تنظيمات SETUP ناموفق هستند. بهترين راه اين است مه خودتان از تنطيمات SETUP نسخه برداري کنيد و همچنين مي توانيد با اتصال چاپگر از تنظيمات SETUP يک کپي تهيه کنيد (با فشار دادن کليدهاي Shift+PRN SCR)
چيپهاي کنترلر صفحه کليد:
علاوه بر ROM اصلي سيستم ، در کامپيوترهاي 286 و پائينتر همچنين يک کنترلر صفحه کليد يا ROM صفحه کليد وجود دارد ، که ميکروپروسسور صفحه کليد در ROM صفحه کليد جاسازي شده است . اين ROM را اغلب مي توانيد در Super I/O يا در چيپ South Bridge در مادر بردهاي جديد پيداکنيد. کنترلر صفحه کليد در اصل يک ميکروکنترلر 8042 است که با آن يک ميکروپروسسور ، ROM ، RAM و پورتهاي I/O نيز ملحق کرده اند .در مادر بردهاي جديد چيپ 8042 در داخل چيپ Super I/O يا South Bridge تعبيه شده است بنابراين شما چيپ 8042 را نخواهيد ديد.
در بسياري از سيستم هاي قديمي ، يکي از پورتهايي که استفاده نشده است براي انتخاب سرعت ساعت CPU استفاده مي شود و اين در سيستم هاي قديمي هنگامي که سيستم عامل را به 95/98/2000 ارتقاء مي دهيد با کنترلر صفحه کليد مشکلاتي پيدا مي کند که بعدها اين مشکل نيز بر طرف شد.
به کار بردن Flash BIOS :
تقريبا تمام کامپيورترهاي از سال 1996 به بعد داراي يک Flash ROM براي ذخيره کردن BIOS هستند .. Flash ROM نوعي از EEPROM است که مي توانيد بر روي آن عمليات پاک کردن و برنامه نويسي را انجام دهيد . Flash ROM به کاربران اين امکان را مي دهد که نسخه به روزرساني شده BIOS خود را بدون برداشتن و جايگزيني چيپ جديد ، بر روي مادربرد خود نصب کنند. اما در بعضي سيستم ها ممکن است در حالت حفاظت شده قرار گرفته شده باشد و شما بايد قبل از بروز رساني حفاظت آن را غير فعال کنيد ، که معمولا براي اين کار يک جامپر يا يک سوئيچ بر روي مادربرد شده است . مقصود ازحفاظت بايوس اين است که بضي ويروسها ممکن است کد خودشان را بر روي BIOS کپي کنند. حتي بدون استفاده از قفل فيزيکي ، Flash ROM هاي مدرن داراي يک الگوريتم حفاظتي براي جلوگيري از تغييرات بدون مجوز هستند.
بايد توجه داشته بايد هنگامي که در حال بروزرساني BIOS هستيد ، کامپيوتر را خامش نکنيد و وقفه اي در کار سيستم رخ ندهد و گرنه BIOS سيستم خود را از دست خواهيد داد و اين بدين معني است که شما قادر به راه اندازي مجد دسيستم نخواهيد بود و يا حداقل به راحتي قادر به بازيابي BIOS سيستم نخواهيد بود . در مادربردهاي جديد يک برنامه مخصوص بازيابي BIOS وجود دارد که مربوط به قسمتي از Flash ROM است که نيز قابل پاک شدن مي باشد .
سيستم BIOS و پارتيشن IML :
شرکت هاي IBM و Compaq از يک روش شبيه به Flash ROM استفاده مي کنند که "بارگذاري ميکرو کد آغازين IML" نام دارد که در برخي سيستم هاي Pentium و 486 به کار برده شده است.

اين تکنيک اجازه مي دهد تا يک BIOS توزيع شده بر روي هارد ديسک داشته باشيم . همراه با کد BIOS يک کپي کامل از SETUP و مشخصات و مراجع ديسک در اين پارتيشن ذخيره مي شود.
يکي از معايب اين سيستم اين است که بر روي هارد ديسک نصب شده و سيستم بدون تنظيمات ذخيره شده بر روي هارد ديسک کاملا راه اندازي نمي شود و شما نمي توانيد سيستم را به وسيله فلاپي ديسک راه اندازي کنيد.
آدرسهاي CMOS RAM مادربرد :
در سيستم هاي AT يک چيپ 146818 موتورلا به عنوان يک

توجه داشته باشيد که در سيستمهاي جديد بيشتر از 64 بايت CMOS RAM وجود دارد . در حقيقت بسياري از سيستم ها ممکن است 2 يا 4 کيلو بايت داشته باشند ، که اين حافظه اضافي براي ذخيره سازي جزئيات اطلاعات Plug-and-Play کارتهاي وفق دهنده و ديگر انتخابات سيستم مي باشد.
نرم افزارهاي پشتيباني و يوتيليتي ها در محدوده اطلاعات عمومي CMOS RAM هستند و از اين طريق مي توانند در ذخيره سازي و بازگرداندن پيکربندي سيستم موثر واقع شوند ، اما متاسفانه اين برنامه ها براي BIOS هاي خاص نوشته شده اند و فقط بر روي همان BIOS کار مي کنند.

عموما نصب و پيکر بندي دستگاهها بر روي يک PC کار مشکلي است ، در طول نصب کاربر با مساله جديدي روبه رو است،اين که بايد پورت I/O و کانال DMA را انتخاب کند . در گذشته کاربران مجبور بودند که جامپرها و سوئيج هاي برروي کارت را براي کنترل تنظيمات تغيير دهند ، که لازمه اين کار شناخت منابع استفاده شده بر روي سيستم است ، و سپس تنظيم کردن منابعي که با دستگاههاي موجود بر روي سيستم تضاد و ناسازگاري نداشته باشند.
تکنولوژي PnP براي جلوگيري از اين مشگلات و فراهم ساختن توانائيهايي براي کاربران در توسعه PC هاي آنان مي باشد ..با استفاده از اين تکنولوژي کاربران کارت مورد نظر را در سيستم جا مي زنند و سيستم به طور اتوماتيک بهترين پيکر بندي را انجام مي دهد .


سيستم توسعه يافته پيکر بندي داده ها (ESCD)
سيستم عامل Plug-and-Play
بايوس PnP شروع به پيکر بندي کارت PnP در طول پردازش راه اندازي سيستم مي کند . اگر کارت قبلا نصب شده باشد بايوس اطلاعات را از ESCD مي خواند و کارت را مقدار دهي اوليه مي کند و سيستم را راه اندازي مي نمايد ..در طول نصب يک کارت PnP جديد ، بايوس براي تععين اينکه کدام منابع استفاده نشده اند و براي اضافه کردن کارت لازم هستند به ESCD مراجعه مي نمايد ..اگر بايوس بتواند منابع لازم را پيدا کند ، کارت را پيکر بندي مي کند و در غير اين صورت روالهاي Plug-and-Play در سيستم عامل کار پيکربندي را کامل مي کنند . در طول روال پيکر بندي رجيسترهاي Flash BIOS بر روي کارت و همچنين ESCD توسط داده هاي جديد پيکر بندي به روز رساني مي شوند .
IML تکنيکي است که کد BIOS بر روي يک پارتيشن سيستمي و مخفي بر روي هارد ديسک نصب مي شود و هر گاه که سيستم روشن ميشود ، بارگذاري مي شود البته در اين سيستم ها هنوز BIOS اصلي وجود دارد ، اما تمام عمليات از BIOS ذخيره شده در هارد ديسک انجام ميشود. RTC (Real-Time Clock)و ) (Complementarry Metal-Oxide Semicondector CMOS RAM استفاده شده است . اين يک چيپ مخصوص ساده است که داراي يک ساعت ديجيتالي ساده است که 10 بايت از آدرس حافظه براي ساعت و 54 بايت اضافي براي ذخيره هر چيزي که بخواهيد . IBM AT 5 بايت اضافي براي ذخيره پيکربندي سيستم استفاده مي کنند . اما در سيستمهاي جديد از اين چيپ موتورلا استفاده نشده است ، در عوض عمليات اين چيپ به چيپ Super I/O يا South Bridge ضميمه شده است يا از يک باتري مخصوص و يک NVRAM استفاده مي کنند . PnP از سه جزء مهم تشکيل شده است : Plug-and-Play BIOS Plug-and-Play BIOS :
BOIS در حقيقت نرم افزار را به سخت افزار متصل مي نمايد . قسمتي از بايوس بر روي چيپست ROM مادربرد و قسمتي ديگر بر روي چيپست کارتهاي وفق دهنده قرار دارد که FIRE WARE (يعني ميانه افزار يا سفت افزار) ناميده ميشود . 1-ROM BIOS نصب شده بر روي مادر برد. BIOS و CMOS RAM BOIS مادربرد : ROM به حافظه غير فرار نيز معروف است ، زيرا هر داده اي که در آن ذخيره شود با قطع برق سيستم پاک نمي شود . توجه داشته باشيد که RAM و ROM تناقضي با يکديگر ندارند . ROM Shadowing: PROM: EPROM: EPROM/Flash ROM : Phonix SoftWare , American Magatrends ..Inc (AMI) , Award SoftWare