همه مادربردها شامل يک چيپ مخصوص هستند که بر روي آن نرم افزاري قرار دارد که BIOS يا ROM BIOS ناميده مي شود . اين چيپ ROM شامل برنامه هاي راه اندازي و گرداننده هايي است که که در هنگام راه اندازي سيستم مورد نياز است و يک واسطه به سخت افزار پايه سيستم است .
اغلب به CMOS RAM (حافظه پاک نشدني NVRAM(Non-Volatile نيز مي گويند ، چون با 1 ميلينيوم آمپر فعال مي شود و تا هنگامي که باطري ليتيوم فعال باشد ، داده ها باقي مي مانند.
BIOS مجموعه اي از برنامه هايي است که در يک يا چند چيپ ذخيره شده است ، که در طول راه اندازي سيستم اين مجموعه از برنامه ها قبل از هر برنامه اي حتي سيستم عامل بارگذاري مي شوند .
BIOS در اکثر سيستمهاي PC ها شامل چهار تابع است:
POST(Power Self On) Test: اين برنامه پردازنده، حافظه ،چيپستها ،وفق دهنده ويدوئويي ، ديسک کنترلر ،گرداننده هاي ديسکي ،صفحه کليد ،و مدارات ديگر را تست مي کند.
BIOS Setup: برنامه اي است که در طول اجراي برنامه POST بافشار دادن کليد خاصي فعال مي شود و به شما اجازه مي دهد مادربرد را پيکربندي کنيد و تنظيم پارامترهايي همانند ساعت و تاريخ و پسورد و ... را انجام دهيد. در سيستمهاي 286 و 386 برنامه Setup در ROM آنها وجود ندارد و لازم است که شما سيستم را توسط ديسک مخصوص Setup راه اندازي نمائيد.
بارگذارکننده يا لودر BootStrap :روالي است که سيستم ار براي پيدا کردن سکتور Boot جستجو مي کند .
BIOS: که مجموعه اي از گرداننده هايي است که واسط بين سخت افزار و سيستم عامل است.
سخت افزار ROM:
ROM نوعي از حافظه است که که داده ها را به طور دائم يا غير دائم نگهداري مي کند .به آن فقط خواندني مي گويند زيرا يک بار بر روي آن مي نويسند و بارها آنرا مي خوانند و اگر دوباره قابل نوشتن باشد بسيار دشوار است ..
ROM به حافظه غير فرار نيز معروف است ، زيرا هر داده اي که در آن ذخيره شود با قطع برق سيستم پاک نمي شود . توجه داشته باشيد که RAM و 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 مادربرد استفاده مي شود.
ROM Shadowing:
چيپهاي 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 نيز مي نامند.
PROM:
اين چيپها که از نوع 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) يا برنامه ريز گروهي نيز مي گويند. و مي تواند چندين چيپ را در هر بار برنامه ريزي کند.
نرم افزار BIOS دارای وظایف متعددی است . ولی بدون شک مهمترین وظیفه آن استقرار سیستم عامل در حافظه است . زمانیکه کامپیوتر روشن و ریزپردازنده سعی در اجرای اولین دستورالعمل های خود را داشته باشد ، می بایست دستورالعمل های اولیه از مکان دیگر در اختیار آن گذاشته شوند ( در حافظه اصلی کامپیوتر هنوز اطلاعاتی قرار نگرفته است ) دستورالعمل های مورد نظر را نمی توان از طریق سیستم عامل در اختیار پردازنده قرار داد، چرا که هنوز سیستم عامل در حافظه مستقر نشده و همچنان بر روی هارد دیسک است.
یکی از متداولترین موارد کاربرد حافظه های Flash ، استفاده از آنان در BIOS)Basic Input/Output System) است. BIOS این اطمینان را به عناصر سخت افزاری نظیر : تراشه ها ، هارد یسک ، پورت ها ، پردازنده و ... خواهد داد که بدرستی عملیات خود را در کنار یکدیگر انجام دهند.
هر کامپیوتر ( شخصی ، دستی ) دارای یک ریزپردازنده بعنوان واحد پردازشگر مرکزی است. ریزپردازنده یک المان سخت افزاری است. بمنظور الزام پردازنده برای انجام یک عملیات خاص، می بایست مجموعه ای از دستورالعمل ها که نرم افزار نامیده می شوند نوشته شده و در اختیار پردازنده قرار گیرد. از دو نوع نرم افزار استفاده می گردد.
- سیستم عامل : سیستم عامل مجموعه ای از خدمات مورد نیاز برای اجرای یک برنامه را فراهم می نماید. ویندوز ۹۸ ، ۲۰۰۰ و یا لینوکس نمونه هائی از سیستم های عامل می باشند.
- برنامه های کاربردی : برنامه های کاربردی نرم افزارهائی هستند که بمنظور تامین خواسته های خاصی طراحی و در اختیار کاربران گذاشته می شوند. برنامه هائی نظیر : Word ، Excel و ... نمونه هائی از این نوع نرم افزارها می باشند.
BIOS در حقیقت نوع سومی از نرم افزارها بوده که کامپیوتر بمنظور عملکرد صحیح خود به آن نیاز خواهد داشت.
خدمات ارائه شده توسط BIOS
نرم افزار BIOS دارای وطایف متعددی است، ولی بدون شک مهمترین وظیفه آن استقرار سیستم عامل در حافظه است. زمانیکه کامپیوتر روشن و ریزپردازنده سعی در اجرای اولین دستورالعمل های خود را داشته باشد، می بایست دستورالعمل های اولیه از مکان دیگری در اختیار آن گذاشته شوند ( در حافظه اصلی کامپیوتر هنوز اطلاعاتی قرار نگرفته است ). دستورالعمل های مورد نظر را نمی توان از طریق سیستم عامل در اختیار پردازنده قرار داد چرا که هنوز سیستم عامل در حافظه مستقر نشده و همچنان بر روی هارد دیسک است. مشکل اینجاست که می بایست با استفاده از روشهائی به پردازنده اعلام گردد که سیستم عامل را به درون حافظه مستقر نموده تا در ادامه زمینه استفاده از خدمات سیستم عامل فراهم گردد. BIOS دستورالعمل های لازم را در این خصوص ارائه خواهد کرد. برخی از خدمات متداول که BIOS ارائه می دهد ، بشرح زیر می باشد:
- یک برنامه تست با نام POST بمنظور بررسی صحت عملکرد عناصر سخت افراری
- فعال کردن تراشه های BIOS مربوط به سایر کارت های نصب شده در سیستم نظیر : کارت گرافیک و یا کنترل کننده SCSI
- مدیریت مجموعه ای از تنظیمات در رابطه با هارد دیسک،Clock و ...
BIOS ، یک نرم افزار خاص است که بعنوان اینترفیس ( میانجی ) بین عناصر اصلی سخت افزارهای نصب شده بر روی سیستم و سیستم عامل ایفای وظیفه می نماید. نرم افزار فوق اغلب در حافظه هائی از نوع Flash و بصورت یک تراشه بر روی برد اصلی نصب می گردد. در برخی حالات تراشه فوق یک نوع خاص از حافظه ROM خواهد بود.
زمانیکه کامپیوتر روشن می گردد BIOS عملیات متفاوتی را انجام خواهد داد:
- بررسی محتویات CMOS برای آگاهی از تنظیمات خاص انجام شده
- لود کردن درایورهای استاندارد و Interrupt handlers
- مقدار دهی اولیه ریجسترها و مدیریت Power
- اجرای برنامه POST بمنظور اطمینان از صحت عملکرد عناصر سخت افزاری
- تشخیص درایوی که سیستم می بایست از طریق آن راه اندازی (Booting) گردد.
- مقدار دهی اولیه برنامه مربوط به استقرار سیستم عامل در حافظه (Bootstrap)
اولین موردی را که BIOS بررسی خواهد کرد، اطلاعات ذخیره شده در یک نوع حافظه RAM با ظرفیت ۶۴ بایت است . اطلاعات فوق بر روی تراشه ای با نام CMOS)Complementry metal oxid semiconductor) ذخیره می گردند. CMOS شامل اطلاعات جزئی در رابطه با سیستم بوده و درصورت بروز هر گونه تغییردر سیستم، اطلاعات فوق نیز تغییر خواهند کرد. BIOS از اطلاعات فوق بمنظور تغییر و جایگزینی مقادیر پیش فرض خود استفاده می نماید.
Interrupt handlers نوع خاصی از نرم افزار بوده که بعنوان یک مترجم بین عناصر سخت افزاری و سیستم عامل ایفای وظیفه می نماید. مثلا زمانیکه شما کلیدی را برروی صفحه کلید فعال می نمائید، سیگنال مربوطه، برای Interrupt handler صفحه کلید ارسال شده تا از این طریق به پردازنده اعلام گردد که کدامیک از کلیدهای صفحه کلید فعال شده اند.
درایورها یک نوع خاص دیگر از نرم افزارها بوده که مجموعه عملیات مجاز بر روی یک دستگاه را تبین و راهکارهای ( توابع ) مربوطه را ارائه خواهند. اغلب دستگاه های سخت افزاری نظیر: صفحه کلید، موس ، هارد و فلاپی درایو دارای درایورهای اختصاصی خود می باشند. با توجه به اینکه BIOS بصورت دائم با سیگنال های ارسالی توسط عناصر سخت افزاری مواجه است ، معمولا" یک نسخه از آن در حافظه RAM تکثیر خواهد شد.
راه اندازی ( بوتینگ، Booting) کامپیوتر
پس از روشن کردن کامپیوتر، BIOS بلافاصله عملیات خود را آغاز خواهد کرد. در اغلب سیستم ها ، BIOS در زمان انجام عملیات مربوطه پیام هائی را نیز نمایش می دهد ( میزان حافظه، نوع هارد دیسک و ...) بمنظور آماده سازی کامپیوتر برای ارائه خدمات به کاربران، BIOS مجموعه ای از عملیات را انجام می دهد. پس از بررسی و آگاهی از تنظیمات موجود در CMOS و استقرار Interrupt handler در حافظه RAM ، کارت گرافیک بررسی می گردد. اغلب کارت های گرافیک ، دارای BIOS اختصاصی بوده که حافظه و پردازنده مربوط به کارت گرافیک را مقدار دهی اولیه می نماید. در صورتیکه BIOS اختصاصی برای کارت گرافیک وجود نداشته باشد از درایور استانداری که در ROM ذخیره شده است ، استفاده و درایو مربوطه فعال خواهد شد ( درایور استاندارد کارت گرافیک ) در ادامه BIOS نوع راه اندازی ( راه اندازی مجدد (Rebbot) و یا راه اندازی اولیه (Cold Boot ) را تشخیص خواهد داد .برای تشخیص موضوع فوق، از محتویات آدرس ۰۰۰۰:۰۴۷۲ حافظه استفاده می گردد. در صورتیکه در آدررس فوق مقدار ۱۲۳h موجود باشد، بمنزله راه اندازی مجدد بوده و برنامه BOIS بررسی صحت عملکرد حافظه را انجام نخواهد داد. در غیر اینصورت ( در صورت وجود هر مقدار دیگر در آدرس فوق ) یک راه اندازی اولیه تلقی می گردد. در این حالت بررسی صحت عملکرد و سالم بودن حافظه انجام خواهد شد. در ادامه پورت های سریال و USB برای اتصال صفحه کلید وموس بررسی خواهند شد. در مرحله بعد کارت های PCI نصب شده بر روی سیستم بررسی می گردند. در صورتیکه در هر یک از مراحل فوق BIOS با اشکالی برخورد نماید با نواختن چند Beep معنی دار، مورد خطاء را اعلام خواهد کرد. خطاهای اعلام شده اغلب به موارد سخت افزار سیستم مربوط می گردد.
برنامه BIOS اطلاعاتی در رابطه با نوع پردازنده ، فلاپی درایو ، هارد دیسک ، حافظه تاریخ و شماره ( ورژن ) برنامه BIOS ، نوع صفحه نمایشگر را نمایش خواهد داد. در صورتیکه بر روی سیستم از آداپتورهای SCSI استفاده شده باشد ، BIOS درایور مربوطه آن رااز BIOS اختصاصی آداپتور فعال و BIOS اختصاصی اطلاعاتی را در رابطه با آداپتور SCSI نمایش خواهد داد. در ادامه برنامه BIOS نوع درایوی را که می بایست فرآیند انتقال سیستم عامل از آن آغاز گردد را تشخیص خواهد داد. برای دستیابی به هدف فوق از تنظیمات موجود در CMOS استفاده می گردد. اولویت درایو مربوطه برای بوت سیستم متغیر و به نوع سیستم بستگی دارد. اولویت فوق می تواند شامل مواردی نظیر : A,C,CD و یا C,A,CD و ... باشد.(A نشاندهنده فلاپی درایو C نشاندهنده هارددیسک و CD نشاندهنده درایو CD-ROM است ) در صورتیکه درایو مشخص شده شامل برنامه های سیستم عامل نباشد پیام خطائی نمایش داده خواهد شد. (Non System disk or disk error )
پیکربندی BIOS
در بخش قبل اشاره گردید که BIOS در موارد ضروری از تنظیمات ذخیره شده در CMOS استفاده می نماید. برای تغییر دادن تنظیمات مربوطه می بایست برنامه پیکربندی CMOS فعال گردد. برای فعال کردن برنامه فوق می بایست در زمان راه اندازی سیستم کلیدهای خاصی را فعال تا زمینه استفاده از برنامه فوق فراهم گردد. در اغلب سیستم ها بمنظور فعال شدن برنامه پیکربندی کلید Esc یا Del یا F۱ یا F۲ یا Ctrl-Esc یا Ctrl-Alt-Esc را می بایست فعال کرد.( معمولا" در زمان راه اندازی سیستم نوع کلیدی که فشردن آن باعث فعال شدن برنامه پیکربندی می گردد، بصورت یک پیام بر روی صفحه نمایشگر نشان داده خواهد شد ) پس از فعال شدن برنامه پیکربندی با استفاده از مجموعه ای از گزینه های می توان اقدام به تغییر پارامترهای مورد نظر کرد. تنظیم تاریخ و زمان سیستم ، مشخص نمودن اولویت درایو بوت، تعریف یک رمز عبور برای سیستم ، پیکربندی درایوها ( هارد، فلاپی ، CD) و ... نمونه هائی از گزینه های موجود در این زمینه می باشند. در زمان تغییر هر یک از تنظیمات مربوطه در CMOS می بایست دقت لازم را بعمل آورد چراکه در صورتیکه عملیات فوق بدرستی انجام نگیرد اثرات منفی بر روی سیستم گذاشته و حتی در مواردی باعث اختلال در راه اندازی سیستم خواهد شد.
BIOS از تکنولوژی CMOS بمنظور ذخیره کردن تنظیمات مربوطه استفاده می نماید . در این تکنولوژی یک باتری کوچک لیتیوم انرژی(برق) لازم برای نگهداری اطلاعات بمدت چندین سال را فراهم می نماید
ارتقاء برنامه BIOS
تغییر برنامه BIOS بندرت انجام می گیرد. ولی در مواردیکه سیستم قدیمی باشد، ارتقاء BIOS ضروری خواهد بود.با توجه به اینکه BIOS در نوع خاصی از حافظه ROM ذخیره می گردد، تغییر و ارتقاء آن مشابه سایر نرم افزارها نخواهد بود. بدین منظور به یک برنامه خاص نیاز است . برنامه های فوق از طریق تولید کنندگان کامپیوتر و یا BIOS عرضه می گردند. در زمان راه اندازی سیستم می توان تاریخ ، شماره و نام تولید کننده BIOS را مشاهده نمود. پس از مشخص شدن نام سازنده BIOS ، با مراجعه به وب سایت سازنده ، اطمینان حاصل گردد که برنامه ارتقاء BIOS از طرف شرکت مربوطه عرضه شده است . در صورتیکه برنامه موجود باشد می بایست آن را Download نمود. پس از اخذ فایل( برنامه) مربوطه آن را بر روی دیسکت قرار داده و سیستم را از طریق درایو A ( فلاپی درایو) راه اندازی کرد. در این حالت برنامه موجود بر روی دیسکت، BIOS قدیمی را پاک و اطلاعات جدید را در BIOS می نویسد. در زمان ارتقاء BIOS حتما" می بایست به این نکته توجه گردد که از نسخه ای که کاملا" با سیستم سازگاری دارد، استفاده گردد در غیر اینصورت BIOS با اشکال مواجه شده و امکان راه اندازی سیستم وجود نخواهد داشت .!
نرم افزار BIOS دارای وظایف متعددی است . ولی بدون شک مهمترین وظیفه آن استقرار سیستم عامل در حافظه است . زمانیکه کامپیوتر روشن و ریزپردازنده سعی در اجرای اولین دستورالعمل های خود را داشته باشد ، می بایست دستورالعمل های اولیه از مکان دیگر در اختیار آن گذاشته شوند ( در حافظه اصلی کامپیوتر هنوز اطلاعاتی قرار نگرفته است ) دستورالعمل های مورد نظر را نمی توان از طریق سیستم عامل در اختیار پردازنده قرار داد، چرا که هنوز سیستم عامل در حافظه مستقر نشده و همچنان بر روی هارد دیسک است.
یکی از متداولترین موارد کاربرد حافظه های Flash ، استفاده از آنان در BIOS)Basic Input/Output System) است. BIOS این اطمینان را به عناصر سخت افزاری نظیر : تراشه ها ، هارد یسک ، پورت ها ، پردازنده و ... خواهد داد که بدرستی عملیات خود را در کنار یکدیگر انجام دهند.
هر کامپیوتر ( شخصی ، دستی ) دارای یک ریزپردازنده بعنوان واحد پردازشگر مرکزی است. ریزپردازنده یک المان سخت افزاری است. بمنظور الزام پردازنده برای انجام یک عملیات خاص، می بایست مجموعه ای از دستورالعمل ها که نرم افزار نامیده می شوند نوشته شده و در اختیار پردازنده قرار گیرد. از دو نوع نرم افزار استفاده می گردد.
- سیستم عامل : سیستم عامل مجموعه ای از خدمات مورد نیاز برای اجرای یک برنامه را فراهم می نماید. ویندوز ۹۸ ، ۲۰۰۰ و یا لینوکس نمونه هائی از سیستم های عامل می باشند.
- برنامه های کاربردی : برنامه های کاربردی نرم افزارهائی هستند که بمنظور تامین خواسته های خاصی طراحی و در اختیار کاربران گذاشته می شوند. برنامه هائی نظیر : Word ، Excel و ... نمونه هائی از این نوع نرم افزارها می باشند.
BIOS در حقیقت نوع سومی از نرم افزارها بوده که کامپیوتر بمنظور عملکرد صحیح خود به آن نیاز خواهد داشت.
[عکس: arrow5.gif] خدمات ارائه شده توسط BIOS
نرم افزار BIOS دارای وطایف متعددی است، ولی بدون شک مهمترین وظیفه آن استقرار سیستم عامل در حافظه است. زمانیکه کامپیوتر روشن و ریزپردازنده سعی در اجرای اولین دستورالعمل های خود را داشته باشد، می بایست دستورالعمل های اولیه از مکان دیگری در اختیار آن گذاشته شوند ( در حافظه اصلی کامپیوتر هنوز اطلاعاتی قرار نگرفته است ). دستورالعمل های مورد نظر را نمی توان از طریق سیستم عامل در اختیار پردازنده قرار داد چرا که هنوز سیستم عامل در حافظه مستقر نشده و همچنان بر روی هارد دیسک است. مشکل اینجاست که می بایست با استفاده از روشهائی به پردازنده اعلام گردد که سیستم عامل را به درون حافظه مستقر نموده تا در ادامه زمینه استفاده از خدمات سیستم عامل فراهم گردد. BIOS دستورالعمل های لازم را در این خصوص ارائه خواهد کرد. برخی از خدمات متداول که BIOS ارائه می دهد ، بشرح زیر می باشد:
- یک برنامه تست با نام POST بمنظور بررسی صحت عملکرد عناصر سخت افراری
- فعال کردن تراشه های BIOS مربوط به سایر کارت های نصب شده در سیستم نظیر : کارت گرافیک و یا کنترل کننده SCSI
- مدیریت مجموعه ای از تنظیمات در رابطه با هارد دیسک،Clock و ...
BIOS ، یک نرم افزار خاص است که بعنوان اینترفیس ( میانجی ) بین عناصر اصلی سخت افزارهای نصب شده بر روی سیستم و سیستم عامل ایفای وظیفه می نماید. نرم افزار فوق اغلب در حافظه هائی از نوع Flash و بصورت یک تراشه بر روی برد اصلی نصب می گردد. در برخی حالات تراشه فوق یک نوع خاص از حافظه ROM خواهد بود.
[عکس: arrow5.gif] زمانیکه کامپیوتر روشن می گردد BIOS عملیات متفاوتی را انجام خواهد داد:
- بررسی محتویات CMOS برای آگاهی از تنظیمات خاص انجام شده
- لود کردن درایورهای استاندارد و Interrupt handlers
- مقدار دهی اولیه ریجسترها و مدیریت Power
- اجرای برنامه POST بمنظور اطمینان از صحت عملکرد عناصر سخت افزاری
- تشخیص درایوی که سیستم می بایست از طریق آن راه اندازی (Booting) گردد.
- مقدار دهی اولیه برنامه مربوط به استقرار سیستم عامل در حافظه (Bootstrap)
اولین موردی را که BIOS بررسی خواهد کرد، اطلاعات ذخیره شده در یک نوع حافظه RAM با ظرفیت ۶۴ بایت است . اطلاعات فوق بر روی تراشه ای با نام CMOS)Complementry metal oxid semiconductor) ذخیره می گردند. CMOS شامل اطلاعات جزئی در رابطه با سیستم بوده و درصورت بروز هر گونه تغییردر سیستم، اطلاعات فوق نیز تغییر خواهند کرد. BIOS از اطلاعات فوق بمنظور تغییر و جایگزینی مقادیر پیش فرض خود استفاده می نماید.
Interrupt handlers نوع خاصی از نرم افزار بوده که بعنوان یک مترجم بین عناصر سخت افزاری و سیستم عامل ایفای وظیفه می نماید. مثلا زمانیکه شما کلیدی را برروی صفحه کلید فعال می نمائید، سیگنال مربوطه، برای Interrupt handler صفحه کلید ارسال شده تا از این طریق به پردازنده اعلام گردد که کدامیک از کلیدهای صفحه کلید فعال شده اند.
درایورها یک نوع خاص دیگر از نرم افزارها بوده که مجموعه عملیات مجاز بر روی یک دستگاه را تبین و راهکارهای ( توابع ) مربوطه را ارائه خواهند. اغلب دستگاه های سخت افزاری نظیر: صفحه کلید، موس ، هارد و فلاپی درایو دارای درایورهای اختصاصی خود می باشند. با توجه به اینکه BIOS بصورت دائم با سیگنال های ارسالی توسط عناصر سخت افزاری مواجه است ، معمولا" یک نسخه از آن در حافظه RAM تکثیر خواهد شد.
[عکس: arrow5.gif] راه اندازی ( بوتینگ، Booting) کامپیوتر
پس از روشن کردن کامپیوتر، BIOS بلافاصله عملیات خود را آغاز خواهد کرد. در اغلب سیستم ها ، BIOS در زمان انجام عملیات مربوطه پیام هائی را نیز نمایش می دهد ( میزان حافظه، نوع هارد دیسک و ...) بمنظور آماده سازی کامپیوتر برای ارائه خدمات به کاربران، BIOS مجموعه ای از عملیات را انجام می دهد. پس از بررسی و آگاهی از تنظیمات موجود در CMOS و استقرار Interrupt handler در حافظه RAM ، کارت گرافیک بررسی می گردد. اغلب کارت های گرافیک ، دارای BIOS اختصاصی بوده که حافظه و پردازنده مربوط به کارت گرافیک را مقدار دهی اولیه می نماید. در صورتیکه BIOS اختصاصی برای کارت گرافیک وجود نداشته باشد از درایور استانداری که در ROM ذخیره شده است ، استفاده و درایو مربوطه فعال خواهد شد ( درایور استاندارد کارت گرافیک ) در ادامه BIOS نوع راه اندازی ( راه اندازی مجدد (Rebbot) و یا راه اندازی اولیه (Cold Boot ) را تشخیص خواهد داد .برای تشخیص موضوع فوق، از محتویات آدرس ۰۰۰۰:۰۴۷۲ حافظه استفاده می گردد. در صورتیکه در آدررس فوق مقدار ۱۲۳h موجود باشد، بمنزله راه اندازی مجدد بوده و برنامه BOIS بررسی صحت عملکرد حافظه را انجام نخواهد داد. در غیر اینصورت ( در صورت وجود هر مقدار دیگر در آدرس فوق ) یک راه اندازی اولیه تلقی می گردد. در این حالت بررسی صحت عملکرد و سالم بودن حافظه انجام خواهد شد. در ادامه پورت های سریال و USB برای اتصال صفحه کلید وموس بررسی خواهند شد. در مرحله بعد کارت های PCI نصب شده بر روی سیستم بررسی می گردند. در صورتیکه در هر یک از مراحل فوق BIOS با اشکالی برخورد نماید با نواختن چند Beep معنی دار، مورد خطاء را اعلام خواهد کرد. خطاهای اعلام شده اغلب به موارد سخت افزار سیستم مربوط می گردد.
برنامه BIOS اطلاعاتی در رابطه با نوع پردازنده ، فلاپی درایو ، هارد دیسک ، حافظه تاریخ و شماره ( ورژن ) برنامه BIOS ، نوع صفحه نمایشگر را نمایش خواهد داد. در صورتیکه بر روی سیستم از آداپتورهای SCSI استفاده شده باشد ، BIOS درایور مربوطه آن رااز BIOS اختصاصی آداپتور فعال و BIOS اختصاصی اطلاعاتی را در رابطه با آداپتور SCSI نمایش خواهد داد. در ادامه برنامه BIOS نوع درایوی را که می بایست فرآیند انتقال سیستم عامل از آن آغاز گردد را تشخیص خواهد داد. برای دستیابی به هدف فوق از تنظیمات موجود در CMOS استفاده می گردد. اولویت درایو مربوطه برای بوت سیستم متغیر و به نوع سیستم بستگی دارد. اولویت فوق می تواند شامل مواردی نظیر : A,C,CD و یا C,A,CD و ... باشد.(A نشاندهنده فلاپی درایو C نشاندهنده هارددیسک و CD نشاندهنده درایو CD-ROM است ) در صورتیکه درایو مشخص شده شامل برنامه های سیستم عامل نباشد پیام خطائی نمایش داده خواهد شد. (Non System disk or disk error )
[عکس: arrow5.gif] پیکربندی BIOS
در بخش قبل اشاره گردید که BIOS در موارد ضروری از تنظیمات ذخیره شده در CMOS استفاده می نماید. برای تغییر دادن تنظیمات مربوطه می بایست برنامه پیکربندی CMOS فعال گردد. برای فعال کردن برنامه فوق می بایست در زمان راه اندازی سیستم کلیدهای خاصی را فعال تا زمینه استفاده از برنامه فوق فراهم گردد. در اغلب سیستم ها بمنظور فعال شدن برنامه پیکربندی کلید Esc یا Del یا F۱ یا F۲ یا Ctrl-Esc یا Ctrl-Alt-Esc را می بایست فعال کرد.( معمولا" در زمان راه اندازی سیستم نوع کلیدی که فشردن آن باعث فعال شدن برنامه پیکربندی می گردد، بصورت یک پیام بر روی صفحه نمایشگر نشان داده خواهد شد ) پس از فعال شدن برنامه پیکربندی با استفاده از مجموعه ای از گزینه های می توان اقدام به تغییر پارامترهای مورد نظر کرد. تنظیم تاریخ و زمان سیستم ، مشخص نمودن اولویت درایو بوت، تعریف یک رمز عبور برای سیستم ، پیکربندی درایوها ( هارد، فلاپی ، CD) و ... نمونه هائی از گزینه های موجود در این زمینه می باشند. در زمان تغییر هر یک از تنظیمات مربوطه در CMOS می بایست دقت لازم را بعمل آورد چراکه در صورتیکه عملیات فوق بدرستی انجام نگیرد اثرات منفی بر روی سیستم گذاشته و حتی در مواردی باعث اختلال در راه اندازی سیستم خواهد شد.
BIOS از تکنولوژی CMOS بمنظور ذخیره کردن تنظیمات مربوطه استفاده می نماید . در این تکنولوژی یک باتری کوچک لیتیوم انرژی(برق) لازم برای نگهداری اطلاعات بمدت چندین سال را فراهم می نماید
[عکس: arrow5.gif] ارتقاء برنامه BIOS
تغییر برنامه BIOS بندرت انجام می گیرد. ولی در مواردیکه سیستم قدیمی باشد، ارتقاء BIOS ضروری خواهد بود.با توجه به اینکه BIOS در نوع خاصی از حافظه ROM ذخیره می گردد، تغییر و ارتقاء آن مشابه سایر نرم افزارها نخواهد بود. بدین منظور به یک برنامه خاص نیاز است . برنامه های فوق از طریق تولید کنندگان کامپیوتر و یا BIOS عرضه می گردند. در زمان راه اندازی سیستم می توان تاریخ ، شماره و نام تولید کننده BIOS را مشاهده نمود. پس از مشخص شدن نام سازنده BIOS ، با مراجعه به وب سایت سازنده ، اطمینان حاصل گردد که برنامه ارتقاء BIOS از طرف شرکت مربوطه عرضه شده است . در صورتیکه برنامه موجود باشد می بایست آن را Download نمود. پس از اخذ فایل( برنامه) مربوطه آن را بر روی دیسکت قرار داده و سیستم را از طریق درایو A ( فلاپی درایو) راه اندازی کرد. در این حالت برنامه موجود بر روی دیسکت، BIOS قدیمی را پاک و اطلاعات جدید را در BIOS می نویسد. در زمان ارتقاء BIOS حتما" می بایست به این نکته توجه گردد که از نسخه ای که کاملا" با سیستم سازگاری دارد، استفاده گردد در غیر اینصورت BIOS با اشکال مواجه شده و امکان راه اندازی سیستم وجود نخواهد داشت .!