موصى به, 2021

اختيار المحرر

الفرق بين Microkernel و Monolithic Kernel

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

رسم بياني للمقارنة

أساس للمقارنةالنويةنواة متجانسة
الأساسيةفي خدمات مستخدم 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

  1. النقطة الأساسية التي تتميز بها النواة الدقيقة والنواة المتجانسة هي أن microkernel تنفذ خدمات المستخدم وخدمات النواة في مساحات عناوين مختلفة ونواة متجانسة تنفذ كل من خدمات المستخدم وخدمات النواة في نفس مساحة العنوان .
  2. حجم microkernel صغير حيث توجد خدمات kernel فقط في مساحة عنوان kernel. ومع ذلك ، فإن حجم النواة المتجانسة أكبر نسبيًا من النواة الدقيقة لأن كل من خدمات النواة وخدمات المستخدم موجودة في نفس مساحة العنوان.
  3. إن تنفيذ النواة الأحادية هو أسرع عندما يتم تأسيس الاتصال بين التطبيق والأجهزة باستخدام استدعاء النظام . على الجانب الآخر ، فإن تنفيذ microkernel بطيء حيث يتم تأسيس الاتصال بين التطبيق والأجهزة من خلال تمرير الرسالة .
  4. من السهل تمديد microkernel لأن الخدمة الجديدة ستتم إضافتها في مساحة عنوان المستخدم المعزولة من مساحة kernel ، لذلك لا يتطلب الأمر تعديل النواة. عكس ذلك هو الحال مع النواة الأحادية إذا أضيفت خدمة جديدة في نواة متجانسة ، ثم تحتاج نواة كاملة إلى تعديل.
  5. Microkernel أكثر أمانا من النواة المتجانسة كما لو أن الخدمة تفشل في microkernel يبقى sytem التشغيل غير متأثر. على أيدي الآخرين ، إذا فشلت خدمة في نظام كامل النواة متجانسة.
  6. يتطلب تصميم النواة المتآلف شفرة أقل ، مما يؤدي إلى مزيد من الأخطاء. على الجانب الآخر ، يحتاج تصميم microkernel إلى المزيد من الأكواد التي تؤدي إلى المزيد من الخلل.

استنتاج:

Microkernel أبطأ ولكن أكثر أمنا وموثوقية من نواة متجانسة. نواة Monolithic سريعة ولكنها أقل أمانًا لأن أي فشل في الخدمة قد يؤدي إلى تعطل النظام.

Top