جينود (بالاتكليزية Genode) [3] [4] [4] هو نظام تشغيل مجاني ومفتوح المصدر يتكون من نواة مصغرة ومجموعة من البرمجيات المساعدة والتي تتموضع خارج النواة . يُعتبر هذا النظام هو احد أنظمة التشغيل المفتوحة المصدر القليلة غير المستمدة من انظمة التشغيل الشائعة الاخرى مثل Unix . يمثل حجم نواة نظام التشغيل مصدر قلق رئيسي من ناحية الأمان. كلما ازداد جحم النواة كلما اصبحت امكانية وجود بعض الثغرات الأمنية فيها أكبر. ومن هنا تاتي اهميه استخدام الأنظمة مصغرة النواة مثل جينود. تم استخدام Genode كنقطة ارتكاز لتطبيق العديد من المجالات مثل المحاكاة الافتراضية [4]، اليات التحكم في تواصل المكونات البرمجية [5]، وعزل مكونات الشبكة[3][6]، الرصد والمراقبة [7] ، واخيرا، اليات تطوير البرمجيات [8][9]
Genode | |
---|---|
الشركة / المطور | Genode labs |
آخر إصدار ثابت | 19.02 28 شباط 2019 |
إصدارات | 20.05 (28 مايو 2020)[1] |
لغة البرمجة | سي++[2] |
الرخصة | رخصة جنو أفيرو العمومية العامة، الإصدار 3.0 |
موقع ويب | https://genode.org/ |
يمكن استخدام Genode كنظام تشغيل للاجهزة المكتبية[10][11] واللوحية [12] أو على جهاز افتراضي.
نبذة تاريخية
تم تطويرجينود في البداية كتقرير بحثي تحت عنوان "Bastei OS Architecture" في جامعة درسدن التقنية - ألمانيا. كان الهدف من التقرير هو تحديد التطبيق العملي لنظم التشغيل التي توفرالأمان للمكونات البرمجية من خلال المقدرات (cababilities) التي يمتلكها كل مكون. بعد نجاح النموذج الأولي للبحث، قام مؤلفو التقرير بتأسيس شركة Genode Labs لتطوير نظام التشغيل Bastei باسم Genode OS Framework.
الاصدارات
تم تطوير المشروع كمشروع مفتوح المصدر تم إصداره بموجب شروط رخصة جنو أفيرو العمومية. في كل عام يتم اصدار اريع اصدارات من نظام التشغيل بمعدل اصدار جديد كل ثلاثة أشهر. كل اصدار يحتوي على شرح مفصل لكل التغيرات والتحسينات. بعد الإصدار 18.02 تم توفير نسخة من نظام التشغيل تُدعى Sculpt موجهة للأغراض العامة.
البنية المعمارية
الفلسفة العامة للأنظمة مصغرة النواة تقوم على مبدء أنه كلما كان الكود البرمجي أصغر وأبسط، كان من الأسهل التحقق من وثوقيته وثباته وخلوه من الثغرات. تم تطوير جينود استناد على هذه الفلسفة، بل ونقلها لتشمل البرمجيات المتموضعه خارج النواة ايضا من خلال التركيز على بناء تطبيقات معقدة من مكونات صغيرة. كل مكون موجود في تسلسل هرمي وفق العلاقة أب - ابن. كل مكون يمتلك مكون أب ومكون ابن أو أكثر. أي مكون أب يُمكنه التحكم بمصادر ( مثل مساحة التحزين) والتواصل بين ابناءه (IPC) .
انتقادات
لغة البرمجة ++c
غالبا ما يتم انتقاد جينود لاختياره سي بلس بلس (++C) كلغة البرمجة المستخدمه في كتابة تطبيقاته أو برمجة نواته. بكل الأحوال، جينود ليس نظام التشغيل الوحيد الذي استخدم هذه اللغة، هناك العديد من أنظمة التشغيل بالإضافة إلى معظم المتصفحات في يومنا الحالي بُنيت باستخدام هذه اللغة. المنتقدون لهذا الأختيار غالبا ما يُركّزون على نقطة مهمه وهي أن لغة سي بلس بلس هي اختيار سيئ لتنفيذ مكتبات النظام وواجهات برمجة التطبيقات بسبب التعقيد التي تتسم به اللغة وصعوبة تحليل التعليمات البرمجية الخاصة بها. للحد من هذه الانتقادات، حاول جينود الحد من المشاكل المرتبطة بلغة البرمجة سي بلس بلس. فبينما يَستخدم جينود مفاهيم الوراثة والقوالب المتعددة في مكتبة النظام الخاصة به، فانه لا يُسمح باستخدام مكتبة سي بلس بلس القياسية، كما انه تمت إزالة بعض ميزات اللغة لشائكة الاخرى. لغة الترميز القابلة للامتداد (إكس إم إل) XML
تستخدم المكونات البرمجية في جينود ملف اكس ام ال يحتوي على بيانات منظمة متسلسلة لتحدد الخدمات التي تمتلكها والتي تحتاجها. يتم انتقاد اكس ام ال على نطاق واسع بسبب ميزاتها المعقدة والصعوبة في تحرير مستندات اكس ام ال يدويًا. جينود يستخدم اكس ام ال لاسباب متعددة ومن اهمها هو أن مستندات اكس ام ال يتم تحليلها بسهولة وتوليدها برمجياً مع استمرار إمكانية فهمها وتحريرها يدويًا. بكافة الاحوال، جينود لا يستخدم كل مزايا اكس ام ال ومع ذلك فان المستخدمين الجدد غالباً ما يشتكون خلال تحرير مستندات اكس ام ال ويصرحون بان هذه العملية مملة ومن السهل للمستخدم ان يخطئ فيها.
مقالات ذات صلة
- HelenOS، وهو نظام تشغيل قائم مصغر النواة يعمل على الاجهزة المكتبية.
- QNX، نظام تشغيل يشبه نظام يونكس، يحتوي على نواة مصغرة.
- Qubes OS، نظام تشغيل يوفر الحماية من خلال المحاكاة الافتراضية.
مراجع
- Release 20.05 — تاريخ الاطلاع: 28 مايو 2020 — تاريخ النشر: 28 مايو 2020
- The genode Open Source Project on Open Hub: Languages Page — تاريخ الاطلاع: 19 أكتوبر 2018 — الرخصة: رخصة أباتشي، الإصدار 2.0
- "Introduction of the Genode OS Framework". archive.fosdem.org/2012. مؤرشف من الأصل في 04 سبتمبر 2018.
- "Embassies: Radically Refactoring the Web" ( كتاب إلكتروني PDF ). USENIX. مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 23 نوفمبر 2013.
- Martin Wegner, Sönke Holthusen (2014-12-11). "Contract Specification and language". ccc-project.org. مؤرشف من الأصل في 27 مارس 2019.
- Hamad, Mohammad. "A communication framework for distributed access control in microkernel-based systems" ( كتاب إلكتروني PDF ). مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 01 مارس 2017.
- B.PRUTHIVIRAJ, G.S.MADHUSUTHUN, S.VIJAYASARATHY, K.CHAKRAPANI. "A MICROKERNEL BASED SECURE OPERATING SYSTEM USING GENODE FRAMEWORK" ( كتاب إلكتروني PDF ). jatit.org. مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 13 أبريل 2018.
- Hähne, Ludwig. "Empirical Comparison of SCons and GNU Make" ( كتاب إلكتروني PDF ). مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 01 مارس 2017.
- Millo-Sánchez, Reinier & Paz Rodríguez, Waldo & Fajardo-Moya, Alexis. "Genode OS Framework, un framework para el desarrollo de sistemas embebidos". ResearchGate. مؤرشف من الأصل في 17 ديسمبر 2019.
- Baader, Hans-Joachim. "Genode 2018.2 mit Sculpt OS". pro-linux.de.
- Larabel, Michael. "Sculpt Aims To Be A General-Purpose OS Built Atop Genode".
- Tarasikov, Alexander (2013-05-11). "Porting Genode to commercial hardware". allsoftwaresucks.blogspot.com.