مينيكس 3

Minix 3 هو نظام تشغيل صغير يشبه نظام Unix، تم نشره بموجب ترخيص BSD-3-Clause [ a ] ، وهو مشروع خلف للإصدارات السابقة، Minix 1.x و 2.0. [ 1 ]

يهدف المشروع بشكل أساسي إلى جعل النظام مقاومًا للأعطال من خلال اكتشافها وإصلاحها تلقائيًا دون تدخل المستخدم. ومن المتوقع أن تُستخدم هذه التقنية بشكل رئيسي في الأنظمة المدمجة والتعليم. [ 2 ]

اعتبارًا من عام 2017يدعم نظام Minix 3 معالجات معمارية IA-32 و ARM . [ 3 ] كما يمكن تشغيله على برامج المحاكاة أو الآلات الافتراضية ، مثل Bochs ، [ 4 ] [ 5 ] و VMware Workstation ، [ 6 ] و Microsoft Virtual PC ، [ 7 ] وOracle VirtualBox ، [ 8 ] و QEMU . ويجري العمل حاليًا على تطوير نسخة منه لمعمارية PowerPC . [ 9 ] يأتي النظام على قرص مضغوط مباشر ولا يدعم التثبيت المباشر عبر USB . [ 10 ] توقف العمل على المشروع منذ أواخر عام 2018، [ 11 ] وأحدث إصدار هو 3.4.0 rc6 من عام 2017، [ 12 ] على الرغم من أن مجموعة نقاش Minix 3 لا تزال نشطة. [ 13 ]

يُعدّ نظام التشغيل Minix 3 نظام تشغيل Intel Management Engine (ME) الموجود في مركز تحكم منصة Intel ، والذي بدأ استخدامه مع معالجات Skylake و Kaby Lake مع إطلاق ME 11. [ 14 ] [ 15 ] وقد دار جدل حول إمكانية أن يكون Minix نظام التشغيل الأكثر استخدامًا على معالجات x86 / AMD64 ، حيث تجاوز عدد مرات تثبيته عدد مرات تثبيت أنظمة Microsoft Windows وLinux و macOS ، وذلك بفضل استخدامه في Intel ME. [ 16 ]

أهداف المشروع

بنية أنظمة التشغيل القائمة على النواة المتجانسة وأنظمة التشغيل القائمة على النواة المصغرة ، على التوالي

بالنظر إلى طبيعة الأنظمة القائمة على النواة المتجانسة ، حيث يمكن لبرنامج تشغيل (يحتوي، وفقًا لمبتكر مينيكس تانينباوم ، على ما يقارب 3 إلى 7 أضعاف عدد الأخطاء الموجودة في برنامج عادي) [ 17 ] أن يُعطّل النظام بأكمله، [ 18 ] يهدف مينيكس 3 إلى إنشاء نظام تشغيل "موثوق، ذاتي الإصلاح، ومتعدد الخوادم، نسخة طبق الأصل من يونكس". [ 19 ]

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

في نظام متجانس، يمكن لخلل في برنامج التشغيل أن يتسبب بسهولة في تعطل النواة بأكملها. هذا أقل احتمالاً بكثير في نظام Minix 3. [ 20 ]

تاريخ

إصدارات MINIX 3 [ 21 ] [ 22 ]
إصدارتاريخ الافراج عنهوصف
3.1.0 ( OSDI3 )18-10-2005
3.1.1 (SOSP)24-10-2005
3.1.218-04-2006
3.1.2أ29-05-2006
  • مدير حزم باكمان الجديد
  • تم إصلاح مشكلة في التثبيت تتعلق بتقسيم الأقراص تلقائيًا.
3.1.313 أبريل 2007
3.1.3أ2007-06-08
  • إصلاحات الأخطاء
3.1.42009-06-09
3.1.52009-11-05
3.1.62010-02-08
3.1.72010-06-16
  • جدولة مساحة المستخدم وخادم الجدولة [ 26 ]
  • دعم مناسب لبطاقات إيثرنت متعددة من نفس النوع
  • يسمح برنامج مراقبة الإقلاع بتحميل الصور التي يزيد حجمها عن 16 ميجابايت
  • دعم نظام البناء لبناء Minix باستخدام GCC
  • دعم مجموعات الأحرف Windows-1251 و KOI8-U
3.1.82010-10-04
3.2.02012-02-29
3.2.12013-02-21
3.3.0 [ 27 ]2014-09-15
  • دعم معمارية ARM؛ قابل للترجمة المتقاطعة
  • دعم mmap()آلية الإدخال/الإخراج؛ يسمح باستخدام مكتبات ديناميكية مشتركة وتقليل احتياجات الذاكرة
  • بنية إدخال جديدة: تم فصل خادم الإدخال وبرنامج تشغيل لوحة المفاتيح عن TTY
  • VND: برنامج تشغيل كتلة قرص vnode (حلقة التكرار)
  • بناء النظام باستخدام LLVM Bitcode
  • استيراد LLVM و clang في المصادر
  • ذاكرة تخزين مؤقتة موحدة للكتل مشتركة بين أنظمة الملفات والأجهزة الافتراضية
  • تحسين التوافق مع نظام NetBSD: الأدوات المساعدة، والمكالمات، والأنواع (الكثير منها 64 بت)، وسلسلة الأدوات، وقاعدة التعليمات البرمجية، والحزم.
  • نوع C للرسائل: أنظف وأكبر
  • تحسين تصميم برامج التشغيل: فصل UDS عن PFS، وPTY عن TTY، ووحدة تحكم واحدة لكل مثيل at_wini، وإزالة سجل النظام من صورة التمهيد
  • أصبحت الحزم الآن مرتبطة ديناميكيًا
3.4.0 rc62017-05-09
  • أصبح X11 الآن جزءًا من نظام التشغيل
  •   إصدار كتاب
  •   إصدار قديم
  •   الإصدار المستقر الحالي
  •   إصدار التطوير الحالي

أُعلن عن نظام التشغيل Minix 3 رسميًا في 24 أكتوبر 2005 من قِبل أندرو تانينباوم خلال كلمته الرئيسية في مؤتمر مبادئ أنظمة التشغيل الذي نظمته جمعية آلات الحوسبة (ACM). ورغم أنه لا يزال يُستخدم كمثال في الطبعة الثالثة من كتاب تانينباوم وودهول (2006) ، فقد أُعيد تصميمه بشكل شامل ليكون "قابلاً للاستخدام كنظام أساسي على الحواسيب ذات الموارد المحدودة والحواسيب المدمجة، وللتطبيقات التي تتطلب موثوقية عالية".

صدرت النسخة في البداية بموجب ترخيص BSD-3-Clause نفسه الذي رُخِّصت بموجبه Minix منذ عام 2000، [ 23 ] [ 24 ] وفي أواخر عام 2005، تم تغيير مالك حقوق النشر وإضافة بند رابع. [ 1 ] [ 25 ] [ 28 ]

سياسات الموثوقية

يُعدّ ضمان الموثوقية أحد الأهداف الرئيسية لبرنامج Minix 3. فيما يلي بعض المبادئ الأكثر أهمية التي تُعزز موثوقيته.

تقليل حجم الحبوب

تحتوي أنظمة التشغيل المتجانسة مثل لينكس وفري بي إس دي، والأنظمة الهجينة مثل ويندوز، على ملايين الأسطر من شفرة النواة . في المقابل، يحتوي نظام مينيكس 3 على حوالي 6000 سطر من شفرة النواة القابلة للتنفيذ، [ 29 ] مما يُسهّل اكتشاف المشاكل في الشفرة.

احصر الحشرات

في أنظمة التشغيل ذات النواة المتجانسة، توجد برامج تشغيل الأجهزة داخل النواة. لذا، عند تثبيت جهاز طرفي جديد، يتم إدخال شيفرة غير معروفة وغير موثوقة في النواة. وقد يؤدي سطر واحد خاطئ من الشيفرة في برنامج التشغيل إلى تعطيل النظام.

على النقيض من ذلك، في نظام Minix 3، يُعد كل برنامج تشغيل جهاز عمليةً مستقلةً في وضع المستخدم. لا تستطيع برامج التشغيل تنفيذ تعليمات ذات امتيازات خاصة، أو تغيير جداول الصفحات ، أو إجراء عمليات إدخال/إخراج عشوائية ، أو الكتابة إلى الذاكرة المطلقة. بل يجب عليها استدعاء النواة لهذه الخدمات، وتقوم النواة بفحص كل استدعاء للتأكد من صلاحيته.

تقييد وصول برامج التشغيل إلى الذاكرة

في النواة المتجانسة، يمكن لبرنامج التشغيل الكتابة إلى أي كلمة من الذاكرة وبالتالي إتلاف برامج المستخدم عن طريق الخطأ.

في نظام التشغيل Minix 3، عندما يتوقع المستخدم بيانات من نظام ملفات MINIX ، على سبيل المثال، يقوم النظام بإنشاء مُعرِّف يُحدد من لديه حق الوصول إلى البيانات وعناوينها. ثم يُمرر فهرسًا لهذا المُعرِّف إلى نظام الملفات، الذي بدوره قد يُمرره إلى برنامج تشغيل. بعد ذلك، يطلب نظام الملفات أو برنامج التشغيل من النواة الكتابة عبر هذا المُعرِّف، مما يجعل الكتابة إلى عناوين خارج المخزن المؤقت مستحيلة.

تجاوز النصائح السيئة

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

ترويض الحلقات اللانهائية

إذا دخل برنامج تشغيل في حلقة لا نهائية ، سيقوم المجدول بتخفيض أولويته تدريجيًا حتى يصبح خاملاً. في النهاية، سيلاحظ خادم إعادة التشغيل أنه لا يستجيب لطلبات الحالة، لذا سيقوم بإنهاء برنامج التشغيل وإعادة تشغيله. في نواة متجانسة، قد يتسبب برنامج التشغيل الذي يدخل في حلقة لا نهائية في تعليق النظام.

الحد من الأضرار الناجمة عن تجاوز سعة المخزن المؤقت

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

تقييد الوصول إلى وظائف النواة

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

تقييد الوصول إلى منافذ الإدخال/الإخراج

تحتفظ نواة النظام بجدول يحدد منافذ الإدخال/الإخراج التي يمكن لكل برنامج تشغيل الوصول إليها. وبالتالي، لا يمكن لبرنامج التشغيل الوصول إلا إلى منافذ الإدخال/الإخراج الخاصة به. أما في نواة النظام المتجانسة، فيمكن لبرنامج تشغيل به خلل الوصول إلى منافذ إدخال/إخراج تابعة لجهاز آخر.

تقييد الاتصال بمكونات نظام التشغيل

لا يحتاج كل برنامج تشغيل وخادم إلى التواصل مع كل برنامج تشغيل وخادم آخر. وبناءً على ذلك، تحدد خريطة بتات خاصة بكل عملية الوجهات التي يمكن لكل عملية إرسال البيانات إليها.

إعادة تجسيد السائقين الموتى أو المرضى

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

دمج المقاطعات والرسائل

عند حدوث مقاطعة ، يتم تحويلها على مستوى منخفض إلى إشعار يُرسل إلى برنامج التشغيل المناسب. إذا كان برنامج التشغيل ينتظر رسالة، فإنه يتلقى المقاطعة فورًا؛ وإلا فإنه يتلقى الإشعار في المرة التالية التي يقوم فيها RECEIVEباستقبال رسالة. هذه الآلية تُزيل المقاطعات المتداخلة وتُسهّل برمجة برامج التشغيل.

بنيان

بنية Minix 3

كما هو واضح، يوجد في المستوى الأدنى النواة المصغرة ، التي تتألف من حوالي 4000 سطر برمجي (معظمها بلغة C ، بالإضافة إلى جزء صغير بلغة التجميع ). تتولى هذه النواة معالجة المقاطعات ، وجدولة المهام ، وتمرير الرسائل. كما تدعم واجهة برمجة تطبيقات (API) تضم حوالي 30 استدعاءً للنواة، يمكن للخوادم وبرامج التشغيل المعتمدة تنفيذها. لا تستطيع برامج المستخدم تنفيذ هذه الاستدعاءات، بل يمكنها بدلاً من ذلك إصدار استدعاءات نظام POSIX التي ترسل رسائل إلى الخوادم. تؤدي استدعاءات النواة وظائف مثل ضبط المقاطعات ونسخ البيانات بين مساحات العناوين.

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

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

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

يُعدّ كلٌّ من خادم إعادة التجسيد، وخادم العمليات، والنواة المصغّرة جزءًا من قاعدة الحوسبة الموثوقة . وفي حال تعطل أيٍّ منها، ينهار النظام. ومع ذلك، فإنّ تقليص حجم قاعدة الحوسبة الموثوقة من 3-5 ملايين سطر برمجي، كما هو الحال في أنظمة لينكس وويندوز، إلى حوالي 20,000 سطر، يُحسّن موثوقية النظام بشكلٍ كبير.

الاختلافات بين Minix 3 والإصدارات السابقة

مخطط يوضح العلاقات بين العديد من الأنظمة الشبيهة بنظام يونكس

تم تطوير Minix 1.0 و 1.5 و 2.0 كأدوات لمساعدة الناس على التعرف على تصميم أنظمة التشغيل.

كان نظام التشغيل Minix 1.0، الذي صدر عام 1987، يتألف من 12000 سطر من لغة C وبعض أجزاء من لغة التجميع x86 . وقد نُشرت في الكتاب شفرة المصدر الخاصة بنواة النظام، ومدير الذاكرة ، ونظام الملفات الخاص بنظام Minix 1.0. وقد طوّر تانينباوم نظام Minix في الأصل ليكون متوافقًا مع أجهزة الكمبيوتر الشخصية IBM PC و IBM PC/AT المتوفرة آنذاك.

تضمن برنامج Minix 1.5، الذي صدر عام 1991، دعمًا لأنظمة MicroChannel IBM PS/2 ، كما تم نقله إلى معمارية Motorola 68000 و SPARC ، لدعم منصات الحوسبة Atari ST و Commodore Amiga وApple Macintosh و Sun Microsystems SPARCstation . كما توفرت نسخة من Minix تعمل كعملية مستخدم ضمن نظام التشغيل SunOS .

كان نظام Minix 2.0، الذي صدر عام 1997، متاحًا فقط لأنظمة x86 و SPARC التي تعمل بنظام Solaris . وقد طُوّر برنامج Minix-vmd من قِبل باحثين اثنين من جامعة فريجي ، وأضاف ذاكرة افتراضية ودعمًا لنظام X Window (X11).

يُقدّم نظام التشغيل Minix 3 نفس الميزة، إذ يوفر نظام تشغيل حديثًا مزودًا بالعديد من الأدوات الحديثة والعديد من تطبيقات يونكس . [ 30 ] قال البروفيسور تانينباوم ذات مرة:

يرجى العلم أن نظام MINIX 3 ليس نظام MINIX الذي اعتدنا عليه... فقد صُمم MINIX 1 كأداة تعليمية... أما MINIX 3 فهو كذلك بالإضافة إلى كونه بداية لبناء نظام تشغيل عالي الموثوقية، وقادر على إصلاح نفسه ذاتيًا، وخالٍ من البرامج غير الضرورية... يرتبط MINIX 1 وMINIX 3 بنفس الطريقة التي يرتبط بها Windows 3.1 و Windows XP : نفس الاسم الأول. [ 19 ]

كما تم إدخال العديد من التحسينات على بنية النواة منذ إصدار Minix 2، مما جعل النظام أكثر موثوقية. [ 31 ]

نظام Minix 3.1.7 يعمل بنظام X Window (X11) مع بيئة سطح المكتب Equinox (EDE)

صدرت النسخة 3.1.5 من نظام Minix في 5 نوفمبر 2009. تحتوي هذه النسخة على X11 ، و Emacs ، و vi ، وcc، و GCC ، وPerl ، و Python ، وAlmquist shell ، وBash ، و Z shell ، وعميل FTP ، وعميل SSH ، وعميل Telnet ، و Pine ، وأكثر من 400 برنامج مساعد شائع آخر من برامج Unix. مع إضافة X11، تُشير هذه النسخة إلى الانتقال من نظام نصي فقط. ومن الميزات الأخرى لهذه النسخة، والتي سيتم تحسينها في النسخ اللاحقة، قدرة النظام على تحمل أعطال برامج تشغيل الأجهزة، وفي كثير من الحالات استبدالها تلقائيًا دون التأثير على العمليات الجارية. وبهذه الطريقة، يتميز Minix بقدرته على إصلاح نفسه ذاتيًا، ويمكن استخدامه في التطبيقات التي تتطلب موثوقية عالية.

صدرت النسخة 3.2.0 من نظام Minix في فبراير 2012. تتضمن هذه النسخة العديد من الميزات الجديدة، بما في ذلك مُصرّف Clang ، ودعم تجريبي للمعالجة المتعددة المتناظرة ، ودعم نظامي الملفات procfs و ext2fs ، ومصحح أخطاء GNU (GDB). كما تم دمج أجزاء عديدة من نظام NetBSD في هذه النسخة، بما في ذلك مُحمّل الإقلاع، ومكتبة libc ، والعديد من الأدوات المساعدة والمكتبات الأخرى . [ 32 ]

تم إصدار Minix 3.3.0 في سبتمبر 2014. هذا الإصدار هو الأول الذي يدعم بنية ARM بالإضافة إلى x86. كما أنه يدعم بيئة مستخدم NetBSD ، مع تشغيل آلاف حزم NetBSD مباشرةً بعد التثبيت.

بالمقارنة مع أنظمة التشغيل التعليمية الأخرى

نظامسطور من التعليمات البرمجيةنوع النواةلغةبيئة الأجهزةينقص (مقارنة بالآخرين)
مينيكس 1حوالي 12 ألفالنواة الصغيرةجx86-16؟
مينيكس 2حوالي 23 ألفالنواة الصغيرةجx86-32؟
مينيكس 3أكثر من 100 ألفالنواة الصغيرةجx86-32غير متوفر
ناتشوزحوالي 15 ألفلا يوجد نواة. محاكي نظام تشغيل في مساحة المستخدملغة سي++محاكي MIPSالمعالجة المتعددة المتناظرة ، الترحيل ، الأجهزة الحقيقية
بينتوسحوالي 25 ألفمتجانسجx86 (عادةً تحت QEMU / Bochs )برامج تشغيل SMP ومساحة المستخدم
شينوحوالي 10 آلافمتجانسجx86 / ARMSMP، الترحيل، الذاكرة الافتراضية
xv6حوالي 10 آلافمتجانسجx86 / x86-64 / RISC-Vبرامج تشغيل مساحة المستخدم، طبقة POSIX

جالب الحظ

روكي راكون، تميمة مينيكس 3

روكي راكون هو تميمة لعبة مينيكس 3. [ 33 ]

MINIXCon

مؤتمر MINIXCon هو مؤتمر لتبادل المحادثات والجهود والأبحاث المتعلقة بـ Minix.

عُقد المؤتمر مرة واحدة في عام 2016. [ 34 ] أُلغي مؤتمر MINIXCon2017 بسبب قلة العروض التقديمية. [ 35 ]

انظر أيضاً

ملحوظات

  1. 1 2 3 BSD-3-Clause مع بند رابع

مراجع

  1. 1 2 3 "رخصة مينيكس" . مؤرشفة من الأصل بتاريخ 24-11-2005 . تم الاطلاع عليها بتاريخ 24-11-2005 .
  2. كوربيت (24-10-2005). "Minix 3 يظهر على الإنترنت" . Lwn.net . تم الاطلاع عليه بتاريخ 1-5-2014 .
  3. "minix3.org" . minix3.org . تم الاطلاع عليه بتاريخ 16-04-2017 .
  4. "البدء باستخدام Minix على Bochs على نظام التشغيل Mac OS" . Woodhull.com . تم الاطلاع عليه بتاريخ 1 مايو 2014 .
  5. "OSNews.com" . OSNews.com . تم الاطلاع عليه بتاريخ 1 مايو 2014 .
  6. "دليل تثبيت Minix على VMware" . Patrick.wagstrom.net. مؤرشف من الأصل بتاريخ 12 نوفمبر 2013. تم الاطلاع عليه بتاريخ 1 مايو 2014 .
  7. "Minix على جهاز افتراضي: نظرة أولى" . Woodhull.com . تم الاطلاع عليه بتاريخ 1 مايو 2014 .
  8. "Minix 3 على Virtual box" . inopinion.org. 6 أغسطس 2014.
  9. Alting, Ingmar. "A port of the MINIX OS to the PowerPC platform" (PDF ) .
  10. "Minix3" . Minix3 . تم الاسترجاع في 1 مايو 2014 .
  11. "git.minix3.org Git - minix.git/summary" . git.minix3.org . تم الاطلاع عليه بتاريخ 2022-05-03 .
  12. "فهرس /Iso/Snapshot/" .
  13. "minix3 - مجموعات جوجل" . groups.google.com . تم الاطلاع عليه بتاريخ 2022-05-03 .
  14. "Intel ME: The Way of Static Analysis" . blog.ptsecurity.com . مؤرشف من الأصل بتاريخ 2017-07-01 . تم الاطلاع عليه بتاريخ 2017-08-28 .
  15. كورنا، نيكولا (2017-08-28). "me_cleaner: أداة لإزالة ملفات البرامج الثابتة Intel ME/TXE جزئيًا" . GitHub . تم الاسترجاع في 2017-08-28 .
  16. تانينباوم، أندرو س. "رسالة مفتوحة إلى إنتل" . مؤرشفة من الأصل بتاريخ 17 يونيو 2022. تم الاطلاع عليها بتاريخ 6 سبتمبر 2022 .
  17. تانينباوم، آندي (25-09-2006). "مقدمة إلى MINIX 3" . OSnew . OSnews . تم الاسترجاع في 04-07-2008 . من قسم Rebirth : "أظهرت دراسات عديدة أن البرامج تحتوي عمومًا على ما بين 6 إلى 16 خطأً لكل 1000 سطر من التعليمات البرمجية، وأن برامج تشغيل الأجهزة تحتوي على ما بين 3 إلى 7 أضعاف عدد الأخطاء الموجودة في بقية نظام التشغيل. وعند إضافة حقيقة أن 70% من نظام التشغيل النموذجي يتكون من برامج تشغيل الأجهزة، يتضح أن برامج تشغيل الأجهزة تُعدّ مصدرًا رئيسيًا للمشاكل. ففي نظام التشغيل Windows XP ، يعود 85% من حالات التعطل إلى أخطاء في برامج تشغيل الأجهزة. ومن البديهي أنه لجعل أنظمة التشغيل موثوقة، يجب اتخاذ إجراءات لمعالجة برامج تشغيل الأجهزة المعيبة. وكان بناء نظام موثوق على الرغم من الأخطاء الحتمية في برامج تشغيل الأجهزة هو الدافع الأصلي وراء تطوير Minix 3."
  18. "تقويم فعاليات مختبر علوم الحاسوب والذكاء الاصطناعي" . Csail.mit.edu. مؤرشف من الأصل بتاريخ 4 فبراير 2012. تم الاطلاع عليه بتاريخ 1 مايو 2014 .
  19. 1 2 "مناظرة تانينباوم-تورفالدز، الجزء الثاني" . Cs.vu.nl. 2006-05-12 . تم الاطلاع عليه بتاريخ 2014-05-01 .
  20. "الموثوقية" . www.MINIX3.org . مؤرشف من الأصل في 1 يوليو 2006.
  21. "MinixReleases – Minix Wiki" . Wiki.minix3.org . تم الاطلاع عليه بتاريخ 1 مايو 2014 .
  22. "إصدارات Minix واستخدامها في التدريس" . مؤرشف من الأصل بتاريخ 11 يوليو 2006. تم الاطلاع عليه بتاريخ 16 يونيو 2021 .
  23. 1 2 "الترخيص (3.1.0)" . GitHub . تم الاسترجاع في 16-06-2021 .
  24. 1 2 "الترخيص (3.1.1)" . تم الاطلاع عليه بتاريخ 16-06-2021 .
  25. 1 2 "الترخيص (3.1.2)" . GitHub . تم الاسترجاع في 16-06-2021 .
  26. سويفت، بيورن باتريك. "جدولة وضع المستخدم لمهمة البرمجة الفردية في مينيكس 3" (ملف PDF) . Minix3.org.
  27. إصدار MINIX 3.3.0
  28. "Minix1: سياسات النسخ والاستخدام" . 13-02-2007. مؤرشف من الأصل في 14-06-2020.
  29. "نظام التشغيل MINIX 3" . minix3.org . مؤرشف من الأصل بتاريخ 13 يناير 2012.
  30. ^ "الأسئلة الشائعة – مينيكس ويكي" . Minix3.org. 2013-11-09 . تم الاسترجاع 2014/05/01 .
  31. "التحسينات منذ الإصدار الثاني" . www.minix3.org . مؤرشف من الأصل في 17 أبريل 2006.
  32. "إصدارات MINIX" . wiki.minix3.org . مؤرشف من الأصل في 21 يونيو 2012. تم الاطلاع عليه في 29 فبراير 2012 .
  33. "mascot [ Wiki ] " . wiki.minix3.org . تم الاسترجاع في 2017-07-20 .
  34. "مقاطع فيديو مؤتمر MINIXCon 2016 متاحة الآن على الإنترنت" . www.minix3.org . 10 مارس 2016. مؤرشف من الأصل في 15 مايو 2021. تم الاطلاع عليه في 11 يونيو 2025 .
  35. "Minix3" . مؤرشف من الأصل في 5 سبتمبر 2017.

للمزيد من القراءة