Linux kernel يغير أجزاء من التعليمات البرمجية الخاصة بك من Assembler إلى C

لغة البرمجة ج

معروف من قبل الجميع لغة المجمع هي الأسرع بالنسبة لبعض المشكلات ولهذا السبب فهو الأكثر استخدامًا في نواة أنظمة التشغيل المختلفة ويحدث نفس الشيء لمشاريع الوقت الفعلي حيث يتم استخدام الإلكترونيات المتقدمة. تأتي المشكلة لاحقًا ، عندما يحتاج هذا الرمز إلى الصيانة وهو ليس كذلك ، وبالتالي في حالة Linux kernel ، اختار المطورون ترجمة كود Assembler هذا إلى لغة C.

C هي لغة برمجة Linux الأكثر تمثيلا (في الواقع ، من بين جميع الأنظمة الأساسية * nix) ، تم تطويره بواسطة دنيس ريتشي و Ken Thompson في عام 1972 ، تم تصنيعه على نظام Unix PDP-11 وكان جزءًا من الإصدار 2. من Unix نظرًا لأدائه العالي وإمكانية نقله ، فقد بدأ استخدامه أكثر فأكثر في تنفيذ أنظمة التشغيل ، وبالتالي لينوس تورفالدس استخدمها في مشروعه عندما كان يبحث في عام 1990 عن بديل مجاني ومفتوح لـ Minix.

بالطبع ، على الرغم من العديد من نقاط القوة ، يتمتع Assembler ببعض المزايا على C كما ذكرنا في البداية ، لذلك فقد فاجأ هذا القرار ولكن وفقًا لما تعليقات آندي Lutomirsky في القوائم البريدية لـ kernel ، يسير عملك على قدم وساق و Linux kernel 4.1 تحديث سيكون أول من يدمج إعادة كتابة كود مصدر المجمع هذا إلى C. على وجه التحديد ، كل ما يتعلق بمخارج وضع المستخدم ، والذي يتكون حاليًا من مزيج من التعليمات البرمجية من لغتي البرمجة هاتين ، ولكن نظرًا لقلة صيانته ، يصبح معقدًا بشكل متزايد عند التحديث.

هل هذا هو كود في المجمع لم يتم تحديثه منذ فترة طويلة وهذا يعني أن المطورين الجدد ليسوا واضحين تمامًا بشأن تشغيله ، والأسوأ أنه لن يكون من السهل تحديثه. وبالتالي ، بدلاً من محاولة إجراء بعض التغييرات الجزئية ، فقد اختاروا البدء في تغيير جميع إجراءات المجمع هذه إلى C ، وأعتقد شخصيًا أنه على الرغم من فقدان بعض سرعة التنفيذ (وهو ما قد يكون ضئيلاً إذا كان الرمز C الجديد فعالاً) يُفضل دائمًا رمز جديد وواضح على أن يكون قديمًا وباحتمالات تحديث معدومة تقريبًا لأنه لم يتم فهم كيفية تنفيذه جيدًا.