يعد بدء تشغيل الخادم سلسلة طويلة ومعقدة من الإجراءات ، اعتمادًا على مكون الجهاز والإعدادات والبرامج المستخدمة. لدى الكثير من مسؤولي النظام ذوي الخبرة والمؤهلين فكرة سيئة عما يحدث بالضبط عند بدء تشغيل الخادم ، لذلك قررنا تحليل هذه العملية بالتفصيل.
من أجل عدم تفكيك جميع الحالات الممكنة ، سننظر في التحميل وفقًا للشروط التالية:
- معالج Intel 64 بت ؛
- وضع التمهيد القديم
- تقسيم القرص MBR ؛
- محمل الإقلاع GRUB2.
يستيقظ ويغني
يتم بدء التشغيل على الخادم بطرق مختلفة ، من بينها الضغط
على زر التشغيل على الأكثر شيوعًا ، ولكن ليس هو الوحيد. خيار آخر هو من خلال أمر عبر الشبكة (
Wake-on-LAN ) أو من خلال أوامر من أجهزة خارجية (
Wake-on-PCIe ،
Wake-on-Keyboard ،
Wake-on-Mouse ). يتم تنفيذ الأوامر فقط إذا تم تمكين المعلمات المقابلة في
أداة إعداد BIOS المساعدة ، والتي سنتحدث عنها لاحقًا.
الجهاز المنفصل هو وحدة BMC ، التي توفر إمكانات متقدمة لإدارة الخادم. اقرأ المزيد عن هذه التكنولوجيا
في مدونتنا .
الأساليب السابقة ذكية وتتطلب إرسال أمر تم إنشاؤه خصيصًا على حافلات البيانات. طريقة أكثر بساطة: تشغيل عندما يتم تزويد الطاقة إلى إمدادات الطاقة. في إعدادات BIOS ، تسمى هذه المعلمة
AC Power Loss وتستغرق إحدى الحالات الثلاث:
- إيقاف التشغيل - سيبقى الخادم مغلقًا.
- السلطة على - سيتم تشغيل الخادم.
- الحالة الأخيرة - لن يتم تشغيل الخادم إلا إذا تم تشغيله في وقت فقد الطاقة.
يؤدي استخدام هذه الطرق على قدم المساواة إلى إرسال إشارة
إعادة تعيين المعالج وبدء إجراء البدء.
قم بتنزيل البرنامج الأول
تتمثل الخطوة الأولى في بدء تشغيل الخادم في تشغيل مصدر الطاقة وضبط إشارة
إعادة التعيين للمعالج. إذا كانت هناك إشارة
إعادة تعيين ، فلن يعمل مولد تردد المعالج ، وتتم إعادة تعيين سجلات المعالج إلى القيم التي حددتها الشركة المصنعة للمعالج.
عند بدء تشغيل وحدة تزويد الطاقة ، يحدث العبور ، والذي قد يكون خارج نطاق الجهد الناتج المسموح به ، والتي سوف تؤثر سلبا على المعالج العامل. لذلك ، لا تتم إزالة إشارة
إعادة التعيين حتى تستقر الطاقة الواردة تمامًا.
بعد تثبيت الجهد ، تقوم وحدة التزويد بالطاقة بتعيين إشارة
Power Good . تعني هذه الإشارة أن اللوحة الأم يمكنها بدء جميع مكونات الخادم. بعد ذلك ، تقوم الشرائح بتعيين مساحة جميع الأجهزة المتصلة ، بما في ذلك ذاكرة القراءة فقط (ROM) (ذاكرة القراءة فقط) مع رمز
نظام الإدخال / الإخراج الأساسي (BIOS). بعد ذلك ، تتم إزالة إشارة
إعادة التعيين ويبدأ مولد تردد المعالج.
BIOS - نظام يوفر واجهة برمجة التطبيقات للعمل مع الأجهزة والأجهزة المتصلة. أحد الأهداف المهمة لنظام BIOS هو تهيئة الجهاز واختباره عند بدء التشغيل.
بغض النظر عن عدد المعالجات في النظام ، عند بدء تشغيل الخادم ، يستيقظ جوهر واحد فقط من المعالج ، ويبقى النوى المتبقية في وضع السكون. يتم الإشارة إلى جوهر اليقظة بواسطة
Bootstrap Processor (BSP ، المشار إليها فيما يلي باسم المعالج). بعد اختفاء إشارة
إعادة التعيين ، يتم تعبئة سجلات المعالج بطريقة يعمل المعالج في وضع 32 بت خاص يسمى وضع
المعالج الأولي .
وضع المعالج الأولي - وضع التشغيل الذي يحصل عليه المعالج 64 بت فقط بعد إعادة التعيين. في هذا الوضع ، يكون المعالج قادرًا على تنفيذ الإرشادات 32 بت ، ومساحة العنوان 4 غيغابايت.
بعد اختفاء إشارة
إعادة التعيين ، يشير عداد أمر المعالج إلى العنوان
0xFFFFFFF0 ، والذي يسمى
إعادة تعيين المتجه . في هذا العنوان ، يكمن الأمر الأول الذي يقوم المعالج بفك تشفيره وتنفيذه.
وضع التعليمة الأولى في نهاية مساحة العنوان له مبرر تاريخي. عند تطوير معالج Intel 8086 ، في بداية مساحة العنوان ، كان متجه المقاطعة ، متبوعًا بذاكرة الوصول العشوائي (RAM) ، التي يمكن أن يكون مقدارها. من أجل تجنب التقاطعات مع ذاكرة الوصول العشوائي ، تم أخذ عنوان الأمر الأول في نهاية مساحة العنوان.
في وقت لاحق ، مع ظهور Intel 80286 ، يمكن نقل ناقل المقاطعة في أي مكان. ومع ذلك ، حتى المعالجات الحديثة تعمل في وضع التوافق مع 8086 ومتجه المقاطعة في 0x0.
عند الوصول إلى العنوان
0xFFFFFFF0 ، يتلقى المعالج الأمر الأول من ROM. في الوضع القديم ، يكون هذا الأمر بمثابة
قفزة طويلة أو
الانتقال السريع إلى جزء الذاكرة مع رمز BIOS. بعد الانتهاء من أول قفزة طويلة ، يدخل المعالج
الوضع الحقيقي 16 بت ويستكمل تنفيذ رمز BIOS.
الوضع الحقيقي - وضع التوافق مع معالجات 16 بت قديمة. في هذا الوضع ، تتوفر فقط أوامر 16 بت ، ومساحة العنوان ، التي تسمى "الذاكرة السفلى" ، تحتوي على 1 ميجابايت فقط.
كما ذكرنا سابقًا ، يتم تخزين رمز BIOS القابل للتنفيذ على جهاز خارجي ، حيث أن تشغيله ليس سريعًا جدًا ، لذا فإن أول شيء يفعله BIOS هو تهيئة ذاكرة الوصول العشوائي ونسخ الرمز الخاص به من ROM إلى ذلك. يحتفظ BIOS بالتوافق مع المعالجات القديمة ؛ وبالتالي ، فإنه ينفذ جميع الإجراءات في وضع 16 بت.
السلطة في الاختبار الذاتي
يعد التشغيل على الاختبار الذاتي (POST) خطوة أساسية في نظام BIOS. POST مختصرة وكاملة. يقوم POST الكامل بفحص جميع وحدات التحكم المتاحة واختبار جميع ذاكرة الوصول العشوائي المتاحة ، والتي قد تستغرق وقتًا طويلاً.
تعمل وظيفة POST المختصرة على زيادة سرعة عملية التمهيد وتتضمن الحد الأدنى الضروري من الإجراءات:
- التحقق من سلامة برامج BIOS في ROM باستخدام آلية التحقق من المجموع الاختباري ؛
- كشف وتهيئة وحدات التحكم الرئيسية وحافلات النظام والأجهزة المتصلة ؛
- تحديد حجم ذاكرة الوصول العشوائي واختبار الجزء الأول (64 كيلو بايت) ؛
- نقل السيطرة على بووتلوأدر.
عند اجتياز اختبار POST ، يستخدم الخادم عدة طرق لتعكس معلومات حول مرور الاختبارات. الطرق الأكثر شيوعًا:
- عرض معرف الاختبار أو رمز POST على الشاشة أو استخدام مؤشرات من سبعة أجزاء على اللوحة الأم ؛
- إشارة الصوت
- إنذار ضوئي مع مجموعة من المصابيح.
الطريقة الأكثر إفادة للحصول على معلومات حول الأعطال المحتملة هي عرض رمز POST الحالي. عند الانتهاء بنجاح من الاختبارات ، تحل الرموز محل بعضها البعض بسرعة ، ولكن في حالة حدوث عطل ، يتوقف اختبار POST ويمكنك رؤية معرف الاختبار الفاشل. تعلق الشركات المصنعة للوحة الأم دائمًا فك تشفير ، مما يعني وجود رمز معين.
على اللوحات الرئيسية الحديثة ، يوجد مؤشر LED يسمح لك بتحديد مكون خاطئ. في حالة بدء تشغيل الخادم بنجاح ، يمكنك سماع صوت تنبيه يشير إلى نجاح POST. حسب مدة الإشارات الصوتية وعددها ، من الممكن أيضًا تحديد مكون فاشل.
في بعض الحالات ، عندما تكون الدقة القصوى مطلوبة للتشخيص ، يمكنك اللجوء إلى استخدام جهاز خارجي يسمى بطاقة POST. ترسل اللوحات الرئيسية معلومات حول اختبارات POST على حافلات البيانات ، وتقوم بطاقة POST بمعالجة هذه المعلومات وتعرضها باستخدام المؤشرات المتاحة.
أداة إعداد BIOS
يحتوي BIOS على قائمة إعداد خاصة تسمى
الأداة المساعدة لإعداد BIOS . يمكنك إدخاله عن طريق الضغط على مفتاح خاص أثناء اجتياز POST. غالبًا ما تكون مفاتيح إدخال BIOS هي
Del و
F2 ، ومع ذلك ، عند الإشارة إلى ذلك ، يُشار دائمًا إلى المفتاح الذي سيفتح إعدادات BIOS.
توفر
أداة إعداد BIOS واجهة للتكوين ، والتي تتطلب فقط لوحة مفاتيح للاتصال. توفر أداة إعداد BIOS معلومات حول الأجهزة المثبتة وتتيح لك تغيير معلمات التشغيل الخاصة باللوحة الأم والمعدات المتصلة بها.
تعتمد الأسماء والخيارات المحتملة لهذه المعلمة أو تلك على العديد من العوامل ، من بينها:
- نسخة BIOS
- نموذج اللوحة الأم ؛
- نموذج من المعدات المثبتة في اللوحة الأم.
من بين المعلمات نحن مهتمون في
Boot Priority . تحدد أولوية التمهيد الترتيب الذي يقوم فيه BIOS باستقصاء الأجهزة للعثور على منطقة التمهيد عليها. بمجرد أن يجد BIOS منطقة التمهيد ، يتم نقل التحكم إلى أداة تحميل التشغيل وتبدأ الخطوة التالية.
نظام التشغيل محمل
بعد اجتياز اختبار POST ، يبحث BIOS عن منطقة التمهيد ، ويقوم باستقصاء الأجهزة بالترتيب المحدد. في الوضع
القديم ، تسمى منطقة التمهيد على القرص
سجل التمهيد الرئيسي (MBR). MBR هو بنية خاصة تقع في 512 بايت الأولى من القرص. تحتوي وحدات البايت 512 هذه على البيانات التالية:
- رمز المرحلة الأولى من أداة تحميل التشغيل - من 0 إلى 445 بايت ؛
- جدول القسم - من 446 إلى 509 بايت ؛
- الرقم السحري هو 0xAA55 - من 510 إلى 511 بايت.
إذا لم يكن هناك رقم سحري
0xAA55 ، فيُعتبر أنه لم يتم العثور على سجل MBR على هذا القرص وأن BIOS يسير لاستطلاع القرص التالي.
عندما يعثر BIOS على سجل MBR ، فإنه
ينسخه من القرص إلى ذاكرة الوصول العشوائي على العنوان
0x7C00 ويقفز إلى هذا العنوان. بعد القفزة ، تبدأ المرحلة الأولى (
المرحلة 1 ) من أداة تحميل التشغيل. نظرًا للحجم المحدود ، فإن الغرض من المرحلة الأولى هو تحميل رمز المرحلة الثانية (
المرحلة 2 ) في الذاكرة والتحكم في النقل إليها.
يتم تخزين رمز
المرحلة 2 مباشرة بعد بنية MBR وحتى بداية قسم القرص الأول. تاريخياً ، تحتوي هذه الفجوة على 31 كيلو بايت من الذاكرة ، وفي الأنظمة الحديثة تصل إلى 1 ميغابايت. ومع ذلك ، للحفاظ على التوافق ، لا يتجاوز حجم المرحلة الثانية 31 كيلو بايت.
المرحلة الثانية تعد البيئة لإطلاق المرحلة الثالثة:
- تحميل برامج تشغيل نظام الملفات الضرورية
- يجد رمز المرحلة الثالثة على نظام الملفات ؛
- يقوم بتحميل الكود إلى ذاكرة الوصول العشوائي وينقل التحكم فيه.
تغلي مهام
المرحلة 3 إلى الحد الأدنى من الإعداد للبيئة ومحمل الإقلاع:
- نقل المعالج إلى الوضع المحمي ؛
- قم بتنزيل ملحقات GRUB2 المثبتة
- العثور على المرحلة 4 على نظام الملفات ومنحها السيطرة.
الوضع المحمي - وضع التوافق مع معالجات x86. في هذا الوضع ، يكون المعالج قادرًا على تنفيذ الإرشادات 32 بت ، وتتسع مساحة العنوان إلى 4 غيغابايت. ظهرت ابتكارات مهمة في الوضع المحمي ، على سبيل المثال:
تعمل المرحلة الرابعة (
المرحلة 4 ) بالفعل في وضع 32 بت ، إذا لزم الأمر ، يتم تحميلها من قرص توسيع واجهة المستخدم الرسومية ، "يوزع" ملف
grub.cfg ويعرض قائمة اختيار نظام التشغيل المألوفة.
نواة OS
يتبع
GRUB2 مواصفات التشغيل المتعدد لتحميل kernel القابل للتنفيذ. يتحقق أداة
تحميل التشغيل من الرقم السحري
0x1BADB002 في بداية النواة ويتحقق من المجموع الاختباري للتأكد من أن النواة متوافقة مع المواصفات. بعد التحقق بنجاح ، يمكن تحميل النواة في ذاكرة الوصول العشوائي ونقلها إليه.
وفقًا لنفس المواصفات ، يزود محمل الإقلاع kernel بمعلومات النظام ، مثل:
- وضع المعالج الحالي ؛
- كمية ذاكرة الوصول العشوائي المكتشفة ؛
- نوع إخراج الفيديو (نص أو بكسل) ؛
- دقة الشاشة.
على الرغم من حقيقة أن أداة تحميل التشغيل قد استخدمت برامج تشغيل نظام الملفات ، وربما امتدادات الواجهة الرسومية ، لن تتلقى kernel القابلة للتشغيل كل هذه الأشياء الرائعة. أولاً وقبل كل شيء ، بعد التحكم ، يكشف النواة عن الإمكانات الكاملة للخادم ويضع المعالج في
الوضع الطويل .
الوضع الطويل -
الوضع الرئيسي لمعالجات 64 بت. في هذا الوضع ، يكون المعالج قادرًا على تنفيذ إرشادات 64 بت واستخدام سجلات للأغراض العامة 64 بت. مساحة العنوان تحمل 16 بنك الاستثمار الأوروبي. ألغى الوضع الطويل مؤسسة الذاكرة المقسمة الملازمة للهيكل 32 بت.
على الرغم من مساحة العنوان الضخمة لمعالجة الذاكرة الفعلية ، يتم استخدام 48 بت فقط من 64 ممكنة ، مما يقلل من الحد الأقصى لذاكرة الوصول العشوائي إلى 256 تيرابايت ، أي أقل بـ 65،536 مرة من مساحة العنوان. في المستقبل المنظور ، من
المخطط توسيع العنوان الفعلي إلى 57 بت.
بعد التبديل إلى الوضع الطويل ، تنفذ النواة الحد الأدنى من مجموعة الإجراءات اللازمة للتشغيل:
- بتهيئة ذاكرة الترحيل
- تحميل السائقين وتهيئة المعدات المستخدمة ؛
- تكوين الذاكرة وجدولة العملية
- يجد ويبدأ الحرف الأول.
من المهم أنه قبل تكوين جدولة العملية ، عمل الخادم على نواة واحدة ، والتي كانت تسمى BSP. يؤدي تكوين المجدول إلى تنبيه بقية النواة المسماة
Application Processor (AP). لا يوجد اتصال مباشر بين النواة ، ويتم إجراء الاتصالات الخاصة بهم من خلال معالجات المقاطعة المحلية التي تسمى
وحدة تحكم المقاطعة المتقدمة القابلة للبرمجة المحلية (LAPIC).
يتم تشغيل نواة نظام التشغيل على BSP ، والذي تلقى أثناء التهيئة معلومات حول المعالجات المتوفرة في النظام باستخدام جداول ACPI. BSP ، باستخدام LAPIC الخاص به ، يرسل سلسلة من الانقطاعات "
Init -
StartUp -
StartUp " لإيقاظ جميع نقاط الوصول. بعد البدء ، يجب أيضًا تهيئة معالجات التطبيقات ونقلها إلى الوضع الطويل ، ولكن هذه العملية الآن أسرع ، حيث أن هذا العمل قد تم بالفعل بواسطة المعالج الرئيسي.
بعد تهيئة جميع نقاط الوصول ، يبدأ برنامج جدولة العملية عملية خدمة تسمى "
التراخي " أو
الخمول . كما يوحي الاسم ، هذه العملية لا تفعل شيئًا وتتناول المعالج عندما لا تكون هناك عمليات أخرى.
عندما يتم تكوين كل شيء وجاهز للعمل ، تبدأ نواة نظام التشغيل العملية الأولى في مساحة المستخدم -
Init . وهذا بدوره يبدأ بقية العمليات في مساحة المستخدم. بعد بدء عملية التهيئة ، تنتقل النواة إلى وضع الاستعداد وتكون غير نشطة حتى تظهر المهام في مساحة النواة.
بعد بدء جميع العمليات ، يصبح الخادم متاحًا عبر الشبكة ، ويمكنك رؤية مطالبة تسجيل الدخول على الشاشة على وحدة التحكم.
استنتاج
للوهلة الأولى ، فإن بدء تشغيل خادم بسيط وسريع وتحميل نظام التشغيل هو في الواقع عملية معقدة ومربكة مع العديد من الفروق الدقيقة. يعد مرور هذه العملية بمثابة تطور صغير يعمل على تطوير قوة معالجة المعالج من معالجات 16 بت القديمة إلى "الوحوش" الحديثة 64 بت.
وما رأيك ، عندما تظهر معالجات 128 بت ، هل سيكون هناك وضع توافق مع 16 بت منها؟