← أحدث الأبحاث
💻 computer science

Velosiraptor: Code Synthesis for Memory Translation

يعتبر Velosiraptor نظاماً لتوليد الأكواد البرمجية يقوم تلقائياً بتوليد أكواد أنظمة تشغيل منخفضة المستوى ومحققة لتهيئة أجهزة الذاكرة، مما يؤدي إلى القضاء على أخطاء التنفيذ اليدوي وتسهيل عملية نقل أنظمة التشغيل إلى منصات جديدة ذات آليات ترجمة مبتكرة.

المؤلفون الأصليون: Reto Achermann, Em Chu, Ryan Mehri, Ilias Karimalis, Margo Seltzer

نُشر 2026-08-11
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Reto Achermann, Em Chu, Ryan Mehri, Ilias Karimalis, Margo Seltzer

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

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

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


الورقة البحثية: فيلوسيرابتور (Velosiraptor)

تعرفوا على "فيلوسيرابتور"، وهي أداة جديدة تعمل كمهندس معماري بارع وروبوت لكتابة الكود في آن واحد. فبدلاً من إجبار المطورين البشر على تدوين التعليمات المعقدة ومنخفضة المستوى اللازمة لتهيئة أجهزة الذاكرة يدوياً، تتيح "فيلوسيراپتور" لهم ببساطة وصف ما يجب أن تفعله الأجهزة بكلمات عالية المستوى بسيطة. فكر في الأمر كإعطاء طباخ بطاقة وصفة تقول: "اصنع شطيرة باللحم والجبن"، بدلاً من إجباره على سرد كل خطوة من تقطيع الخبز، وفرد المايونيز، وترتيب اللحم يدوياً. تأخذ "فيلوسيرابتور" ذلك الوصف البسيط وتولد تلقائياً الكود الدقيق والمتحقق منه المطلوب لجعل الأجهزة تتصرف تماماً كما هو موصوف.

يعمل النظام عن طريق تفكيك أجهزة الذاكرة المعقدة إلى كتل أصغر قابلة للإدارة تشبه قطع "الليغو". وهي تستخدم لغة خاصة لوصف كيفية ترابط هذه الكتل معاً وكيفية استجابتها للطلبات المختلفة. وبمجرد جاهزية الوصف، لا تقوم "فيلوسيرابتور" بمجرد التخمين؛ بل تستخدم محركًا رياضيًا قويًا (يسمى حلّال المعادلات المنطقية - SMT solver) لاختبار ملايين التوليفات الممكنة من الكود في عقلها. إنها تبحث عن التسلسل المحدد من التعليمات الذي سينقل الأجهزة من حالتها الحالية إلى الحالة المرغوبة دون كسر أي قواعد. وإذا وجدت حلاً، فإنها تتحقق منه رياضياً لضمان صحته بنسبة 100% قبل تسليم الكود للمطور.

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

ولعل الجزء الأكثر إثارة في هذا البحث هو أن "فيلوسيرابتور" لا تكتب البرمجيات فحسب؛ بل يمكنها أيضاً بناء الأجهزة نفسها في بيئة محاكاة. باستخدام نفس الوصف، يمكن للأداة توليد نسخة افتراضية من أجهزة الذاكرة لتشغيلها على محاكي حاسوبي. وهذا يسمح للباحثين باختبار تصميمات ذاكرة جديدة وخيالية دون الحاجة إلى بناء شريحة مادية أولاً. يمكنهم رؤية ما إذا كانت الفكرة الجديدة تعمل، وتعديلها، وتوليد البرمجيات لتشغيلها، وكل ذلك عبر جهاز كمبيوتر محمول.

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

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →