إنفيرنو (Inferno) وتعني "جحيم"، هو نظام تشغيل موزع بدأ في مختبرات بل، لكنّه يُطوَّر الآن من قِبَل فيتا نوفا القابضة كَـبرمجيَّة حرَّة.[2] وارتكز على تجارب لبلان 9 من مختبرات بل، وَأبحاث مختبرات بل حول أنظمة التشغيل وَاللُّغات وَالمُجمّعات وَالرّسوميّات وَالحماية وَالشبكات وَقابليّة النقل. استُلهِم اسم نظام التشغيل وبرامجه المُرافقة من الكوميديا الإلهية لِـدانتي أليغييري.
جحيم Inferno | |||||||
---|---|---|---|---|---|---|---|
جحيم، الإصدار الرابع
| |||||||
الشركة / المطور | مختبرات بل، فيتا نوفا | ||||||
حالة العمل | حاليٌّ | ||||||
النموذج المصدري | مفتوح المصدر | ||||||
إصدار في | 1996 | ||||||
المنصة | إيه آر إم، بيه-ريسك، ميبس، باور بي سي، سبارك، إكس 86 | ||||||
لغة البرمجة | سي،[1] ليمبو | ||||||
نمط النواة | آلة افتراضية (Dis) | ||||||
الرخصة | رخصة جنو العمومية، رخصة جنو العمومية الصغرى، رخصة إم أي تي | ||||||
موقع ويب | www |
||||||
حالة الدعم | تدعمه بلان 9 | ||||||
|
إنَّ برامجه محمولة على أكثر من نوع من العَتاد وَالشبكات وَالبيئات. وَتُعَرِّف آلة افتراضية يُمكن تطبيقها على أي آلة حقيقيّة وَمعروفة بإسم آلة ديس الافتراضيّة، ويوفّر لغة ليمبو وهي لغة آمنة النمط تُجَمَّع إلى شِفرة بايت محمولة، وَأيضًا يتضمّن نظام تشغيل افتراضيّ يؤمّن نفس الواجهات عند تشغيله على عَتاده الرسميّ أو ضمن نظام تشغيل آخر.
يُطبَّق بروتوكول اتّصالات يُدعى ستيكس(Styx) لتوحيد الوصول إلى المصادر المحليّة والتحكُّم بها، والّتي تستخدمه البرامج عند استدعاء مدير الملفّات القياسيّ للقيام بالعمليَّات: فتح، قراءة، كتابة، إغلاق. وفي الإصدار الرابع للنظام، أصبح ستيكس مُماثلًا لِلإصدار الأحدث من بروتوكول 9 بي الخاص بِـبلان 9 وهو 9 بي 2000.
مبادئ التصميم
أنُشِئ جحيم في 1995 من قِبَل أعضاء من مختبرات بل في قسم أبحاث علم الحاسوب عبر جلب أفكار بلان 9 من مختبرات بل إلى نطاق أوسع من الأجهزة وَالشبكات. وهو نظام تشغيل موزع مُرتكز على على ثلاثة مبادئ أساسيَّة مُشتَقَّة من بلان 9:
- الموارد كملفَّات: تُمَثَّل كل المَوارد كملفَّات ضمن نظام ملفَّات شجريّ.
- حيِّز الأسماء: نظرة البرنامج للشبكة هي أنَّها حيِّز أسماء وحيد وَمُتماسِك يظهر كَنظام ملفَّات شجريّ لكن قد يعرض موارد منفصلة فيزيائيًّا.
- بروتوكول تواصل قياسيٌّ: يُستخدم بروتوكول قياسيّ يُدعى ستيكس(Styx) للولوج إلى كلّ الموارد، محليَّةً كانت أم عن بُعدٍ.
بهدف استيعاب تنوُّع بيئات الشبكة المُراد استخدامها فيه، رَكَنَ المُصمِّمون إلى أنَّ الآلة الافتراضيَّة هي مُكوِّن ضروريّ للنظام. وكانت هذه نفس خُلاصة مشروع أوك (Oak project) الَّذي أصبح جافا. آلة ديس الافتراضيَّة هي آلة تسجيل (Register machine) مُعَدَّة لتطابق المِعماريّة الَّتي تُشَغَّل عليها، بعكس آلة التكديس (stack machine) الخاصّة بِـآلة جافا الافتراضية. فائدة هذا المَسعى هو البساطة النسبيّة لإنشاء مُترجم في الوقت المُناسِب للمِعماريَّات الجديدة.
تؤمِّن الآلة الافتراضيَّة إدارةً للذاكرة صُمِّمَت لتكون فَعَّالة على الأجهزة الَّتي لا تتعدّى ذاكرتها 1 ميبي بايت (ميبي بايت=1,048,576 بايت، رمزها: MiB) وَبدون عَتاد تخطيط-الذاكرة. إنَّ جابي القُمامة هو تهجين حساب المرجع وَجابي تلوين بالوقت المُناسب يلمّ البيانات المُنسّقة.[3]
كتب
- Stanley-Marbell, Phillip (2003). "Inferno Programming with Limbo | ". Chichester: John Wiley & Sons. describes the 3rd edition of the Inferno operating system, though it focuses more on the Limbo language and its interfaces to the Inferno system, than on the Inferno system itself. For example, it provides little information on Inferno's versatile قشرة, which is understandable since it is a programming language textbook.
- Stuart, Brian (2008). Principles of Operating Systems: Design and Applications. Course Technology. . , uses Inferno for examples of operating system design.
- Atkins, Martin; Forsyth, Charles; Pike, Rob; Trickey, Howard. "The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System". was intended to provide an operating-system-centric point of view, but was never completed.
المراجع
- Dorward, Sean; Pike, Rob; Presotto, David Leo; Ritchie, Dennis M.; Trickey, Howard; Winterbottom, Phil (1997). "The Inferno Operating System". Inferno Documentation. Vita Nuova. مؤرشف من الأصل في 15 أغسطس 201802 مايو 2014.
- "Project Hosting". Google. مؤرشف من الأصل في 24 فبراير 201504 يونيو 2012.
- Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" ( كتاب إلكتروني PDF ). مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 3 مارس 2019.
روابط خارجيّة
- Documentation papers for the latest inferno release.
- Source code repo, at Bitbucket.
- Inferno Fourth Edition Download, including source code.
- Inferno manual pages.
- Other Inferno documents of interest.
- Mailing list and other resources.
- Ninetimes: News and articles about Inferno, Plan 9 and related technologies.
- Inferno programmer's notebook - A journal made by an Inferno developer.
Ports
- Inferno for the Nintendo DS
- Inferno for the Marvell Kirkwood/Sheevaplug
- Inferno on OLPC
- Inferno port to the Openmoko neo freerunner
تهتم بالتاريخ