جينود
{{يتيمة|تاريخ=مارس 2019}}
{{بطاقة برمجية}}
'''جينود (بالاتكليزية Genode)''' <ref name="مولد تلقائيا2">{{استشهاد ويب
| مسار = https://archive.fosdem.org/2012/schedule/event/microkernel_intro_genode.html
| عنوان = Introduction of the Genode OS Framework
| موقع = archive.fosdem.org/2012
| مسار أرشيف = https://web.archive.org/web/20180904024535/https://archive.fosdem.org/2012/schedule/event/microkernel_intro_genode.html | تاريخ أرشيف = 04 سبتمبر 2018 }}</ref><ref name="مولد تلقائيا1">{{استشهاد ويب |عنوان=Embassies: Radically Refactoring the Web |مسار=https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final85.pdf |ناشر=USENIX| مسار أرشيف = https://web.archive.org/web/20131123074401/https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final85.pdf | تاريخ أرشيف = 23 نوفمبر 2013 }}</ref><ref name="مولد تلقائيا1" /> هو [[نظام تشغيل]] حر [[برمجية حرة مفتوحة المصدر|ومفتوح المصدر]] يتكون من [[نواة مصغرة]] ومجموعة من البرمجيات المساعدة والتي تتموضع خارج النواة. يُعتبر هذا النظام هو أحد أنظمة التشغيل المفتوحة المصدر القليلة غير المستمدة من انظمة التشغيل الشائعة الأخرى مثل [[يونكس|Unix]] . يمثل حجم نواة نظام التشغيل مصدر قلق رئيسي من ناحية الأمان. كلما ازداد جحم النواة كلما أصبحت امكانية وجود بعض الثغرات الأمنية فيها أكبر. ومن هنا تاتي اهميه استخدام الأنظمة مصغرة النواة مثل جينود.
تم استخدام Genode كنقطة ارتكاز لتطبيق العديد من المجالات مثل المحاكاة الافتراضية <ref name="مولد تلقائيا1" />، اليات التحكم في تواصل المكونات البرمجية <ref>{{استشهاد ويب |مؤلف1-الأخير=Martin Wegner, Sönke Holthusen |عنوان=Contract Specification and language |مسار=http://ccc-project.org/december-11th-2014-contract-specification-and-language/ |موقع=ccc-project.org|تاريخ=2014-12-11 | مسار أرشيف = https://web.archive.org/web/20190327090752/http://ccc-project.org/december-11th-2014-contract-specification-and-language/ | تاريخ أرشيف = 27 مارس 2019 }}</ref>، وعزل مكونات الشبكة<ref name="مولد تلقائيا2" /><ref>{{استشهاد ويب|مسار=https://www.cs.hs-rm.de/~kaiser/events/ospert16/pdf/ospert16-p6.pdf|عنوان=A communication framework for distributed access control in microkernel-based systems|الأخير=Hamad|الأول=Mohammad| مسار أرشيف = https://web.archive.org/web/20170301201005/https://www.cs.hs-rm.de/~kaiser/events/ospert16/pdf/ospert16-p6.pdf| تاريخ أرشيف = 01 مارس 2017}}</ref>، الرصد والمراقبة <ref>{{استشهاد ويب|مسار=http://www.jatit.org/volumes/Vol38No2/9Vol38No2.pdf|عنوان=A MICROKERNEL BASED SECURE OPERATING SYSTEM USING GENODE FRAMEWORK|الأخير=B.PRUTHIVIRAJ, G.S.MADHUSUTHUN, S.VIJAYASARATHY, K.CHAKRAPANI|موقع=jatit.org| مسار أرشيف = https://web.archive.org/web/20180413050159/http://www.jatit.org/volumes/Vol38No2/9Vol38No2.pdf| تاريخ أرشيف = 13 أبريل 2018}}</ref> ، واخيرا، اليات تطوير البرمجيات <ref>{{استشهاد ويب |مؤلف1-الأخير=Hähne |مؤلف1-الأول=Ludwig |عنوان=Empirical Comparison of SCons and GNU Make |مسار=http://www.genode-labs.com/publications/scons-vs-make-2008.pdf| مسار أرشيف = https://web.archive.org/web/20170301195934/http://www.genode-labs.com/publications/scons-vs-make-2008.pdf | تاريخ أرشيف = 01 مارس 2017 }}</ref><ref>{{استشهاد ويب |مؤلف1-الأخير=Millo-Sánchez, Reinier & Paz Rodríguez, Waldo & Fajardo-Moya, Alexis |عنوان=Genode OS Framework, un framework para el desarrollo de sistemas embebidos |مسار= https://www.researchgate.net/publication/283506872 |موقع=ResearchGate|مسار أرشيف= https://web.archive.org/web/20191217234655/https://www.researchgate.net/publication/283506872|تاريخ أرشيف=2019-12-17|حالة المسار=dead}}</ref>

يمكن استخدام Genode كنظام تشغيل للاجهزة المكتبية<ref>Baader, Hans-Joachim. "Genode 2018.2 mit Sculpt OS". pro-linux.de.</ref><ref>Larabel, Michael. "Sculpt Aims To Be A General-Purpose OS Built Atop Genode".</ref> واللوحية <ref>Tarasikov, Alexander (2013-05-11). "Porting Genode to commercial hardware". allsoftwaresucks.blogspot.com.</ref> أو على [[فيرشوال بوكس|جهاز افتراضي]].

== نبذة تاريخية ==

تم تطويرجينود في البداية كتقرير بحثي تحت عنوان "Bastei OS Architecture" في [[جامعة دريسدن التقنية|جامعة درسدن التقنية]] - ألمانيا. كان الهدف من التقرير هو تحديد التطبيق العملي لنظم التشغيل التي توفرالأمان للمكونات البرمجية من خلال المقدرات (cababilities) التي يمتلكها كل مكون. بعد نجاح النموذج الأولي للبحث، قام مؤلفو التقرير بتأسيس شركة Genode Labs لتطوير نظام التشغيل Bastei باسم Genode OS Framework.

== الاصدارات ==

تم تطوير المشروع كمشروع مفتوح المصدر تم إصداره بموجب شروط [[رخصة جنو أفيرو العمومية]]. في كل عام يتم إصدار أربعة إصدارات من نظام التشغيل بمعدل إصدار جديد كل ثلاثة أشهر. كل إصدار يحتوي على شرح مفصل لكل التغيرات والتحسينات. بعد الإصدار 18.02 تم توفير نسخة من نظام التشغيل تُدعى Sculpt موجهة للأغراض العامة.

== البنية المعمارية ==

الفلسفة العامة للأنظمة [[نواة مصغرة|مصغرة النواة]] تقوم على مبدء أنه كلما كان الكود البرمجي أصغر وأبسط، كان من الأسهل التحقق من وثوقيته وثباته وخلوه من الثغرات. تم تطوير جينود استناد على هذه الفلسفة، بل ونقلها لتشمل البرمجيات المتموضعه خارج النواة أيضا من خلال التركيز على بناء تطبيقات معقدة من مكونات صغيرة. كل مكون موجود في تسلسل هرمي وفق العلاقة أ'''ب - ابن'''. كل مكون يمتلك مكون أب ومكون ابن أو أكثر. أي مكون أب يُمكنه التحكم بمصادر (مثل مساحة التحزين) [[التواصل بين العمليات|والتواصل بين ابناءه]] (IPC).

== انتقادات ==
'''لغة البرمجة ++c'''

غالبا ما يتم انتقاد جينود لاختياره [[سي++|سي بلس بلس]] (++C) كلغة البرمجة المستخدمه في كتابة تطبيقاته أو برمجة نواته. بكل الأحوال، جينود ليس نظام التشغيل الوحيد الذي استخدم هذه اللغة، هناك العديد من أنظمة التشغيل بالإضافة إلى معظم المتصفحات في يومنا الحالي بُنيت باستخدام هذه اللغة. المنتقدون لهذا الأختيار غالبا ما يُركّزون على نقطة مهمه وهي أن لغة سي بلس بلس هي اختيار سيئ لتنفيذ مكتبات النظام وواجهات برمجة التطبيقات بسبب التعقيد التي تتسم به اللغة وصعوبة تحليل التعليمات البرمجية الخاصة بها. للحد من هذه الانتقادات، حاول جينود الحد من المشاكل المرتبطة بلغة البرمجة سي بلس بلس. فبينما يَستخدم جينود مفاهيم الوراثة والقوالب المتعددة في مكتبة النظام الخاصة به، فانه لا يُسمح باستخدام مكتبة سي بلس بلس القياسية، كما انه تمت إزالة بعض ميزات اللغة لشائكة الأخرى.
'''لغة الترميز القابلة للامتداد''' ('''إكس إم إل''') '''XML'''

<span data-segmentid="126" class="cx-segment">تستخدم المكونات البرمجية في جينود ملف [[لغة التوصيف القابلة للتوسعة|اكس ام ال]] يحتوي على بيانات منظمة متسلسلة لتحدد الخدمات التي تمتلكها والتي تحتاجها.</span> <span data-segmentid="128" class="cx-segment">يتم انتقاد [[لغة التوصيف القابلة للتوسعة|اكس ام ال]] على نطاق واسع بسبب ميزاتها المعقدة والصعوبة في تحرير مستندات [[لغة التوصيف القابلة للتوسعة|اكس ام ال]] يدويًا.</span> جينود <span data-segmentid="129" class="cx-segment">يستخدم [[لغة التوصيف القابلة للتوسعة|اكس ام ال]] لاسباب متعددة ومن اهمها هو أن مستندات [[لغة التوصيف القابلة للتوسعة|اكس ام ال]] يتم تحليلها بسهولة وتوليدها برمجياً مع استمرار إمكانية فهمها وتحريرها يدويًا.</span> بكافة الاحوال، جينود لا يستخدم كل مزايا <span data-segmentid="128" class="cx-segment">[[لغة التوصيف القابلة للتوسعة|اكس ام ال]]</span> <span data-segmentid="130" class="cx-segment">ومع ذلك فان المستخدمين الجدد غالباً ما يشتكون خلال تحرير مستندات [[لغة التوصيف القابلة للتوسعة|اكس ام ال]] ويصرحون بان هذه العملية مملة ومن السهل للمستخدم ان يخطئ فيها.</span>

== انظر أيضًا ==

* HelenOS، وهو نظام تشغيل قائم مصغر النواة يعمل على الاجهزة المكتبية.
* [[كيو إن إكس|QNX]]، نظام تشغيل يشبه نظام يونكس، يحتوي على نواة مصغرة.
* Qubes OS، نظام تشغيل يوفر الحماية من خلال المحاكاة الافتراضية.

== مراجع ==

{{مراجع}}

== روابط خارجية ==
* {{روابط برمجيات}}
* {{موقع رسمي}}
* {{غيت هاب|genodelabs|genode}}
{{شريط بوابات|أمن المعلومات|برمجيات|برمجيات حرة|تقانة المعلومات|علم الحاسوب}}

[[تصنيف:نظم تشغيل تعمل على آي أيه-32]]
[[تصنيف:نظم تشغيل تعمل على إكس86-64]]
[[تصنيف:أمن نظام التشغيل]]
[[تصنيف:نظم تشغيل تعمل على معمارية آرم]]
[[تصنيف:برمجيات حرة بلغة سي++]]
[[تصنيف:نظم تشغيل حرة]]
جينود (بالاتكليزية Genode)  هو نظام تشغيل حر ومفتوح المصدر يتكون من نواة مصغرة ومجموعة من البرمجيات المساعدة والتي تتموضع خارج النواة. يُعتبر هذا النظام هو أحد أنظمة التشغيل المفتوحة المصدر القليلة غير المستمدة من انظمة التشغيل الشائعة الأخرى مثل Unix . يمثل حجم نواة نظام التشغيل مصدر قلق رئيسي من ناحية الأمان. كلما ازداد جحم النواة كلما أصبحت امكانية وجود بعض الثغرات الأمنية فيها أكبر. ومن هنا تاتي اهميه استخدام الأنظمة مصغرة النواة مثل جينود.
تم استخدام Genode كنقطة ارتكاز لتطبيق العديد من المجالات مثل المحاكاة الافتراضية ، اليات التحكم في تواصل المكونات البرمجية ، وعزل مكونات الشبكة، الرصد والمراقبة  ، واخيرا، اليات تطوير البرمجيات 

يمكن استخدام Genode كنظام تشغيل للاجهزة المكتبية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. أو على جهاز افتراضي.

 نبذة تاريخية 

تم تطويرجينود في البداية كتقرير بحثي تحت عنوان "Bastei OS Architecture" في جامعة درسدن التقنية - ألمانيا. كان الهدف من التقرير هو تحديد التطبيق العملي لنظم التشغيل التي توفرالأمان للمكونات البرمجية من خلال المقدرات (cababilities) التي يمتلكها كل مكون. بعد نجاح النموذج الأولي للبحث، قام مؤلفو التقرير بتأسيس شركة Genode Labs لتطوير نظام التشغيل Bastei باسم Genode OS Framework.

 الاصدارات 

تم تطوير المشروع كمشروع مفتوح المصدر تم إصداره بموجب شروط رخصة جنو أفيرو العمومية. في كل عام يتم إصدار أربعة إصدارات من نظام التشغيل بمعدل إصدار جديد كل ثلاثة أشهر. كل إصدار يحتوي على شرح مفصل لكل التغيرات والتحسينات. بعد الإصدار 18.02 تم توفير نسخة من نظام التشغيل تُدعى Sculpt موجهة للأغراض العامة.

 البنية المعمارية 

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

 انتقادات 
لغة البرمجة ++c

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

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

 انظر أيضًا 

 HelenOS، وهو نظام تشغيل قائم مصغر النواة يعمل على الاجهزة المكتبية.
 QNX، نظام تشغيل يشبه نظام يونكس، يحتوي على نواة مصغرة.
 Qubes OS، نظام تشغيل يوفر الحماية من خلال المحاكاة الافتراضية.

 مراجع 

 روابط خارجية 
 
 
 

تصنيف:نظم تشغيل تعمل على آي أيه-32
تصنيف:نظم تشغيل تعمل على إكس86-64
تصنيف:أمن نظام التشغيل
تصنيف:نظم تشغيل تعمل على معمارية آرم
تصنيف:برمجيات حرة بلغة سي++
تصنيف:نظم تشغيل حرة