ليمبو (لغة برمجة)

ليمبو هي لغة برمجة لكتابة الأنظمة الموزعة، وهي اللغة المستخدمة لكتابة التطبيقات لنظام التشغيل إنفيرنو . وقد صُممت في مختبرات بيل بواسطة شون دوروارد ، وفيل وينتربوتوم ، وروب بايك . [ 1 ]

يقوم مُصرّف Limbo بإنشاء كود كائن مستقل عن بنية النظام، والذي يتم تفسيره بواسطة الآلة الافتراضية Dis أو تجميعه قبل وقت التشغيل مباشرةً لتحسين الأداء. لذلك، فإن جميع تطبيقات Limbo قابلة للنقل بشكل كامل عبر جميع منصات Inferno.

استلهم نهج ليمبو في التزامن من عمليات هوار المتسلسلة المتصلة (CSP)، كما تم تنفيذه وتعديله في لغة بايك السابقة Newsqueak ولغة وينتربوتوم Alef .

خصائص اللغة

يدعم برنامج Limbo الميزات التالية:

آلة افتراضية

الآلة الافتراضية Dis التي تُنفّذ شيفرة Limbo هي آلة افتراضية شبيهة بـ CISC، تتضمن تعليماتٍ للحساب، والتحكم في تدفق البيانات ، ونقل البيانات ، وإنشاء العمليات ، والمزامنة والتواصل بين العمليات، وتحميل وحدات الشيفرة، ودعم أنواع البيانات عالية المستوى: السلاسل النصية، والمصفوفات، والقوائم، وقنوات الاتصال. [ 2 ] وهي تستخدم مزيجًا من عدّ المراجع وجامع قمامة في الوقت الحقيقي للبيانات الدورية. [ 3 ]

استُلهمت جوانب من تصميم جهاز Dis من المعالج الدقيق AT&T Hobbit ، كما هو مستخدم في جهاز BeBox الأصلي .

أمثلة

يستخدم نظام Limbo تعريفات على نمط لغة Ada كما يلي:

الاسم := النوع القيمة ؛ الاسم0 ، الاسم1 : النوع = القيمة ؛ الاسم2 ، الاسم3 : النوع ؛ الاسم2 = القيمة ؛

مرحبا بالعالم

تنفيذ الأمر ؛تضمين "sys.m" ؛ sys : Sys ؛تضمين "draw.m" ؛تضمين "sh.m" ؛init ( nil : ref Draw -> Context , nil : list of string ) { sys = load Sys Sys -> PATH ; sys -> print ( "Hello World! \n " ); }

الكتب

يُشرح الإصدار الثالث من نظام التشغيل Inferno ولغة البرمجة Limbo في كتاب Inferno Programming with Limbo ISBN 0-470-84352-7(تشيتشستر: جون وايلي وأولاده، 2003)، بقلم فيليب ستانلي ماربل . كتاب مدرسي آخر بعنوان "كتاب برمجة إنفيرنو: مقدمة في البرمجة لنظام إنفيرنو الموزع" ، من تأليف مارتن أتكينز، وتشارلز فورسيث، وروب بايك ، وهوارد تريكي، بدأ العمل عليه، لكنه لم يُنشر قط.

انظر أيضاً

مراجع

  1. "برمجة تطبيقات إنفيرنو" . فيتانوفا . فيتانوفا. مؤرشف من الأصل في 7 فبراير 2025. تم الاطلاع عليه في 26 يناير 2021 .
  2. "مواصفات الآلة الافتراضية Dis" . فيتا نوفا. 2000. مؤرشف من الأصل في 20 فبراير 2025. تم الاطلاع عليه في 2 فبراير 2015 .
  3. لورنز هولسبيرجن وفيل وينتربوتوم (1998). "جمع البيانات المهملة المتزامن للغاية بتقنية الوسم والمسح بدون تزامن دقيق" (ملف PDF) . الندوة الدولية لإدارة الذاكرة لعام 1998 .