# إنفيرنو (نظام تشغيل)

إنفيرنو (بالإنجليزية: Inferno)‏ وتعني «جحيم»، هو نظام تشغيل موزع بدأ في مختبرات بل، لكنّه يُطوَّر الآن من قِبَل فيتا نوفا القابضة كَـبرمجيَّة حرَّة. وارتكز على تجارب لبلان 9 من مختبرات بل، وَأبحاث مختبرات بل حول أنظمة التشغيل وَاللُّغات وَالمُجمّعات وَالرّسوميّات وَالحماية وَالشبكات وَقابليّة النقل. استُلهِم اسم نظام التشغيل وبرامجه المُرافقة من الكوميديا الإلهية لِـدانتي أليغييري.
إنَّ برامجه محمولة على أكثر من نوع من العَتاد وَالشبكات وَالبيئات. وَتُعَرِّف آلة افتراضية يُمكن تطبيقها على أي آلة حقيقيّة وَمعروفة باسم آلة ديس الافتراضيّة، ويوفّر لغة ليمبو وهي لغة آمنة النمط تُجَمَّع إلى شِفرة بايت محمولة، وَأيضًا يتضمّن نظام تشغيل افتراضيّ يؤمّن نفس الواجهات عند تشغيله على عَتاده الرسميّ أو ضمن نظام تشغيل آخر.
يُطبَّق بروتوكول اتّصالات يُدعى ستيكس(Styx) لتوحيد الوصول إلى المصادر المحليّة والتحكُّم بها، والّتي تستخدمه البرامج عند استدعاء مدير الملفّات القياسيّ للقيام بالعمليَّات: فتح، قراءة، كتابة، إغلاق. وفي الإصدار الرابع للنظام، أصبح ستيكس مُماثلًا لِلإصدار الأحدث من بروتوكول 9 بي الخاص بِـبلان 9 وهو 9 بي 2000.

## مبادئ التصميم

أنُشِئ جحيم في 1995 من قِبَل أعضاء من مختبرات بل في قسم أبحاث علم الحاسوب عبر جلب أفكار بلان 9 من مختبرات بل إلى نطاق أوسع من الأجهزة وَالشبكات. وهو نظام تشغيل موزع مُرتكز على على ثلاثة مبادئ أساسيَّة مُشتَقَّة من بلان 9:
* الموارد كملفَّات: تُمَثَّل كل المَوارد كملفَّات ضمن نظام ملفَّات شجريّ.
* حيِّز الأسماء: نظرة البرنامج للشبكة هي أنَّها حيِّز أسماء وحيد وَمُتماسِك يظهر كَنظام ملفَّات شجريّ لكن قد يعرض موارد منفصلة فيزيائيًّا.
* بروتوكول تواصل قياسيٌّ: يُستخدم بروتوكول قياسيّ يُدعى ستيكس(Styx) للولوج إلى كلّ الموارد، محليَّةً كانت أم عن بُعدٍ.
بهدف استيعاب تنوُّع بيئات الشبكة المُراد استخدامها فيه، رَكَنَ المُصمِّمون إلى أنَّ الآلة الافتراضيَّة هي مُكوِّن ضروريّ للنظام. وكانت هذه نفس خُلاصة مشروع أوك (بالإنجليزية: Oak project)‏ الَّذي أصبح جافا. آلة ديس الافتراضيَّة هي آلة تسجيل (بالإنجليزية: Register machine)‏ مُعَدَّة لتطابق المِعماريّة الَّتي تُشَغَّل عليها، بعكس آلة التكديس (بالإنجليزية: stack machine)‏ الخاصّة بِـآلة جافا الافتراضية. فائدة هذا المَسعى هو البساطة النسبيّة لإنشاء مُترجم في الوقت المُناسِب للمِعماريَّات الجديدة.
تؤمِّن الآلة الافتراضيَّة إدارةً للذاكرة صُمِّمَت لتكون فَعَّالة على الأجهزة الَّتي لا تتعدّى ذاكرتها 1 ميبي بايت (ميبي بايت=1,048,576 بايت، رمزها: MiB) وَبدون عَتاد تخطيط-الذاكرة. إنَّ جابي القُمامة هو تهجين حساب المرجع وَجابي تلوين بالوقت المُناسب يلمّ البيانات المُنسّقة.

## كتب

* Stanley-Marbell، Phillip (2003). "Inferno Programming with Limbo | ISBN 0-470-84352-7". 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. ISBN:1-4188-3769-5., 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.