برنامه عيب يابی 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 ، يک عدد مبنای شانزده بر روی نمايشگر کارت نمايش داده خواهد شد . در صورت توقف غيرمنتظره سيستم ، با استفاده از کد نمايش داده شده می توان خطاء موجود را تشخيص داد .
منبع: srco.ir