بدء تشغيل لينكس
يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. (ديسمبر 2018) |
عملية بدء تشغيل لينكس هي عملية تهيئة متعددة المراحل تتم خلال تمهيد التثبيت للينكس. وهي مماثلة في نواح كثيرة لعمليات إقلاع نظام BSD والأنظمة التي على غرار يونكس، والمشتقة منها.
تتضمن عملية الإقلاع لتثبيت لينُكس عدة مراحل ومكونات برمجية، بما في ذلك تهيئة البرامج الثابتة، تنفيذ مُحمِّل الإقلاع، تحميل وبدء تشغيل صورة نواة لينكس، وتنفيذ برمجيات وسكريبتات إقلاع عديدة. هناك نهج وأشكال مختلفة لكل من هذه المراحل والمكونات؛ على سبيل المثال، يمكن استخدام جنو جرب، ليلو، SYSLINUX أو Loadlin كمحملات إقلاع، في حين يمكن أن تكون سكريبتات بدء التشغيل تقليدية على نمط init أو يمكن لإعدادات النظام أن تُنفَّذ من خلال بدائل حديثة مثل systemd أو Upstart.
لمحة عامة
عدلتعتمد المراحل الأولية من عملية بدء تشغيل لينكس كثيراً على معمارية الحاسوب. فالأجهزة المتوافقة مع حاسب IBM هي أحد معماريات لينكس الشائع استخدامها على هذه الأنظمة. يلعب البيوس دوراً مهماً في عملية الإقلاع.
نفترض في المثال التالي (والذي يوضح عملية الإقلاع وبدء تشغيل لينكس) استخدام أجهزة متوافقة مع IBM PC:
- يُنجز البيوس مهام بدء التشغيل الخاصة بمنصة الأجهزة المستخدمة. عندما يتم سرد الأجهزة وتهيئة الضرورية منها لعملية الإقلاع بشكل صحيح، يتم تحميل البيوس وتنفيذ الأسطر البرمجية الخاصة بالإقلاع من ضبط أداة الإقلاع.
- يُقدم مُحَمِّل الإقلاع للمستخدم غالباً قائمة بخيارات الإقلاع الممكنة مع وجود خيار افتراضي والذي يتم اختياره تلقائياً بعد مرور مدة محددة. وحينما يتم الاختيار، يقوم مُحَمِّل الإقلاع بتحميل النواة إلى الذاكرة مزوداً إياها ببعض المعطيات ومعطياً إيًّاها التحكُّم.
- تقوم النواة بفك الضغط (استخراج) عن نفسها، وتنصِّب وظائف النظام مثل الأجهزة الأساسية وتصفُّح الذاكرة، كما تستدعي تعليمة
start_kernel()
والتي تُنجز غالبية عملية إعداد النظام (الصور البيانية، والباقي من إدارة الذاكرة، تهيئة الأجهزة والمعدات.. إلخ.) ومن ثم يبدأ العمل، كلٍّ على حدة، عملية الخمول، مبرمج الجدولة، وعملية التهيئة التي يتم تنفيذها في مساحة المستخدم. - تتألف عملية التهيئة إما من السكريبتات التي تُنفَّذ من قبل الصَدَفة (sysv, bsd, runit) أو ملفات الضبط التي يتم تنفيذها من قبل المكونات الثنائية (systemd, upstart). تتضمن التهيئة مستويات محددة (sysv ،bsd) أو وجهات محددة (systemd)، كلا منها يتكون من مجموعة محددة من الخدمات (برامج خفية). وتقوم هؤلاء بتوفير خدمات وبُنى غير متعلقة بنظام التشغيل كما تعمل على تشكيل بيئة المستخدم. تبدأ بيئة الملقم النمطية بعمل خادم الويب (web server) وخدمات قواعد البيانات والشبكات.
- تبدأ بيئة سطح المكتب النمطية ببرنامج خفي (daemon) يدعى مدير العرض، والذي يُنشئ بيئة رسومية تتضمن خادم رسومي يوفر بنية رسومية أساسية ومدير الحسابات والذي يوفر إمكانية إدخال البيانات الاعتمادية واختيار جلسة عمل. بعد أن يقوم المستخدم بإدخال البيانات الاعتمادية الصحيحة (ككلمة السر)، يبدأ مدير جلسة العمل الجلسة. الجلسة هي مجموعة من البرامج مثل عناصر واجهة المستخدم (القوائم، أسطح المكتب، عناصر الواجهة.. إلخ) والتي يمكن أن تُشكِّل سويةً بيئة سطح مكتب متكاملة.
عند إيقاف التشغيل، يتم استدعاء التهيئة لإغلاق جميع وظائف مساحة المستخدم بأسلوب منضبط، وحينها يتم إنهاء التهيئة وتقوم النواة بتنفيذ عملية إيقاف التشغيل الخاصة بها.
مرحلة محمل الإقلاع
عدلتختلف مرحلة مُحمِّل الإقلاع حسب معمارية الحاسوب. وبما أن المراحل الأولية. وبما أن المراحل الأولية غير محددة بنظام التشغيل، فإن عملية الإقلاع المبنية على البيوس لمعمارية إكس 86 و x86-64 تبدأ عندما يُنفَّذ كود سجل الإقلاع الرئيسي في الوضع الحقيقي وكذلك عندما يتم تحميل المرحلة الأولى لمُحَمِّل الإقلاع.