رسم بياني للمقارنة
أساس للمقارنة | النوية | نواة متجانسة |
---|---|---|
الأساسية | في خدمات مستخدم mickernel و kernel ، يتم الاحتفاظ بالخدمات في مساحة عنوان منفصلة. | في kernel monolithic ، يتم الاحتفاظ كل من خدمات المستخدم وخدمات kernel في نفس مساحة العنوان. |
بحجم | Microkernel أصغر حجمًا. | النواة الأحادية هي أكبر من النواة الدقيقة. |
إعدام | التنفيذ البطيء. | التنفيذ السريع. |
قابل للتمديد | microcernel قابلة للتمديد بسهولة. | من الصعب تمديد النواة الأحادية. |
الأمان | إذا تعطل خدمة ، فإنه يؤثر على عمل microkernel. | في حالة تعطل إحدى الخدمات ، يتعطل النظام بالكامل في kernel monolithic. |
الشفرة | لكتابة microkernel ، هناك حاجة إلى مزيد من التعليمات البرمجية. | لكتابة نواة متجانسة ، مطلوب رمز أقل. |
مثال | QNX و Symbian و L4Linux و Singularity و K42 و Mac OS X والنزاهة و PikeOS و HURD و Minix و Coyotos. | Linux و BSDs (FreeBSD و OpenBSD و NetBSD) و Microsoft Windows (95،98 و Me) و Solaris و OS-9 و AIX و HP-UX و DOS و OpenVMS و XTS-400 إلخ. |
تعريف Microkernel
Microkernel يجري نواة يدير جميع موارد النظام. ولكن في microkernel ، يتم تنفيذ خدمات المستخدم وخدمات kernel في مساحة عنوان مختلفة. يتم الاحتفاظ بخدمات المستخدم في مساحة عنوان المستخدم ، ويتم الاحتفاظ بخدمات kernel تحت مساحة عنوان kernel . هذا يقلل من حجم النواة ويقلل من حجم نظام التشغيل.
بالإضافة إلى الاتصال بين التطبيقات والأجهزة في النظام ، يوفر microkernel الحد الأدنى من الخدمات لإدارة العمليات والذاكرة. يتم تأسيس الاتصال بين برنامج العميل / التطبيق والخدمات التي يتم تشغيلها في مساحة عنوان المستخدم من خلال تمرير الرسالة. انهم لا يتفاعلون بشكل مباشر. هذا يقلل من سرعة تنفيذ microkernel.
في microkernel ، يتم عزل خدمات المستخدم من خدمات kernel حتى إذا فشلت أي خدمة مستخدم لا تؤثر على خدمة kernel وبالتالي يبقى نظام التشغيل غير متأثر . هذه هي واحدة من المزايا في microkernel. و microkernel قابلة للتمديد بسهولة. إذا تمت إضافة الخدمات الجديدة ، يتم إضافتها إلى مساحة عنوان المستخدم ، وبالتالي لا تتطلب مساحة kernel أي تعديل. Microkernel هي أيضا محمولة وآمنة وموثوقة بسهولة.
تعريف Monolithic Kernel
نواة متجانسة تدير موارد النظام بين التطبيقات والأجهزة في النظام. ولكن بخلاف microkernel ، يتم تنفيذ خدمات المستخدم وخدمات kernel ضمن مساحة العنوان نفسها. هذا يزيد من حجم النواة يزيد من حجم نظام التشغيل.
يوفر kernel monolithic جدولة وحدة المعالجة المركزية وإدارة الذاكرة وإدارة الملفات ووظائف نظام التشغيل الأخرى من خلال مكالمات النظام. بما أن خدمات المستخدم وخدمات kernel توجد في نفس مساحة العنوان ، فإن هذا يؤدي إلى نظام التشغيل السريع التنفيذ.
إحدى عيوب النواة المتجانسة هي إذا تعطلت أي خدمة واحدة. إذا تمت إضافة خدمة جديدة في kernel monolithic ، فسيتم تعديل نظام التشغيل بالكامل.
الاختلافات الرئيسية بين Microkernel و Monolithic Kernel
- النقطة الأساسية التي تتميز بها النواة الدقيقة والنواة المتجانسة هي أن microkernel تنفذ خدمات المستخدم وخدمات النواة في مساحات عناوين مختلفة ونواة متجانسة تنفذ كل من خدمات المستخدم وخدمات النواة في نفس مساحة العنوان .
- حجم microkernel صغير حيث توجد خدمات kernel فقط في مساحة عنوان kernel. ومع ذلك ، فإن حجم النواة المتجانسة أكبر نسبيًا من النواة الدقيقة لأن كل من خدمات النواة وخدمات المستخدم موجودة في نفس مساحة العنوان.
- إن تنفيذ النواة الأحادية هو أسرع عندما يتم تأسيس الاتصال بين التطبيق والأجهزة باستخدام استدعاء النظام . على الجانب الآخر ، فإن تنفيذ microkernel بطيء حيث يتم تأسيس الاتصال بين التطبيق والأجهزة من خلال تمرير الرسالة .
- من السهل تمديد microkernel لأن الخدمة الجديدة ستتم إضافتها في مساحة عنوان المستخدم المعزولة من مساحة kernel ، لذلك لا يتطلب الأمر تعديل النواة. عكس ذلك هو الحال مع النواة الأحادية إذا أضيفت خدمة جديدة في نواة متجانسة ، ثم تحتاج نواة كاملة إلى تعديل.
- Microkernel أكثر أمانا من النواة المتجانسة كما لو أن الخدمة تفشل في microkernel يبقى sytem التشغيل غير متأثر. على أيدي الآخرين ، إذا فشلت خدمة في نظام كامل النواة متجانسة.
- يتطلب تصميم النواة المتآلف شفرة أقل ، مما يؤدي إلى مزيد من الأخطاء. على الجانب الآخر ، يحتاج تصميم microkernel إلى المزيد من الأكواد التي تؤدي إلى المزيد من الخلل.
استنتاج:
Microkernel أبطأ ولكن أكثر أمنا وموثوقية من نواة متجانسة. نواة Monolithic سريعة ولكنها أقل أمانًا لأن أي فشل في الخدمة قد يؤدي إلى تعطل النظام.