كتب هذا الموضوع دكتور ياسين
مقدمة:
نحن نعلم جيداً أن كل الكمبيترات الشخصية سواء أكانت Desktop أو Laptop تحتوي على وحدة معالجة مركزية Central Processing Unit (CPU) ومن الآن فصاعداً سوف نطلق عليها إختصاراً إسم المعالج. وهو أحد أهم ولربما أغلى قطع الهاردوير Hardware في الكمبيوتر. ولكي ينجز المعالج عمله، يقوم بتنفيذ سلسلة أو مجموعة من الأوامر تسمى بالبرنامج Software. هناك نوعان من البرامج المؤلوفة للجميع
1-نظام التشغيل Operating System OS أو ما يسمى أحياناً برنامج المستوى العالي أو المتقدم high-level software: يوفر نظام التشغيل مجموعة من الخدمات والتسهيلات للبرامج التطبيقية Applications التي تشتغل في ذلك الجهاز. كما يعبد نظام التشغيل الطريق السهل للمستخدم لكي يتعامل مع البرامج والهاردوير من خلال واجهته Interface. وأنواع ال Windows و Linux من الأمثة على ذلك.
2-البرامج التطبيقية Applications: البرامج التطبيقية تتألف من مجموعة من codes تمت برمجتها لتقوم بإنجاز مهام محددة. المتصفح والألعاب وبرامج الكتابة من الأمثلة على ذلك.
إذاً ما هو البايوس
يُشكل البايوس النوع الثالث من البرامج الذي يحتاجه كل جهاز لكي يعمل بنجاح ولا يمكن أن يعمل أي جهاز بغيابه. كلمة البايوس BIOS مشتقة من بدايات الأحرف للكلمات الإنكليزية الأربعة التالية Basic Input Output System. يُعتبر برنامج البايوس من برامج الكمبيوتر ذات المستوى الواطئ low-level software.
لكل جهاز برنامج بايوس يجب أن يأتي معه وعادة ما يكون مثبتاً في رقيقة chip مركبة في لوحة الأم (أي جزء من اجزاء لوحة الأم) ولا يكتمل الجهاز إلا بوجود البايوس، بخلاف نظام التشغيل الذي إما يأتي منصباً من قبل الشركة المنتجة أو يقوم المستخدم بتنصيبه بنفسه. إتفق مصمموا وشركات بناء المعالجات ولوحات الأم على أن يسمح للمعالج أول شيء عند بدء التشغيل بالدخول إلى ذاكرة جاهزة للعمل على طول تسمح بالقراءة منها فقط وقابلة للمسح والتحديث أو البرمجة بطرق خاصة وتدعى هذه الذاكرة بـ Erasable Programmable Read-Only Memory أو مختصراًEPROMوفي بعض الأحيان تسمى أيضاً بالذاكرة الفلاشية أو التحديثية Flash Memory. فعند بدأ التشغيل، يرسل المعالج أمر بدأ التشغيل إلى البايوس الذي يتواجد دائماً في نفس المكان (مكان ثابت على طول) في الذاكرة الفلاشية EPROM وبعدها يقوم البايوس بمهامه التي سنتطرق إليها لاحقاً إن شاء الله تعالى.
وحتى تكون هذه الذاكرة الفلاشية جاهزة للعمل في أي وقت ويحافظ البايوس فيها على قيم إعداداته عند وضع الإقفال (الجهاز طاف) لا بد وأن يكون لها تغذية كهربائية متواصلة، ويتم ذلك بواسطة بطارية جافة غالباً ما يكون مقدار جهدها 3Volt.
وظائف البايوس
يمكن تلخيص دور البايوس في الكمبيوتر على أنه حلقة الوصل بين جميع قطع الهاردوير وبين المستخدم عند بدء التشغيل وبين جميع قطع الغيار ونظام التشغيل سواء أكان ذلك أثناء تنصيب نظام التشغيل أو أثناء أوبعد إقلاع نظام التشغيل إذا كان منصباً أصلاً. فمن لحظة الضغط على زر التشغيل، ينقسم دور البايوس إلى عدة مهام وعادة ما يكون تسلسلها المنطقي بالشكل التالي:
أولاً: تحميل برامج حاملات القطع Interrupts Handlers البايوسية: وهذه عبارة عن codes صغيرة جداً ضمن برنامج البايوس يقوم المعالج بقراءتها وبذلك تتوفر ت****ف عمومية بسيطة عن الهاردويرأي أنها تعمل عمل مترجم بين الهاردوير والمستخدم أولاً وبين الهاردوير ونظام التشغيل لاحقاًً إن صح التعبير العام. فمثلاً إحدى أبرز برامج حاملات القطع البايوسية التي يتم تحميها عادة وأولاً هي تلك التي تخص لوحة المفاتيح. فلولا هذه الوظيفة الترجمية لما إستطعنا من الدخول إلى إعداد البايوس ومعايرته بمجرد الضغط مثلاً على الزر Delete أو F2 عند بداية تشغيل الجهاز لأن المعالج في هذه اللحظة لا يعلم بوجود برنامج يشغل لوحة المفاتيح في أي مكان (إن وجد) وحتى أن المعالج يجهل في تلك اللحظة قرص الإقلاع أو القرص الذي يحوي نظام التشغيل.
ومما تجدر الإشارة إليه هنا هو يجب عدم الخلط بين برامج حاملات القطع البايوسية وبين برامج مشغلات الهاردوير Hardware Drivers. فحاملات القطع برامج صغيرة جداً تعطي ت****ف عمومية وبسيطة عن الهاردوير أي لا تعطي ت****ف مفصلة ودقيقة عن الهاردوير ومقرها البايوس بينما مشغلات الهاردوير برامج دائماً أكبر حجماً وتحتوي على تعريفات مفصلة عن ذلك الهاردوير ومقرها ملف ال Windows. وكما قلنا وبعد إستكمال إقلاع نظام التشغيل ستكون وظيفة البايوس هذه كحلقة وصل بين قطع الهاردوير وبين نظام التشغيل. ففي هذه الحالة سيكون إستخدام حاملات القطع البايوسية ضخماً ومستمراً طالماً سنبقى نستخدم لوحة المفاتيح والماوس وغيرها، ولهذا السبب ولسبب آخر هو أن ذاكرة البايوس الفلاشية أبطء ما لا يقل عن ثلاثة مرات بالمقارنة مع ذاكرة الجهاز، إبتكر مهندسو الكمبيوتر طريقة لتسريع هذه العملية وذلك بنسخ codes البايوس إلى ذاكرة الجهاز أثناء إقلاع نظام التشغيل وأطلقوا على هذا الإبتكار إسم بايوس الظل أو shadow bios . ففي هذه الحالة مثلاُ، وعند الضغط على زر من أزرار لوحة المفاتيح فبدلاً أن يتم التعامل مع الإشارة المرسلة في البايوس نفسه يتم التعامل معها هنا مع نفس كود البايوس ولكن المحمل في ذاكرة الجهاز. جميع لوحات الأم الحديثة تمتلك خاصية بايوس الظل وفيها يكون بايوس الظل ممكناً إفتراضياً Enabled by default ولا يمكن تعطيله disable من خلال إعداد البايوس سواء أكان ظاهراً أم مخفيا. أما تعطيل ظاهرة الظل إن وِجِدَ ذلك الإحتمال ضمن إعداد البايوس فيؤدي إلى شيئين: الأول: البطء في الإستجابة للوحة المفاتيح أي تظهر الحروف والأرقام بعد فترة وجيزة من الضغط على زره وليس في نفس الوقت وكذلك يعاني موجه الماوس من عدم الدقة. الثاني: يؤدي إلى رفع درجة حرارة الرقيقة Chip التي تحوي على code البايوس لكثر التعامل معه. ومما تجدر ملاحظته هنا أيضاً يجب عدم الخلط بين ظل البايوس الذي تكلمنا عنه وبين ظل بايوس بطاقة الشاشة Video Bios Shadow. فالجميع يعلم بأن كل بطاقات الشاشة لها بايوس خاص بها. وبنفس الطريقة التي يتم فيها نسخ بايوس الكمبيوتر إلى الذاكرة بالإمكان نسخ بايوس بطاقة الشاشة إلى الذاكرة أيضاَ. وظاهرة نسخ بايوس بطاقة الشاشة إلى الذاكرة يدعى بظل بايوس بطاقة الشاشة Video Bios Shadow. أغلب لوحات الأم الحديثة تمتلك صفة ظل بايوس بطاقة الشاشة ولكنها تسمح في أغلب الأحيان بتمكين Enable أو تعطيل Disable هذه الصفة من خلال إعداد البايوس بخلاف بايوس الظل الذي لا يمكن تعطيله.
ثانياً: يقوم البايوس بعد ذلك بقدح المسجلات Registers وتفعيل منظومة إدراة الطاقة الكهربايئة power management للوحة الأم. يقوم بعدها البايوس بإجراء إختبار الطاقة الذاتيPower-On Self-Test (POST) لقطع الهاردويرالواحدة تلو الأخرى للتأكد من سلامتها وصلاحيتها للعمل. وتتم هذه العلمية بإعطاء كل قطعة هاردوير ما هو مخصص لها من طاقة كهربائية Power ومن ثم الإنتظارقليلاً جداً لحين إستجابتها الذاتية. ويبدأ الأختبارعادة ببطاقة الشاشة والتي تمتلك بايوس خاص بها. فبمجرد حصول بطاقة الشاشة على ما هو مخصص لها من طاقة، يتم تفعيل بايوسها والذي بدوره يختبر معالجه الموجود بجواره ثم إختبار الذاكرة الموجودة على ظهر بطاقة الشاشة. فإذا كان إختبار بطاقة الشاشة سلبياً فمعظم أسبابه مدرجة في ملحق 1 أدناه. وبذلك تحصل على شاشة سوداء ليس فيها شي إما صامتة أو بأصوات متقطعة Beeps وفي حينها لا يستكمل البايوس بقية الإختبارات. أما إذا كانت نتيجة إختبار بطاقة الشاشة إيجابياً فغالباً ما تظهر معلومات البطاقة لوحدها في أعلى شاشة سوداء ولفترة قصيرة ثم يعود الأمر بعد ذلك إلى بايوس النظام لإستكمال بقية إختبارات الطاقة الذاتية. أي أن معلومات بطاقة الشاشة تظهر قبل معلومات الجهاز الأخرى المؤلوفة كمعلومات الذاكرة والمعالج والأقراص...إلخ. فإذا مر هذا الإختبار كما يرام ينتقل البايوس إلى عمل إختبارات الطاقة الذاتية لقطع الهاردوير التي ليس بايوس مثل مجموعة الرقائق Chipset والصوت والـ USB ومنافذ لوحة المفاتيح والماوس من نوع PS2 وبطاقة المودم ... إلخ فإاذ كان كل شيء على ما يرام ينتقل البايوس لعمل إختبارات الطاقة الذاتية لقطع الهاردوير التي تمتلك بايوس خاص بها مثل بطاقات SCSI & RAIDS. فإذا كانت نتيجة إختبار الطاقة الذاتية إيجابية ينتقل البايوس للوظيفة التالية في سلسلة وظائفه. ومن دون أي شك، أي خطأ هنا يعني خطأ هاردوير أي ليس له علاقة بالبرامج المنصبة في الجهاز من نظام تشغيل إلى مشغلات هاردوير Hardware drivers إلى برامج تطبيقية.
ثالثاً: بعد ذلك يقوم البايوس بعمل إختبار ليتعرف من نتيجته على نوع الإقلاع، هل هو إقلاع بارد cold boot أو إعادة إقلاع reboot. الإقلاع البارد يعني تشغيل الجهاز من وضع الإغلاق (التوقف) أما إعادة الإقلاع يعني أن الكمبيوتر كان يشتغل أصلاً وأعيد تشغيله. ويتم ذلك الإختبار من خلال حساب قيمة معينة عند عنوان الذاكرة memory address 0000:0472. فإذا كانت تلك القيمة هي 1234h فهذا يعني إعادة إقلاع وبذلك يهمل البايوس الكثير من الإختبارات التي يجريها عادة عند بدأ التشغيل من بينها إختبارات الطاقة الذاتية للهاردوير بل ويذهب أبعد من ذلك إلى إقلاع نظام التشغيل مباشرة لأنه يعلم تماماً أن هذا إعادة إقلاع وأنه سبق وأن عمل تلك الإختبارات في الإقلاع الذي سبق هذا. وهذا بدوره يساعد في تحسين سرعة الإقلاع. بإمكانك تجربة ذلك بنفسك على جهازك للتأكد من صحة وظيفة البايوس هذه. ملاحظة: هذا الكلام يصح فقط إذا لم تكن لديك مشاكل في ربط كيبلات أقراض IDE. فهذه إن حصلت تؤدي دائماً إلى تأخير الإقلاع سواء عمل البايوس إختباراته أم أهملها فأخطاء الكيبل ربما لا يتحسس بها البايوس بل إنما يتحسس بأخطاء الهاردوير فقط. أما إذا كانت تلك القيمة لا تساوي 1234h فهذا يعني إقلاع بارد أو جديد وعندها يقوم البايوس بجميع الإختبارات وبذلك يأخذ وقتاً أطول بالمقارنة مع وقت إعادة التشغيل. فيقوم البايوس عندئذ
بالإضافة إلى إختبارات الطاقة الذاتية بإجراء إختبارات القراءة والكتابة لكل عنوان في الذاكرة وهذا يسمى إختبار الذاكرة المفصل، ويفحص صلاحية الأقراص المشبوكة إلى قناتي IDE أي Master & Slave فقط المتواجدة على لوحة الأم وليس المتواجدة على بطاقة مثل SCSI. بعدها يقوم البايوس بعرض بعض المعلومات عن النظام على الشاشة، ومن الطبيعي أن تشمل تلك المعلومات: المعالج CPU، القرص المرن Floppy والقرص الصلب Hard Drive و CD-ROM، مقدار الذاكرة وفي بعض أنواع البايوس حتى سرعتها ونوعها، نوع البايوس وتأريخه (هذا الأخير يظهر عادة أسفل شاشة المعلومات).
رابعاً: بعدها يقوم البايوس بتوجيه المعالج إلى القرص الأول من سلسلة الإقلاع boot sequence لمحاولة تحميل نظام التشغيل منه. علماً بأن عمل المعالج كما ذكرنا هو تنفيذ الأوامر ويجهل مكان نظام التشغيل تماماً وبدون توجيه البايوس لا يمكن أن يبدأ الإقلاع على الإطلاق. فإذا لم يكن هناك نظام تشغيل في القرص الأول يعود المعالج إلى البايوس فيوجهه إلى القرص الثاني في سلسلة الإقلاع ثم إلى الثالث والرابع وهكذا إلا أن يتم الإقلاع. أما إذا لم يكن هناك نظام إقلاع في أي قرص من أقراص الجهاز فسوف يتوقف الجهاز عند شاشة المعلومات مشيراً برسالة خطأ تؤكد عدم وجود قرص إقلاع. يعتبر دور البايوس في إقلاع نظام التشغيل من أهم أدواره.
تحديث البايوس
في بعض الأحيان، تتطلب حالة تشغيل الجهاز الغير المستقرة أو عدم توافق قطع الهاردوير الجديدة المضافة مع القطع القديمة أو مع لوحة الأم إلى تحديث البايوس. وهذا الكلام ينطبق على وجه الخصوص للوحات الأم القديمة ونوعاً ما على لوحات الأم الحديثة. فعالمنا يشهد ثورة تقنية كبيرة لا يستطيع أحد مواكبتها أو السير في جانبها. فبين الحين والآخر يظهر معالج جديد ب core مختلف، وتظهر ذاكرة جديدة أكبر حجماً وأكثر سرعة، ويظهر قرص صلب بسعة أكبر، وتبرز بطاقات شاشة بسرعة وحجم ذاكرة أكبر وبإستهلاك طاقة كهربائية أقل وهكذا. فمن غير المعقول أن تضع الشركة المنتجة للوحات الأم كل هذه الأمور نصب أعينها في البايوس وقت الإنتاج. ولكن على الشركة الجيدة أن تقوم بتحديث بايوسات لوحات الأم المنتجة من قبلها بإستمرار ولعدة سنوات. ولا تقتصر عملية التحديث على عدم توافق الجديد والقديم على لوحة الأم القديمة. فبعض لوحات الأم الحديثة تحتاج إلى تحديث لخطء ما في برمجة البايوس أثناء الإنتاج فقام المستخدم بإبلاغ الشركة المنتجة فقامت بتحديث البايوس فوراً للحفاظ على سمعة الشركة. وللحصول على توافق أفضل مع قطع الهاردوير الجديدة لابد وأن يتم تحديث البايوس. وبما أن البايوس مخزن في ذاكرة من نوع ROM فإن عملية التحديث أصعب قليلاً من عملية تحديث برنامج عادي في بيئة ال Windows.
البعض من مستخدمي الكمبيوتر لا يستطيعون معرفة إسم الشركة المنتجة للوحة الأم لأن بعض الشركات حتى لا تذكر إسمها في مرشد أو دليل لوحة الأم ولا حتى تضع ماركة بإسمها على لوحة الأم نفسها. وإذا أردت تحديث البايوس فلا بد من معرفة إسم الشركة المنتجة للوحة الأم ونوع البايوس (نوع AMI أو AWARD أو Phoenix) وموديل لوحة الأم وإلا أي خطء في عملية التحديث بإستخدام بايوس من نوع آخرأو حتى بايوس من نفس الشركة ولكن بموديل ثاني يعني النهاية الحتمية للوحة الأم. ولحسن الحظ، نوعي البايوس الأكثر إنتشاراً AMI & AWARD يتميزان برقم فريد Unique Number والذي يعطي معلومات عن الشركة المنتجة لمجموعة الرقائق Chipset ولوحة الأم، أما نوع Phoenix في أغلب الحالات لا يعطي هذه المعلومات. ولمعرفة تفاصيل البايوس من نوعي AMI وAward يضغط على زر Pause أو Break من لوحة المفاتيح لوقف الشاشة بعد عرض معلومات الجهاز في بداية التشغيل، وفي حينها ستظهر معلومات البايوس إما في أول شيء في أعلى الشاشة أوفي أسفل الشاشة ويمكن كتابتها بدقة. ولمن لا يتسطيع عمل ذلك، هنالك برنامج صغير ومجاني وسهل الإستخدام يعطي معلومات مفصلة نوعاً ما عن بايوسات AMI & Award ويمكن تحميل البرنامج من
ftp://ftp.heise.de/pub/ct/ctsi/ctbios15.zip
فبعد حصولك على إسم الشركة المنتجة للوحة الأم وموديل لوحة الأم وإذا أمكن الرقم التسلسلي revision Number لها مع تأريخ البايوس، إذهب إلى موقع الشركة وابحث عن آخر تحديث صدر من الشركة وإقرأ طريقة التحديث وإتبع إرشادات الشركة، فبعض الشركات مثل ASUS لها طرق خاصة في تحديث البايوس. أما الطريقة التقليدية (إن كانت موجودة في تعليمات الشركة المنتجة) فتحتاج لتحميل نوعين من الملفات: الأول التحديث والثاني Flash Utility المستخدمة
في إنجاز التحديث أي نسخ ملف التحديث إلى الذاكرة الفلاشية للبايوس. بايوسات AMI لها Flash Utility تختلف عن بايوسات Award. قم بإحضار قرص مرن قابل للإقلاع Bootable Floppy وضع الملفين، أي ملف التحديث وملف الـ Flash Utility فيه وأعد التشغيل وادخل إلى إعداد البايوس وغير قرص بدء الإقلاع إلى القرص المرن وأعد التشغيل ثم اتبع خطوات الشركة المنتجة في عملية تحديث البايوس. فستقوم الـ Flash Utility أولاً بمسح البايوس القديم لان الذاكرة الفلاشية من النوع القابل للمسح (كما ذكرنا أعلاه) ثم تقوم بعد ذلك بنسخ (إعادة برمجة) ملف التحديث إلى الذاكرة الفلاشية لأنها وكما أسلفنا ذاكرة قابلة للبرمجة أيضاً. قد يطلب منك في بداية عملية التحديث خزن البايوس القديم على قرص الإقلاع فتقبله للإحتياط وذلك لو حدث شيء لا سامح الله لأمكن إعادة البايوس القديم إلى مكانه.
ملاحظة 1: أفضل قرص مرن قابل للإقلاع مناسب لعملية تحديث البايوس يمكن تهيئته في بيئة Windows 98. فبإمكانك تهيئة Format القرص المرن في هذه البيئة مع طلب إضافة System Files Only، وبذلك يتهيأ قرص مرن قابل للإقلاع وفيه أقل عدد ممكن ملفات الإقلاع، كاف لنسخ ملفي التحديث بالإضافة إلى ملف البايوس القديم إذا أريد خزنه مع فائدة قصر فترة إقلاعه وعدم إحتواءه على مشغلات CD-ROM أو ماوس أو مشابه.
ملاحظة 2: إذا كان الجهاز يعمل بشكل طبيعي ولا يعمل مشاكل حتى بعد إضافة قطع هاردوير جديدة، فليس هناك من داع لتحديث البايوس على الإطلاق.
ملحق 1:
أسباب فشل الإختبار الذاتي لبطاقة الشاشة:
1-قد تكون بطاقة الشاشة غير جالسة بالشكل الصحيح في مكانها وهذا غالباً ما يولد أصوات متقطعة Beeps
2-أن تكون ذاكرة الجهاز غير متوافقة مع ذاكرة بطاقة الشاشة
3-قد لاتحصل بطاقة الشاشة على الكمية المخصصة لها من طاقة كهربائية. فمثلاً معظم بطاقات الشاشة من نوع AGP من فئة السرعة 2X(2x66MHz) تعمل بطاقة كهربائية قدرها 3.3Volt وتركيبها في فتحة AGP تعمل فقط بطاقتي كهرباء 2.5Volt & 1.5Volt، فتقوم فتحة الAGP بإعطاء بطاقة الشاشة أقصى ما عندها من طاقة كهربائية ألا وهي 2.5Volt والتي هي غير كافية تماماً لقدح البطاقة ناهيك عن عملها الطبيعي.
4-قد لا تتوافق سرع بطاقة الشاشة مع السرع المخصصة لفنحة AGP. فمثلاً معظم فتحات AGP من فئة 8X(8X66MHZ) تتقبل بطاقات شاشة من فئة 4X(4X66MHX) ومن فئة 8X ولكن ليس من فئة 2X.
5-في بعض الكمبيوترات القديمة والتي تعمل ب system bus مقداره 100MHZ قد لا تتقبل بطاقة شاشة من فئة 2X بل تقبل بطاقة شاشة من فئة 1X(1X66MHZ)
6-الإحتمال الأخير هو كون بطاقة الشاشة قد إنتهت.
ملاحظة: في حالة حدوث مشاكل مع بطاقة الشاشة أثناء تشغيل الألعاب مثلاً في بيئة الـ Windows فلربما له ثلاثى أجوبة
1-يحتاج إلى تحديث المشغلات Drivers من الشركة المنتجة لبطاقة الشاشة أو من الشركة المصنعة لمجموعة رقائق بطاقة الشاشة مثل Nvidia، ATI، Matrox
2-يحتاج بايوس بطاقة الشاشة للتحديث. فإذا كان البايوس قديماً قد لا يكون متوافقاً مع نسخة الـ DirectX لبيئة ذلك الـ Windows أو مع نسخة OpenGL المنصبة.
3-قد تحتاج بطاقة الشاشة إلى تعيين رقم IRQ لها عند إعداد البايوس.
والله الموفق