vkernel

بنية النواة الافتراضية ( vkernel ) هي نموذج افتراضي لنظام التشغيل، حيث يمكن تجميع كود النواة لتشغيله في مساحة المستخدم ، على سبيل المثال، لتسهيل تصحيح أخطاء مكونات النواة المختلفة، [ 3 ] [ 4 ] [ 5 ] بالإضافة إلى المحاكاة الافتراضية العامة وتقسيم موارد النظام . يستخدمها نظام DragonFly BSD في تطبيق vkernel الخاص به منذ DragonFly 1.7، [ 2 ] حيث تم الكشف عنها لأول مرة في سبتمبر 2006 ( 2006-09 ) ، [ 3 ] [ 6 ] وتم إصدارها لأول مرة في الفرع المستقر مع DragonFly 1.8 في يناير 2007 ( 2007-01 ) . [ 1 ] [ 7 ] [ 8 ] [ 9 ]    

يتمثل الهدف طويل المدى، بالإضافة إلى تسهيل تطوير النواة، في تسهيل دعم مجموعات الحواسيب المتصلة بالإنترنت دون المساس بالأمان المحلي . [ 3 ] [ 4 ]

توجد مفاهيم مماثلة في أنظمة تشغيل أخرى أيضًا؛ ففي لينكس، يُعرف مفهوم المحاكاة الافتراضية المماثل باسم لينكس في وضع المستخدم ؛ [ 10 ] [ 7 ] بينما في نت بي إس دي، منذ صيف 2007، كان هذا المفهوم هو محور التركيز الأولي لبنية نواة rump . [ 11 ]

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

يختلف مفهوم النواة الافتراضية (vkernel) عن بيئة FreeBSD المعزولة ( jail) في أن البيئة المعزولة مخصصة فقط لعزل الموارد، ولا يمكن استخدامها لتطوير واختبار وظائف النواة الجديدة في بيئة المستخدم، لأن كل بيئة معزولة تشترك في نفس النواة. [ 7 ] (مع ذلك، لا يزال DragonFly يدعم بيئات FreeBSD المعزولة أيضًا. [ 7 ] )

في نظام DragonFly، يمكن اعتبار النواة الافتراضية بمثابة بنية حاسوبية من الدرجة الأولى ، قابلة للمقارنة مع i386 أو amd64، ووفقًا لماثيو ديلون في عام 2007 تقريبًا، يمكن استخدامها كنقطة انطلاق لنقل نظام DragonFly BSD إلى بنى جديدة. [ 12 ]

يدعم نواة النظام المضيف نواة النظام الافتراضية (vkernel) الخاصة بنظام DragonFly من خلال استدعاءات نظام جديدة تساعد في إدارة مساحة عناوين الذاكرة الافتراضية ( vmspace ) - vmspace_create()وآخرون، [ 3 ] [ 9 ] [ 13 ] بالإضافة إلى امتدادات للعديد من استدعاءات النظام الحالية مثل mmap- madvise[ 9 ] [ 14 ] [ 15 ]mcontrol

انظر أيضاً

مراجع

  1. 1 2 "ملاحظات إصدار DragonFly 1.8.0" . DragonFly BSD . 30-01-2007 . تم الاطلاع عليه بتاريخ 08-04-2019 .
  2. 1 2 ساشا ويلدنر (2007-01-08). "vkernel، vcd، vkd، vke — بنية النواة الافتراضية" . دليل معلومات متنوعة عن DragonFly . DragonFly BSD .
  3. 1 2 3 4 ماثيو ديلون (2006-09-02). "تماسك الذاكرة المؤقتة، والتجميع، ومحاكاة النواة" . kernel@ (قائمة بريدية). DragonFly BSD .
  4. ١ ٢ جيريمي سي. ريد، محرر. (١٠ فبراير ٢٠٠٧). "إجابات من مات ديلون حول النواة الافتراضية لـ DragonFly" . BSD Newsletter.com . Reed Media.net. مؤرشف من الأصل في ٢٤ فبراير ٢٠٠٧.
  5. دانيال لورش (10-06-2009). "نقل نظام ملفات HAMMER إلى لينكس" (ملف PDF) . يُشغّل UML نواة لينكس كعملية في مساحة المستخدم، على غرار النوى الافتراضية لنظام DragonFly BSD... مما يسمح بدورة إعادة تجميع وإعادة تشغيل سريعة، ويمكن تصحيح أخطائه بسهولة باستخدام gdb القياسي.
  6. ماثيو ديلون (2006). "sys/vkernel.h" . مرجع BSD المتقاطع . DragonFly BSD .
  7. 1 2 3 4 ديفيد تشيسنال (15 يونيو 2007). "DragonFly BSD: UNIX for Clusters؟" . InformIT . Prentice Hall Professional . تاريخ الاسترجاع: 6 مارس 2019 .
  8. أنجيلوس إيكونوموبولوس (29 مارس 2010). "نظرة خاطفة على النواة الافتراضية لـ DragonFly (الجزء 1)" . LWN.net . تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  9. 1 2 3 أنجيلوس إيكونوموبولوس (16 أبريل 2010). "نظرة خاطفة على النواة الافتراضية لـ DragonFly (الجزء 2)" . LWN.net . تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  10. كوين فيرفلوسيم (21 أبريل 2010). "DragonFly BSD 2.6: نحو نظام تشغيل مجاني للتجميع" . LWN.net . تم الاطلاع عليه بتاريخ 7 مارس 2019 .
  11. أنتي كانتي (5 أغسطس 2007). "تعديل CVS: src/sys/rump" . source-changes@ (قائمة بريدية). NetBSD . تقديم RUMPs - برامج تعريفية قابلة للتنفيذ في مساحة المستخدم
  12. جيريمي أندروز (2007-08-06). "مقابلة: ماثيو ديلون" . كيرنل تراب . مؤرشف من الأصل في 2012-02-07 . تم الاطلاع عليه في 2019-03-03 .
  13. ماثيو ديلون (2006). "vm/vm_vmspace.c § sys_vmspace_create()" . مرجع BSD المتقاطع . DragonFly BSD .
  14. "madvise، posix_madvise، mcontrol — تُقدّم نصائح حول استخدام الذاكرة" . دليل استدعاءات نظام DragonFly . DragonFly BSD .
  15. "kern/syscalls.master" . مرجع BSD المتقاطع . DragonFly BSD .