Arch boot process (العربية)

From ArchWiki
Jump to: navigation, search

محمل الإقلاع Bootloader

بعدما يتم تشغيل الجهاز و يتم إجراء إختبارات ما بعد الإقلاع POST , يقوم BIOS يتحديد وسيط التخزين الإقلاعي و يقوم بنقل السلطة الى القطاع الرئيس للإقلاع لهذا الوسيط . في أجهزة GNU/Linux يتم تحميل محمل الإقلاع من سجل الإقلاع الرئيس Master Boot Record لذالك الوسيط ويكون عادةً إما GRUB أو LILO , مُحمل الإقلاع يوفر للمستخدم عدد من الخيارات لإتمام عملية الإقلاع . فعلى سبيل المثال عندما يتم تحديد Arch Linux على محمل إقلاع ثنائي يتوفر عليه Arch Linux و نظام windows ; فسيقوم مُحمل الإقلاع بتحميل النواة (vmlinuz-linux) وتهيئة صورة نظام الملفات الوهمي (initramfs-linux.img) الى الذاكرة ثم يقوم ببدء النواة , ممرراً عنوان الذاكرة الخاص بصورة نظام الملفات الى النواة .

النواة

النواة هي قلب نظام التشغيل . وتعمل وظائفها في المستوى الأدنى (kernelspace) لتقوم بالربط فيما بين عتاد الجهاز والبرامج التي تستخدم ذلك العتاد فتشغله . لاستخدام أمثل للمعالج , تقوم النواة باستخدام الجدولة لكي تُحدد أي من المهام ستأخذ الأولوية في أي لحظة , مما يُعطي الإنطباع أن المهام تُنفذ في آن واحد .

نظام ملفات الذاكرة الابتدائي initramfs

بعد أن يتم تحميل النواة الى الذاكرة , تقوم النواة بفك ضغط initramfs (اختصار للعبارة Initial RAM filesystem) الذي يُصبح نظام تشغيل الملفات الإبتدائي للمجلد الجذر , وبعد ذلك تقوم النواة بتنفيذ/init كأول عملية . بعد ذلك تبدأ مرحلة فضاءالمستخدم early userspace .

الهدف من initramfs هو هو إقلاع بدائي للنظام لكي يصل الى نقطة تُمكنه من الوصول الى نظام ملفات الجذر . وهذا يعني أن أيّ من ( انظر FHS لمزيد من التفاصيل) .المطلوبة وهذا يعني أن أيّا من الوحدات المتطلبة لتشغيل الأقراص كأقراص IDE, SCSI, SATA, USB/FW (إذا كان الإقلاع من قرص خارجي) يجب أن يتم تحميلها من initramfs إذا لم تكن تلك الواحدات مبنية داخل النواة . بمجرد أن يتم تحميل الواحدات المطلوبة (إما بشكل مقصود عن طريق برنامج أو بشكل تلقائي عن طريق udev لهذا السبب ؛ يحتاج initramfs أن يحتوي فقط على الواحدات المطلوبة للوصول الى نظام الملفات الجذر وليس من الضروري أن تحتوي على جميع الواحدات التي يمكن استخدامها من قبل النظام , لأن الأغلبية من الواحدات سيتم تحميلها الى الذاكرة لاحقاً بواسطة udev خلال عملية init

Init process العملية الأم

في المرحلة الأخيرة من فضاء المستخدم سيتم وصل قرص نظام ملفات الجذر ويستبدل مكان نظام الملفات الأولي . سيتم تنفيذ العملية /sbin/init مُستبدلةً العملية الأم /init .

في السابق كانت توزيعة Arch تستخدم SysVinit كعملية init إفتراضية , لكن في الإصدارات الجديدة من Arch أصبحت تستخدم systemd إفتراضياً . لذا فينصح جميع مستخدمي SysVinit الإنتقال الى systemd .

انظر أيضًا