آلة ماكسين الافتراضية

آلة ماكسين الافتراضية هي آلة افتراضية مفتوحة المصدر طُوّرت في جامعة مانشستر. [ 2 ] كانت تُطوّر سابقًا بواسطة مختبرات صن مايكروسيستمز ، [ 3 ] والتي أُعيد تسميتها لاحقًا إلى مختبرات أوراكل. يركز تصميم ماكسين البرمجي على التصميم المعياري وإعادة استخدام الكود لتحقيق المرونة وقابلية التكوين والإنتاجية لباحثي الآلات الافتراضية في المجالين الصناعي والأكاديمي. وهي واحدة من عدد متزايد من آلات جافا الافتراضية المكتوبة بالكامل بلغة جافا بأسلوب دائري . ومن الأمثلة عليها سكواك وجييكس آر في إم .

بنيان

تتميز آلة ماكسين الافتراضية داخليًا بالاستخدام المكثف لميزات اللغة المتقدمة في Java 1.5 و 1.6، وبالأنظمة الفرعية المعيارية المنسقة من خلال واجهات Java، وبغياب المفسر ، وبأداة تصحيح الأخطاء وأداة التصور المترابطة بإحكام لتطوير الآلات الافتراضية.

التوافق

برنامج ماكسين متوافق مع حزمة تطوير جافا (JDK) غير المعدلة. يمكن تطوير ماكسين وبناؤه وتشغيله في بيئات تطوير جافا المتكاملة (IDEs) القياسية، بما في ذلك NetBeans و Eclipse و IntelliJ IDEA .

برمجة الأنظمة بلغة جافا

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

مفتشة ماكسين

يُقدّم برنامج Maxine Inspector دعمًا متخصصًا لتصحيح الأخطاء في بيئة Maxine الافتراضية، وهو أداة مُصاحبة تعمل كمتصفح مُدمج للكائنات والفئات والأساليب، بالإضافة إلى كونه مُصحّح أخطاء على مستوى الآلة ومستوى البايت كود. [ 4 ] يعمل برنامج Inspector خارج العملية، ولا يحتاج إلى دعم نشط من بيئة افتراضية، ويستفيد من الكود المُشترك مع البيئة الافتراضية لتقديم خدمات مُخصصة للمطورين، تستغل المعرفة التفصيلية بتخطيط الذاكرة وتصميم البيئة الافتراضية. [ 5 ] تشمل الخدمات البارزة ما يلي:

  • عرض متعدد الأوضاع للتعليمات البرمجية [ 6 ] (المصدر، بايت كود، [ 7 ] التعليمات البرمجية للآلة المفككة [ 8 ] ) مع نقاط توقف متعددة الأوضاع [ 9 ] والتنفيذ خطوة بخطوة؛
  • الخيط، [ 10 ] المكدس، [ 11 ] السجل، [ 12 ] وفحص المتغيرات المحلية للخيط؛
  • تصور مرن للذاكرة على مستوى منخفض [ 13 ] مع تفسير ديناميكي وربط قيم الذاكرة، على سبيل المثال كمواقع التعليمات البرمجية، ومراجع الكائنات؛
  • التصور الديناميكي لحقول الكائنات والبيانات الوصفية؛ [ 14 ]
  • تفاصيل تكوين صورة التمهيد؛ [ 15 ] و
  • دعم متخصص خاص بالخوارزمية لتصحيح الأخطاء أثناء عملية جمع البيانات المهملة.

تاريخ

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

تم إنشاء الإصدار الثابت (فحص الكومة) من Maxine Inspector بواسطة بيرند ماثيسك في عام 2006. تولى مايكل فان دي فانتر تطوير Inspector في عام 2007، مضيفًا دعمًا ديناميكيًا عندما أصبحت الآلة الافتراضية قابلة للتنفيذ واستمرت في التطور طوال فترة استحواذ شركة أوراكل على شركة صن .

واصلت شركة أوراكل تطوير برنامج ماكسين حتى إصدار ماكسين 2.0. [ 16 ] وتقوم جامعة مانشستر بتطوير ماكسين اعتبارًا من الإصدار 2.1. [ 17 ]

انظر أيضاً

مراجع

ملحوظات

  1. ^ "Maxine VM: جهاز VM Metacircular لـ Java في Java" . جيثب . 18 نوفمبر 2021.
  2. ويمر وآخرون 2013 ، ص. 1.
  3. "Oracle Labs – حول" . Labs.oracle.com . تم الاطلاع عليه بتاريخ 25-06-2017 .
  4. "مشروع ماكسين: مفتش ماكسين" . community.oracle.com . تم الاطلاع عليه بتاريخ 2019-04-08 .
  5. "مقدمة إلى برنامج ماكسين إنسبكتور (عرض توضيحي)" . youtube.com . 5 أبريل 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  6. "عرض توضيحي مصغر لبرنامج ماكسين إنسبكتور 6 من 10 (2008): طرق عرض متعددة التعليمات البرمجية" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  7. "عرض توضيحي مصغر لبرنامج ماكسين إنسبكتور 5 من 10 (2008): بايت كود مفكك" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  8. "عرض توضيحي مصغر لبرنامج ماكسين إنسبكتور 4 من 10 (2008): شفرة الآلة المفككة" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  9. "عرض توضيحي مصغر لبرنامج ماكسين إنسبكتور 10 من 10 (2008): نقاط التوقف" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  10. "عرض توضيحي مصغر لبرنامج ماكسين إنسبكتور 7 من 10 (2008): الخيوط" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  11. "Maxine Inspector Mini-Demo 9 of 10 (2008): Stacks" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  12. "عرض توضيحي مصغر لبرنامج ماكسين إنسبكتور 8 من 10 (2008): السجلات" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  13. "عرض توضيحي مصغر لماكسين إنسبكتور 2 من 10 (2008): الذاكرة" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  14. "عرض توضيحي مصغر لبرنامج ماكسين إنسبكتور 3 من 10 (2008): كائنات الكومة" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  15. "عرض توضيحي مصغر لبرنامج ماكسين إنسبكتور 1 من 10 (2008): تهيئة صورة الإقلاع" . youtube.com . 28 أغسطس 2010. تم الاطلاع عليه بتاريخ 8 أبريل 2019 .
  16. "نسخة مؤرشفة" . مؤرشفة من الأصل بتاريخ 2016-03-04 . تم الاطلاع عليها بتاريخ 2013-09-18 .{{cite web}}: CS1 maint: archived copy as title ( link )
  17. "Maxine-VM: Maxine VM: آلة افتراضية بحثية دائرية فائقة" . GitHub. 21 يونيو 2017. تم الاسترجاع في 25 يونيو 2017 .

فهرس

  • كوتسيليديس، كريستوس؛ كلاركسون، جيمس؛ رودتشينكو، أندريه؛ نيسبيت، آندي؛ ماور، جون؛ لويان، ميكيل (2017). "أنظمة وقت التشغيل المُدارة غير المتجانسة". وقائع المؤتمر الدولي الثالث عشر لجمعية ACM SIGPLAN/SIGOPS حول بيئات التنفيذ الافتراضية . VEE 2017. الصفحات 74-82 . doi : 10.1145/3050748.3050764 . ISBN  978-1-4503-4948-2.
  • ويمر، كريستيان؛ هاوبت، مايكل؛ فان دي فانتر، مايكل ل.؛ جوردان، ميك؛ داينيس، لوران؛ سيمون، دوغلاس (يناير 2013). "ماكسين: آلة افتراضية سهلة الاستخدام للغة جافا" . معاملات ACM في هندسة البرمجيات وتحسينها . 9 (4). المادة 30. doi : 10.1145/2400682.2400689 . ISSN 1544-3566 .