صرفنظر از این که کامپیوتر شما چگونه تولید شده است و یا نرم افزارهای نصب شده بر روی آن چگونه نوشته شده اند ، همواره احتمال بروز خطاء وجود داشته و ممکن است در آن لحظه امکان دسترسی به کارشناسان برای تشخیص خطاء و رفع مشکل وجود نداشته باشد . آشنائی با فرآیند عیب یابی و برخورد منطقی و مبتنی بر علم با این مقوله می تواند علاوه بر کاهش هزینه ها،صرفه جوئی در مهمترین منبع حیات بشری یعنی زمان را نیز بدنبال داشته باشد .
نرم افزارهای عیب یابی از جمله امکانات موجود و در عین حال بسیار مهم در این زمینه بوده که می توان از آنان به منظور عیب یابی یک کامپیوتر استفاده نمود .
نرم افزارهای عیب یابی
برای عیب یابی کامپیوترهای شخصی تاکنون نرم افزارهای عیب یابی متفاوتی ارائه شده است . برخی از اینگونه نرم افزارها درون سخت افرار کامپیوترهای شخصی ، برخی دیگر درون تجهیزات جانبی ( نظیر کارت های الحاقی ) ، تعدادی دیگر به همراه سیستم عامل و برخی دیگر به عنوان محصولات نرم افزاری مجزائی عرضه شده اند .
* 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 نشان داده شده است .
پیام های نمایش داده شده بر روی نمایشگر
پیام های نمایش داده شده بر روی صفحه نمایشگر ، پیام های مختصری می باشند که یک نوع خاص خطاء را گزارش می نمایند . پیام های فوق صرفا" پس از مقداردهی کارت ویدئو و نمایشگر قابل نمایش و استفاده خواهند بود .