الإقلاع أو الإقلاع التمهيدي في الحوسبة (Booting) تعتبر عملية الإقلاع أهم وأول العمليات التي تتم في الحاسوب؛ وهي عملية قد تكون مباشرة Hard بعد تحويل الطاقة الكهربائية من التوقف إلى التشغيل أو soft عندما يتم التغاضي عن اختبار التشغيل الذاتي وهذا الاختبار من أهم مراحل الإقلاع المستخدمة في البرنامج الرئيسي مثل البيوس أو غيره من الطرق الأحدث.[1][2][3]
يمكن أن تبدأ عملية الإقلاع من النوع Soft booting من أي عتاد (Hardware) مثل الضغط على زر التشغيل أو عن طريق أمر برمجي Software Command، وتنتهي عملية الإقلاع بمجرد تسلم نظام التشغيل المسؤلية للتحكم.
محمل الإقلاع هو برنامج كمبيوتر يتحمل عبئ تحميل ومساعدة نظام التشغيل أو أحد برمجيات النظام بعد إتمام عملية اختبار التشغيل الذاتي POST، هذا المحمل يحمل نظام التشغيل نفسه، تتم أثناء التشغيل وبعد نهاية الاختبار الذاتي وبعد تحميل البرامج الرئيسية المطلوبة، محمل الإقلاع يتم تحميله في الذاكرة الرئيسية RAM main memory من الذاكرة الثانوية persistent memory مثل القرص الصلب أو من وسائط أخرى كما في أجهزة الحاسب القديمة مثل البطاقة المثقوبة punched cards أو الشريط المثقوب punched tape أو الشريط المغناطيسي magnetic tape ، بعد ذلك يتم تحميل وتنفيذ العمليات النهائية للإقلاع .
كما يحدث في عملية الاختبار الذاتي POST يحدث مع اكواد (code) محمل الإقلاع، فان كان المكان محدود لاي سبب من الاسباب ليشمل كل الاكواد (codes) فانه يتم تقسيمه على مرحلتين مرحلة ابتدائية ومرحلة ثانوية، في المرحلة الابتدائية يقوم محمل الإقلاع الابتدائي (primary boot loader) باستدعاء الثانوي (second-stage boot loader أو secondary program loader) مثل جنو جرب GNU GRUB وأن.تي.أل.دي.أر NTLDR وسيسلينكس Syslinux وبوت اكس ابل BootX ومدير اقلاع ويندوز للاصدارات الحديثة BOOTMGR .
في أجهزة الحاسوب الحديثة لا تستغرق عملية الإقلاع وقتاً، ويتم بواسطتها الاختبار الذاتي وتهيئة المكونات ثم إيجاد وتحميل نظام التشغيل، عملية وضع الاستعداد للجهاز (sleeping mode) والسبات للجهاز
Hibernation
لا يشملهما الإقلاع.
بعض النظم المضمنة لا تحتاج تسلسل للإقلاع، ويمكن ببساطة ان تستدعي برامج العمل المخزنة على ROM (ذاكرة للقراءة فقط)، كل أنظمة الحاسبات هي أنظمة آلة ذات حالات منتهية state machines، وعملية اعادة التشغيل reboot يمكن أن تكون هي الطريقة الوحيدة لإرجاع النظام لحالته الاولى (zero-state) أو من حالة تعليق الكمبيوتر (locked state).
كلمة اقلاع Boot هي اختصار لكلمة Bootstrap , إن الهدف الرئيسي من عملية الإقلاع هو السماح لجهاز التشغيل بالتعرف على محتوياته ومن ثم استدعاء برامج أكثر سهولة ومرونة وأداء.
نبذة تاريخية
هناك العديد من الطرق المختلفة لتحميل البرنامج الاولي القصير (محمل الإقلاع الاولي) ، هذه الطرق يمكن أن تكون بسيطة ويمكن أن تكون معقدة في حالات مثل الوسائط القابلة للإزالة removable media .
امثلة سابقة لبعض الدوائر المتكاملة ROM
أجهزة الكمبيوتر القديمة
الحواسيب القديمة التي كانت في الفترة بين أربعينيات وخمسينيات القرن الماضي كانت عبارة عن جهود هندسية مبذولة وقد تأخذ أسابيع للبرمجة، وكان تحميل البرنامج أحد المشاكل العديدة التي كان يجب حلها. أحد الحواسيب القديمة: إينياك، لم يكن يحوي على أي برمجية مخزنة في الذاكرة، وإنما وُضع لحل كل مشكلة على حدى بواسطة تكوين أسلاك الربط. لم يكن نظام الإقلاع مُطبّق في إينياك، حيث كان جاهزاً لحل المشاكل بمجرد تزويده بالطاقة.
أجهزة الكمبيوتر التجارية الأولى
احتوت أولى الحواسيب القابلة للبرمجة وللبيع التجاري _ مثل UNIVAC I وIBM 701[4] _ على مزايا لتبسيط العمليات. حيث احتووا على تعليمات تُنجز عمليات دخل أو خرج كاملة.
محمل الإقلاع
محمل الإقلاع (Bootloader) هو البرنامج الموكل بتحميل باقي أجزاء نظام التشغيل بعد نجاح اختبارات التشغيل الذاتي (POST)، ويتواجد عادة في أول قرص الإقلاع ويتم استدعائه من قبل البيوس.
محملات إقلاع المرحلة الثانية
الإقلاع من الشبكة
معظم الأجهزة الحديثة لها القدرة على الإقلاع عبر الشبكة (computer network)، في هذا السيناريو يتم تخزين نظام التشغيل على قرص الخادم (server)، ويتم نقل أجزاء معينة منه إلى جهاز العميل (client) باستخدام بروتوكول بسيط مثل بروتوكول نقل الملفات المبسط Trivial File Transfer Protocol (TFTP) ، بعد أن يتم نقل هذه الأجزاء يصبح نظام التشغيل مسيطر على عملية الإقلاع .
مراحل الإقلاع
هناك مرحلتان أساسيتان عند بدء تشغيل الحاسوب هما:
- إقلاع تمهيدي Pre-booting
- إقلاع النظام System booting
الإقلاع التمهيدي
بعد تشغيل الجهاز أو إعادة تشغيله يتم استدعاء برنامج صغير تم تخزينه مسبقا على ذاكرة للقراءة فقط ROM. قد يكون هذا البرنامج مخزونا ضمن وحدة المعالجة المركزية CPU أو ضمن وحدة أخرى تدعى البيوس BIOS أو نظام الإدخال والإخراج الأساسي. وظيفة هذا البرنامج تتلخص في الاتي:
- التأكد من سلامة وحدات الجهاز الأساسية مثل ذاكرة التخزين RAM ولوحة المفاتيح والشاشة ومحركات الأقراص بالإضافة إلى وحدات أخرى مثل الفأرة والكروت الملحقة وكل وحدات الإدخال والإخراج وأي أجهزة أخرى ملحقة بالحاسوب. في الحواسيب المعتمدة على البيوس BIOS تدعى هذه الخطوة باختبار التشغيل الذاتي POST.
- قراءة وتنفيذ تفضيلات المستخدم (إن وجدت) مثل السماح باستمرارية الإقلاع وترتيبات الأجهزة المراد الإقلاع عبرها.
- البحث عن برنامج ذو مستوى أعلى من الإقلاع وتسليمه المهمة.
إقلاع النظام
تنتهي مهمة البيوس بالبحث عن وحدة قابلة للإقلاع فتقوم بتحميل قطاع الإقلاع وتسليم المهام للشفرة المخزونة في هذا القطاع ويدعى هذا القطاع في محركات الأقراص الصلبة بسجل الإقلاع الرئيسي (MasterBoot Record MBR) حيث يقوم بدوره بقراء جدول الاقسام والبحث عن التقسيم الفعال. عند العثور على التقسيم الفعال يتم تحميل شفرة قطاع الإقلاع (النواة في بعض أنظمة التشغيل). بالنسبة لمحركات الأقراص ذات السعات التي تفوق 2TB تتم عمليات الإقلاع بطريقة مختلفة عن البيوس وذلك بواسطة جدول التقسيم ذو المعرفات الفريدة الشامل GPT .
إقلاع دوس
يعتمد نظام تشغيل دوس DOS وميكروسوفت دوس MS-DOS على مجموعة ملفات رئيسية هي IO.SYS, MSDOS.SYS, CONFIG.SYS, COMMAND.COM بالإضافة إلى ملف اختياري هو autoexec.bat. توجد هذه الملفات في القطاع الفعال كما يشترط وجود IO.SYS في قطاع الإقلاع كي يتم تحميله بواسطة سجل الإقلاع الرئيسي MBR.
إقلاع ويندوز
- مقالة مفصلة: بدء تشغيل ويندوز
تختلف أنظمة إقلاع ويندوز باختلاف الإصدارات مثلا ويندوز 3x يعتمد على MS-DOS في الإقلاع ثم يضاف أمر Win.com في الملف الدفعاتي Autoexec.bat لاستكمال عملية إقلاع ويندوز. الحالة مشابهة في كل من ويندوز 95 وويندوز 98 إلا أن ويندوز يستطيع الإقلاع دون الحاجة لتضمين win.com في الملف الدفعاتي autoexec.bat.
بالنسبة لويندوز NT و2000 وXP تتم عملية الإقلاع بطريقة مختلفة تماما عن سابقاتها حيث أن عملية تهيئة نظام الملفات تمهد قطاع بدء الإقلاع بحيث يتم البحث عن ملف يدعى ntldr والذي يقوم بدوره في البحث عن تقسيمات الإقراص والتقسيمات الفعالة، بعد ذلك يقوم هذا الملف بالبحث عن ملف آخر يدعى boot.ini وهو ملف نصي تخزن فيه أنظمة التشغيل المراد إقلاعها ونظام الإقلاع الافتراضي. إذا كان نظام الإقلاع المطلوب هو ويندوز 2000 أو XP يتم التوجيه باستكمال عمليات الإقلاع عبر ملف يدعى ntdetect.com.
تختلف عملية إقلاع ويندوز فيستا كليا عن جميع أنظمة ويندوز السابقة وذلك لكي تتوافق مع أنظمة التشغيل الأخرى مثل يونكس ولينكس. يستخدم ويندوز فيستا Windows Boot Manager (BOOTMGR) بدلا من NTLDR والذي يقوم بقراءة بيانات إعداد الإقلاع BCD. يختلف إقلاع ويندوز فيستا عن نسخ ويندوز السابقة في قدرته على التعرف على أنظمة أخرى كـ لينكس ويونكس وتعديل قائمة BCD عند بدء الإقلاع للسماح للمستخدم باختيار نظام التشغيل المناسب.
إقلاع لينكس
- مقالة مفصلة: بدء تشغيل لينكس
لتحميل نواة لينكس على الذاكرة الرئيسية للنظام يمكن استخدام أي من واجهات الإقلاع التالية:
- ليلو: وهي واجهة بدء تشغيل تقوم بقراءة بيانات بدء الإقلاع المخزونة في المسار /etc/lilo.conf إلا أنها تستمد بعض بياناتها من MBR مثل معرفة أنظمة تشغيل ويندوز.
- جرب: واجهة بدء إقلاع مستقلة كليا عن MBR أكثر مرونة وقادرة على تفادي الأخطاء.
- لودلين: واجهة بدء إقلاع تقوم بتحميل لينكس من أنظمة دوس.
إقلاع عبر الشبكة
تدعم بعض أنظمة البيوس وأنظمة التشغيل طريقة الإقلاع عبر الشبكة في أجهزة الحاسوب الحديثة.
إعادة التشغيل
- إعادة تشغيل بارد: ينجم عنه إغلاق زر التشغيل ثم تشغيله مرة أخرى وتتم هذه العملية لضمان إعادة تشغيل الجهاز آليا دون الحاجة لضغط زر الطاقة مرة أخرى.
- إعادة تشغيل ناعم: تقوم بها بعض البرامج لإعادة ضبط خط البيانات.
مقالات ذات صلة
- البيوس BIOS
- نظام تشغيل
- جنو جرب GRUB
- سجل الإقلاع الرئيسي MBR
- سجل إقلاع القسم VBR
- سجل الإقلاع الموسع EBR
مصادر ومراجع
- Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3 (3A, 3B, 3C & 3D): System Programming Guide ( كتاب إلكتروني PDF ). مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 9 أكتوبر 2019.
- Brown, Eric (2008-10-02). "MontaVista Linux drives Dell's quick-boot feature". linuxdevices.com. مؤرشف من الأصل في 18 أبريل 201620 نوفمبر 2010.
- Oldcomputers: Altair 8800b - تصفح: نسخة محفوظة 03 يوليو 2018 على موقع واي باك مشين.
- Buchholz, Werner (1953). "The System Design of the IBM Type 701 Computer" (PDF). Proceedings of the I.R.E. 41 (10): 1273. نسخة محفوظة 26 أبريل 2012 على موقع واي باك مشين.