اقرأ في هذا المقال
- ما هي نواة لينكس
- إصدار نواة لينكس التقليدي
- مقدمة عن نظام الإصدارات
- كيف يتم تسمية إصدارات نواة لينكس الآن
- كيفية تحديد إصدار نواة لينكس باستخدام أرقام الإصدارات
يحتوي كل إصدار من إصدارات (Linux kernel) على رقم إصدار مختلف مرتبط به، هل تساءلت يومًا عن كيفية تكوين أرقام إصدار (Linux kernel)؟ إذا كنت من مستخدمي لينكس (Linux) لفترة طويلة، فستعرف أنّ توزيعات (Linux) لها إصدارات فريدة ولكل إصدار اسم رمزي محدد، يحتوي (Linux kernel) أيضًا على أرقام إصدارات مختلفة، والتي تعمل كمعرف للسلسلة التي تنتمي إليها (kernel)، ومع ذلك، هناك فرق بين كيفية تكوين إصدارات (kernel) في وقت سابق وكيف يسميها (Linus Torvalds)، في نهاية المقال، ستكون أكثر دراية بنظام إصدارات (Linux kernel) وستشعر براحة أكبر في قراءة أرقام إصدارات (kernel) وتحديد الميزات المختلفة المرتبطة بإصدار معين.
ما هي نواة لينكس
نواة (Linux) هي أساس نظام تشغيل كمبيوتر (Linux)، النواة هي أدنى مستوى من البرامج التي يمكنها التفاعل مع أجهزة الكمبيوتر، جميع تطبيقات وخوادم (Linux) تتفاعل أيضًا مع نواة لينكس، تعتمد جميع توزيعات لينكس على (Linux kernel) وتستخدم خدماتها لتنفيذ وظائف البرامج المختلفة، على عكس النواة المختلطة لأنظمة (Microsoft Windows) و(Mac OS X)، فإنّ (Linux kernel) متجانسة، تتحكم النواة المتجانسة في وحدة المعالجة المركزية والذاكرة والاتصال بين العمليات (IPC) وبرامج تشغيل الأجهزة وإدارة نظام الملفات واستدعاءات خادم النظام.
إصدار نواة لينكس التقليدي
عندما بدأ (Linus) في تطوير النواة لأول مرة، كان نظام الإصدار المستخدم يتألف ببساطة من مخطط متغير متزايد يبدأ بصفر (0.x)، في البداية، كان (Linus) هو الوحيد الذي يعمل في المشروع، وكان نظام الإصدار هذا كافياً لتوثيق وتوزيع إصدارات (kernel) الجديدة، في وقت لاحق، مع بدء المزيد من المطورين بالمساهمة في المشروع وزيادة عدد المراجعات والتصحيحات بشكل كبير، تقرر أنّ مخطط الإصدار هذا لم يكن مناسبًا لبرامج مثل (kernel)، وبدءًا من الإصدار (1.0)، اعتمد (Linus) مخططًا جديدًا مع بعض المتغيرات الإضافية.
مقدمة عن نظام الإصدارات
في عام (1994)، مع إصدار (Linux kernel 1.00)، بدأ (Linus) في استخدام نظام إصدار جديد يستخدم ثلاثة متغيرات في بناء الجملة: (a.b.c)، تمثل هذه المتغيرات (a.b.c) الإصدار الرئيسي والإصدار الثانوي ورقم المراجعة لإصدار النواة المحدد، على التوالي، خذ (Linux kernel 1.1.95) كمثال، يمكنك فك تشفيرها كأول إصدار رئيسي وأول إصدار ثانوي ومراجعة (95).
كما أن أرقام الإصدارات الثانوية تشير إلى إصدارات (kernel) المستقرة، بينما تمثل الأرقام الفردية إصدارات التطوير، كان من المهم أن يكون لديك فروع منفصلة حتى يتمكن المطورون من إضافة ميزات جديدة واختبارها في النواة دون التأثير على الفرع المستقر، يضيف مطورو النواة (Kernel) ميزات جديدة ويحسّنونها في فرع التطوير حتى يصبح مستقرًا بدرجة كافية ليتم إصداره كنواة (LTS)، تمّ تطوير نواة (LTS 3.2) من خلال تثبيت الميزات الجديدة في الإصدار (3.1)، وبالمثل، تمّ تشعب نواة تطوير جديدة (3.3) من (3.2) لإفساح المجال لميزات جديدة سيتم تقديمها بعد ذلك في (Linux 3.4).
بدءًا من (Linux kernel 2.4)، يشير متغير رابع في اسم (kernel) إلى إصدارات التصحيح، يمكنك القول أنّ الإصدار (2.4.37.10) هو إصدار التصحيح العاشر لـ (kernel 2.4.37).
ملاحظة: لا يعني إصدار التصحيح عدد المشكلات التي تمّ تصحيحها في إصدار (kernel)، لكنّه يقوم بحساب عدد المرات التي تمّ فيها إصدار نواة محدثة بعد تصحيح المشكلات التي تمّ العثور عليها.
حتى (Linux 2.6)، تمّ استخدام نظام النسخ هذا، وكان فعّالاً في تمييز إصدار معين عن الآخرين، كانت إضافة عدد المراجعات وإصدارات التصحيح في رقم الإصدار وصفية، ولكنّها تعني وجود إصدارات أطول وأكثر تعقيدًا من (kernel)، ومرة أخرى، كانت هناك حاجة إلى مخطط جديد وأفضل.
كيف يتم تسمية إصدارات نواة لينكس الآن
مع الإصدار (3.0) من لينكس، أسقط (Linus) المتغير الرابع من رقم الإصدار، الآن، يتم تكوين إصدار (kernel) وفقًا للصيغة: (a.b.c)، حيث يمثل (a و b و c) الإصدار الرئيسي والإصدار الثانوي وعدد المراجعة على التوالي، يشبه نظام النسخ هذا النظام المستخدم بين إصدارات (1.0 و 2.4 kernel).
ونظرًا للتطورات في أنظمة التحكم في الإصدار، يمكن للمساهمين الآن العمل بسلاسة على الفروع الثابتة وإضافة ميزات جديدة دون التعرض لخرق الإصدارات المستقرة التي تعمل بالفعل، لذلك أصبح استخدام أرقام الإصدارات الثانوية الفردية والزوجية للفروع المستقرة والإنتاجية للنواة غير ضروري بعد إدخال إصدار (kernel 4.0)، وكان لإصدار (LTS) الأول (4.1) في سلسلة (4.x) رقم إصدار ثانوي فردي.
قد تلاحظ أيضًا بعض الأحرف في نهاية رقم الإصدار، مثل (rcX)، (أو “rc” باختصار) هي إصدارات المعاينة وإصدارات التصحيح المسبق للنواة التي يحتاج المطورون إلى تصحيحها لإزالة الأخطاء والمشكلات الأخرى، هذه هي بديل لإصدارات التطوير التي تمّ الإشارة إليها مسبقًا برقم إصدار ثانوي فردي.
وعلى الرغم من أنّ هذه الإصدارات محجوزة خصيصًا لمطوري (kernel) حتى يتمكنوا من إصلاح المشكلات التي تمّ الإبلاغ عنها وتنفيذ ميزات جديدة، يمكنك أيضًا تنزيل واختبار المرشحين لمراجعة (kernel) إذا كنت ترغب في ذلك، ولكن لا يُنصح عمومًا بالنظر إلى أنّ هذا هو المكان الذي يحدث فيه معظم التطوير، أحدث إصدار معاينة من (kernel) في وقت كتابة هذا المقال هو (5.19-rc6).
تسمية إصدارات نواة لينكس للإصدارات الجديدة
لإنشاء إصدارات جديدة، تتم زيادة المتغير السابق عندما تصل قيمة المتغير إلى رقم معين، على سبيل المثال يتم تحديث الإصدار الرئيسي إلى الرقم التالي عندما يقترب عدد الإصدارات الثانوية من (20)، ذكر “لينوس” في بريد تطوير النواة (5.0) أنّه قام ببساطة بتحديث الرقم الرئيسي إلى خمسة، لأنّ عدد الإصدارات الثانوية أصبح أكبر من (20)، وبالمثل، فإنّ رقم الإصدار الرئيسي يزداد عندما يبدأ الرقم بعد النقطة الأولى في الظهور “كبيرًا جدًا”، كان إصدار (kernel) الأخير في سلسلة (3.x 3.19) وآخر سلسلة (4.x kernel) الرئيسية كان (4.20)، والذي تمّ رفعه بعد ذلك إلى (5.0).
منذ الإصدار (3.0)، كان (Linux kernel) يتبع نظام الإصدارات هذا وقد أثبت فعاليته لما يصل إلى ثلاثة إصدارات رئيسية من (kernel) (الإصدارات 3.x و 4.x و 5.x).
كيفية تحديد إصدار نواة لينكس باستخدام أرقام الإصدارات
بالنظر إلى العدد الهائل من إصدارات نواة لينكس (Linux kernel) التي تمّ إصدارها، هناك حاجة إلى نظام مناسب لتحديد وتمييز إصدار معين عن الإصدارات الأخرى، باستخدام نظام إصدارات (kernel) الجديد، يمكن الآن تحديد إصدارات (kernel) ومقارنتها بفعالية، ومن السهل معرفة إصدار (kernel) الأحدث وأي إصدار تمّ إصداره مسبقًا، إذا كنت تريد التحقق من إصدار (Linux kernel) المثبت حاليًا على نظامك، فيمكنك القيام بذلك باستخدام (uname)، وهو أمر (Linux) يتيح لك سرد المعلومات المتعلقة بالنظام، اعتمادًا على التوزيعة التي تقوم بتشغيلها، قد يكون رقم الإصدار المعروض بواسطة (uname) مختلفًا عن إصدارات (Linux kernel) الفعلية.