صرفنظر از اين که کامپيوتر شما چگونه توليد شده است و يا نرم افزارهای نصب شده بر روی آن چگونه نوشته شده اند ، همواره احتمال بروز خطاء وجود داشته و ممکن است در آن لحظه امکان دسترسی به کارشناسان برای تشخيص خطاء و رفع مشکل وجود نداشته باشد . آشنائی با فرآيند عيب يابی و برخورد منطقی و مبتنی بر علم با اين مقوله می تواند علاوه بر کاهش هزينه ها،صرفه جوئی در مهمترين منبع حيات بشری يعنی زمان را نيز بدنبال داشته باشد .
نرم افزارهای عيب يابی از جمله امکانات موجود و در عين حال بسيار مهم در اين زمينه بوده که می توان از آنان به منظور عيب يابی يک کامپيوتر استفاده نمود .
نرم افزارهای عيب يابی
برای عيب يابی کامپيوترهای شخصی تاکنون نرم افزارهای عيب يابی متفاوتی ارائه شده است . برخی از اينگونه نرم افزارها درون سخت افرار کامپيوترهای شخصی ، برخی ديگر درون تجهيزات جانبی ( نظير کارت های الحاقی ) ، تعدادی ديگر به همراه سيستم عامل و برخی ديگر به عنوان محصولات نرم افزاری مجزائی عرضه شده اند .
- POST ( اقتباس شده از Power On Self Test ) : برنامه فوق پس از روشن کردن هر نوع کامپيوتر شخصی به صورت اتوماتيک اجراء می گردد . روتين های فوق درون حافظه ROM مادربرد و ROM موجود بر روی کارت های الحاقی ذخيره می گردند.
- نرم افزارهای عيب يابی ارائه شده توسط يک توليد کننده خاص : تعداد زيادی از توليد کنندگان معتبر کامپيوتر به منظور عيب يابی کامپيوترهای توليدی خود ، اقدام به پياده سازی و عرضه نرم افزارهای عيب يابی مختص سيستم های خود می نمايند .
- نرم افزارهای عيب يابی جانبی : به همراه تعداد زيادی از دستگاه های سخت افزاری ، نرم افزارهای عيب يابی خاصی ارائه می شود که می توان از آنان به منظور تست صحت عملکرد سخت افزار مورد نظر استفاده نمود . به عنوان نمونه آداپتورهای SCSI دارای يک برنامه عيب يابی می باشند که درون حافظه ROM BIOS کارت تعبيه و با فشردن کليدهای ctrl+A در زمان راه اندازی سيستم، امکان دستيابی و استفاده از آن وجود خواهد داشت . کارت های صدا و شبکه نيز معمولا” به همراه يک برنامه عيب يابی ارائه می گردند که می توان از آنان درجهت تشخيص صحت عملکرد وظايف محوله هر کارت استفاده بعمل آورد .
- نرم افزارهای عيب يابی ارائه شده توسط سيستم عامل : به همراه سيستم های عامل (نظير ويندوز) ، نرم افزارهای عيب يابی متعددی ارائه شده است که می توان از آنان به منظور شناسائی و مونيتورينگ کارآئی و عملکرد هر يک از عناصر سخت افزاری موجود در کامپيوتر استفاده نمود .
- نرم افزارهای عيب يابی آماده : تعدادی از توليد کنندگان نرم افزار به منظور عيب يابی کامپيوترهای شخصی اقدام به ارائه نرم افزارهای عيب يابی همه منظوره ای نموده اند. هر يک از نرم افزارهای فوق دارای پتانسيل های مختص به خود بوده که می توان با توجه به خواسته خود از آنان استفاده نمود .
برنامه عيب يابی POST
زمانی که شرکت آی.بی. ام در سال 1981 اولين کامپيوترهای شخصی را ارائه نمود در آنان از ويژگی هائی استفاده شده بود که قبلا” مشابه آنان در ساير کامپيوترها به خدمت گرفته نشده بود . استفاده از برنامه ای موسوم به POST و Parity-checked حافظه ، نمونه هائی در اين زمينه می باشند . پس از روشن کردن هر نوع کامپيوتری درابتدا و قبل از هر چيز ديگر ( نظير استقرار سيستم عامل درون حافظه ) ، برنامه POST به منظور بررسی تست صحت عملکرد عناصر اصلی سخت افزار موجود در يک کامپيوتر اجراء خواهد شد .
POST ، مشتمل بر مجموعه ای از دستورالعمل های ذخيره شده در تراشه ROM-BIOS مادربرد است که مسئوليت تست تمامی عناصر اصلی در زمان روشن کردن کامپيوتر را برعهده دارد . برنامه فوق قبل از استقرار هرگونه نرم افزار در حافظه ، اجراء خواهد شد .
برنامه POST چه چيزی را تست می نمايد ؟
پس از روشن کردن کامپيوتر، برنامه POST به صورت اتوماتيک اجراء و مجموعه ای از تست های لازم به منظور بررسی صحت عملکرد عناصر اصلی در کامپيوتر را انجام می دهد. تست حافظه ، پردازنده ، حافظه ROM ، مدارات حمايتی برداصلی و تجهيزات جانبی نظير اسلات های موجود بر روی برد اصلی ، نمونه هائی در اين زمينه بوده که توسط برنامه POST تست خواهند شد . اندازه برنامه POST بسيار کم بوده و صرفا” قادر به تشخيص خطاهای بحرانی می باشد . در صورتی که پس از انجام هر يک از تست های انجام شده توسط برنامه POST مشکل خاصی تشخيص داده شود ، پيام های خطاء و يا هشداردهنده ای که نشاندهنده نوع خطاء است ، ارائه می گردد . پيامد وجود هر گونه خطاء در اين مرحله ، توقف فرآيند معروف بوتينگ ( استقرار سيستم عامل درون حافظه ) خواهد بود . خطاهائی که توسط برنامه POST تشخيص داده می شوند را fatal error نيز می گويند چراکه عملا” توقف فرآيند بوتينگ را بدنبال خواهند داشت .
نحوه نمايش نوع خطاء
ماحصل اجرای برنامه POST ، ارائه سه نوع پيام خروجی است : کدهای صوتی ، کدهای مبنای شانزده که برروی يک پورت I/O با يک آدرس خاص ارسال می گردد و پيام های مبتنی بر متن که بر روی نمايشگر نمايش داده می شوند . برای گزارش خطاهای تشخيص داده شده توسط برنامه POST از سه روش زير استفاده می گردد :
- کدهای صوتی ( Beep Codes ) : کدهای فوق از طريق بلندگوی سيستم قابل شنيدن می باشند .
- کدهای Checkpoint : کدهای فوق ، کدهای مبنای شانزده checkpoint می باشند که برای يک پورت I/O با يک آدرس خاص ارسال می گردند . برای مشاهده کدهای فوق به يک برد خاص نصب شده در يکی از اسلات های ISA و يا PCI نياز می باشد .
- پيام های نمايش داده شده بر روی نمايشگر : پيام های خطاء فوق صرفا” پس از مقداردهی اوليه آداپتور ويدئو قابل نمايش بر روی نمايشگر و استفاده خواهند بود .
کدهای صوتی برنامه POST
از کدهای فوق صرفا” برای اعلام خطاهای بحرانی استفاده می گردد . خطاهای فوق در ابتدای فرآيند راه اندازی کامپيوتر و زمانی که هنوز کارت ويدئو و ساير سخت افزارها وارد مدار عملياتی نشده اند ، محقق می گردند . با توجه به اين که در اين مقطع نمايشگر در دسترس نمی باشد ، کد مربوط به هر يک از خطاهای موجود به صورت مجموعه ای beep مشخص می گردد . در صورتی که ماحصل اجرای برنامه POST موفقيت آميز بوده و مشکل خاصی وجود نداشته باشد ، پس از اتمام برنامه POST ، صرفا” يک صدای beep قابل شنيدن خواهد بود . در برخی سيستم ها ( نظير کامپيوترهای کامپک ) پس از اتمام موفقيت آميز برنامه POST دو مرتبه beep نواخته می شود . در صورتی که تست صحت عملکرد برخی عناصر با موفقيت توام نباشد ، برای اعلام نوع خطاء تعداد مشخصی beep که ممکن است کوتاه و يا بلند و يا ترکيبی از هر دو باشد ، نواخته می گردد .
کدهای Checkpoint مربوط به برنامه POST
کدهای فوق ، اعداد مبنای شانزدهی می باشند که توسط روتين های برنامه POST بر روی يک پورت I/O با يک آدرس خاص ( مثلا” آدرس 80h ) نوشته می گردند . به کدهای فوق ، کدهای POST نيز گفته شده و امکان مشاهده و خواندن آنان صرفا” با نصب آدپتورهای خاصی در يکی از اسلات های سيستم ، فراهم می گردد . آداپتورهای فوق در ابتدا توسط توليد کنندگان مادر برد و به منظور تست سخت افزارهای توليدی استفاده می گرديد . در ادامه شرکت های متعددی ( نظير ميکرو 200 و 2000 ، JDR Microdevice ) با توليد اينگونه کارت ها امکان استفاده از آنان را برای ساير تکنسين ها فراهم نمودند .
از کدهای POST Checkpoint می توان به منظور رديابی وضعيت سيستم در زمان فرآيند بوتينگ از زمانی که سيستم روشن می گردد تا زمانی که برنامه bootstrap loader اجراء می گردد ( آغاز استقرار سيستم عامل در حافظه )، استفاده نمود .
پس از نصب يک POST code reade درون يکی از اسلات های مادربرد و همزمان با اجرای برنامه POST ، يک عدد مبنای شانزده بر روی نمايشگر کارت نمايش داده خواهد شد . در صورت توقف غيرمنتظره سيستم ، با استفاده از کد نمايش داده شده می توان خطاء موجود را تشخيص داد . در شکل زير يک POST card reader نشان داده شده است .
پيام های نمايش داده شده بر روی نمايشگر
پيام های نمايش داده شده بر روی صفحه نمايشگر ، پيام های مختصری می باشند که يک نوع خاص خطاء را گزارش می نمايند . پيام های فوق صرفا” پس از مقداردهی کارت ويدئو و نمايشگر قابل نمايش و استفاده خواهند بود .