إن Linux المتعاون ، والمختصر كـ coLinux ، هو برنامج يسمح لـ Microsoft WindowsوLinux kernel بالعمل في نفس الوقت بالتوازي على نفس الجهاز.[3]
يستخدم التعاونية لينكس مفهوم الآلة الافتراضية التعاونية (CVM). على النقيض من الأجهزة الافتراضية التقليدية، تشارك CVM الموارد الموجودة بالفعل في نظام التشغيل المضيف.في مضيفات VM التقليدية، يتم محاكاة الموارد لكل نظام تشغيل (ضيف).يمنح نظام CVM كلاً من نظامي التشغيل التحكم الكامل في الجهاز المضيف بينما يقوم جهاز VM التقليدي بتعيين كل نظام تشغيل ضيف في حالة غير مستخدمة للوصول إلى الجهاز الحقيقي.
يستخدم مصطلح «التعاونية» لوصف كيانين يعملان بالتوازي. في الواقع التعاونية لينكس يتحول مختلفين حبات نظام التشغيل في الكبيرين coroutines . تحتوي كل نواة على سياق وحدة المعالجة المركزية (CPU) ومساحة العنوان الخاصة بها، وتقرر كل نواة وقت منح التحكم لشريكها.
ومع ذلك، في حين أن كلا النواة من الناحية النظرية لديها حق الوصول الكامل إلى الأجهزة الحقيقية، لم يتم تصميم أجهزة الكمبيوتر الحديثة ليتم التحكم بها بواسطة نظامي تشغيل مختلفين في نفس الوقت. لذلك، يتم ترك النواة المضيفة للتحكم في الأجهزة الحقيقية، وتحتوي نواة الضيف على برامج تشغيل خاصة تتواصل مع المضيف وتوفر العديد من الأجهزة المهمة لنظام التشغيل الضيف. يمكن للمضيف أن يكون أي نواة نظام تقوم بتصدير مواد أولية أساسية تسمح لبرنامج التشغيل المحمول Cooperative Linux بالعمل في وضع CPL0 (الحلقة 0)[لغات أخرى] وتخصيص الذاكرة.[4]
التاريخ
بدأ Dan Aloni أساسًا تطوير Linux التعاونية استنادًا إلى عمل مماثل مع Linux-mode المستخدم[لغات أخرى]. أعلن عن التطوير في 25 يناير 2004.[5]في يوليو 2004 قدم ورقة في ندوة لينكس.[6]تم إصدار المصدر تحت رخصة جنو العمومية العامة.وقد ساهم مطورو آخرون منذ ذلك الحين في العديد من التصحيحات والإضافات للبرامج.
مقارنات
يختلف نظام لينكس التعاوني اختلافًا كبيرًا عن التمثيل الافتراضي الكامل x86 ، والذي يعمل بشكل عام عن طريق تشغيل نظام التشغيل الضيف في وضع أقل امتيازًا من وضع نظام النواة، وإفراز جميع الموارد من قبل النواة المضيفة. في المقابل، يدير Cooperative Linux نواة لينكس معدلة خصوصًا، وهي تعاونية من حيث أنها تتحمل مسؤولية مشاركة الموارد مع NT nerne وعدم تحريض شروط السباق.