ما هو الفرق بين نواة متجانسة و microkernel؟


الاجابه 1:

نواة متجانسة هي عملية كبيرة واحدة تعمل بالكامل في مساحة عنوان واحدة. إنه ملف ثنائي ثابت واحد. جميع خدمات kernel موجودة ويتم تنفيذها في مساحة عنوان kernel. يمكن للنواة استدعاء وظائف مباشرة. أمثلة على أنظمة تشغيل تستند إلى kernel متجانسة: Unix ، Linux.

في microkernels ، يتم تقسيم kernel إلى عمليات منفصلة ، تعرف باسم الخوادم. تعمل بعض الخوادم في مساحة kernel وبعضها يعمل في مساحة المستخدم. يتم الاحتفاظ بجميع الخوادم منفصلة وتشغيلها في مساحات عناوين مختلفة. تستدعي الخوادم "خدمات" من بعضها البعض عن طريق إرسال الرسائل عبر IPC (اتصالات المعالجة). يتمتع هذا الفصل بميزة أنه في حالة فشل خادم واحد ، فلا يزال بإمكان الخوادم الأخرى العمل بكفاءة. أمثلة على أنظمة التشغيل المستندة إلى microkernel: Mac OS X و Windows NT.

1) نواة متجانسة أقدم بكثير من Microkernel ، وقد وضعت الفكرة في نهاية الثمانينات.

2) تستخدم حبيبات متجانسة في يونكس ولينكس. تستخدم Microkernels في QNX و L4 و HURD. تم استخدامه في البداية في Mach (وليس Mac OS X) ولكن تم تحويله لاحقًا إلى نواة مختلطة. حتى Minix ليس نواة خالصة لأن برامج تشغيل الأجهزة يتم تجميعها كجزء من kernel.

3) حبات متجانسة أسرع من حبيبات دقيقة. كان أول ماكرنيل ماخ أبطأ بنسبة 50٪ من النواة المتجانسة ، بينما كان الإصدار الأحدث مثل L4 أبطأ بنسبة 2٪ أو 4٪ فقط من النواة الأحادية الليثية.

4) حبات متجانسة عموما ضخمة. يجب أن يكون حجم Microkernel صغير الحجم ، ليناسب ذاكرة التخزين المؤقت للمعالج L1 (الجيل الأول من microkernel).

5) في kernels أحادي الليث ، توجد برامج تشغيل الجهاز في مساحة kernel بينما في Microkernel توجد برامج تشغيل الجهاز في مساحة المستخدم.

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

7) نواة متجانسة تستخدم إشارات ومآخذ لضمان IPC ، نهج microkernel يستخدم قوائم انتظار الرسائل. تطبيق 1 micro microernels من IPC ضعيفًا ، لذا كانت بطيئة في تبديل السياق.

8) تعني إضافة ميزة جديدة إلى نظام مترابط إعادة ترجمة النواة بأكملها ، بينما يمكنك مع ميزات النواة الدقيقة إضافة ميزات أو تصحيحات جديدة دون إعادة التجميع.


الاجابه 2:

هنا شريط فيديو قصير أدليت به لمساعدتك على فهم أفضل!

متجانسة كيرنيل

  • يتم وضع نظام التشغيل بالكامل داخل kernelIt ، حيث يتم تشغيله كعملية كبيرة واحدة. حيث يتم وضع جميع الخدمات داخل kernel ، ولديها مساحة عنوان واحدة أكبر حجمًا. من السهل تنفيذها / كود الأداء مرتفع (حيث أن kernel يمكنه استدعاء أي وظيفة مباشرة كما كل شيء موجود في النواة) أقل أمانًا (في حالة فشل خدمة واحدة ، يتعطل النظام بأكمله)

النوية

  • يتم وضع رمز الحد الأدنى العاري فقط داخل kernel (فقط إدارة الذاكرة الأساسية ورمز Inter Process Communication) هنا يتم تقسيم kernel إلى عمليات تسمى عمليات servicesAs (خوادم توفر الخدمات) مفصولة ، لها مساحات عناوين مختلفة. أصغر في الحجم لتطبيق / codePerformance منخفض (نظرًا لأن الخوادم مفصولة ، لذلك لاستدعاء الخدمات من خوادم أخرى ، يلزم IPC (Inter Process Communication) الذي يتطلب إذن kernel وبالتالي يزيد من وقت الوصول ويخفض الأداء) أكثر أمانًا (حتى إذا تعطلت إحدى الخدمات ، يمكن للآخرين العمل بشكل صحيح بسبب الانفصال)

الاجابه 3:

هنا شريط فيديو قصير أدليت به لمساعدتك على فهم أفضل!

متجانسة كيرنيل

  • يتم وضع نظام التشغيل بالكامل داخل kernelIt ، حيث يتم تشغيله كعملية كبيرة واحدة. حيث يتم وضع جميع الخدمات داخل kernel ، ولديها مساحة عنوان واحدة أكبر حجمًا. من السهل تنفيذها / كود الأداء مرتفع (حيث أن kernel يمكنه استدعاء أي وظيفة مباشرة كما كل شيء موجود في النواة) أقل أمانًا (في حالة فشل خدمة واحدة ، يتعطل النظام بأكمله)

النوية

  • يتم وضع رمز الحد الأدنى العاري فقط داخل kernel (فقط إدارة الذاكرة الأساسية ورمز Inter Process Communication) هنا يتم تقسيم kernel إلى عمليات تسمى عمليات servicesAs (خوادم توفر الخدمات) مفصولة ، لها مساحات عناوين مختلفة. أصغر في الحجم لتطبيق / codePerformance منخفض (نظرًا لأن الخوادم مفصولة ، لذلك لاستدعاء الخدمات من خوادم أخرى ، يلزم IPC (Inter Process Communication) الذي يتطلب إذن kernel وبالتالي يزيد من وقت الوصول ويخفض الأداء) أكثر أمانًا (حتى إذا تعطلت إحدى الخدمات ، يمكن للآخرين العمل بشكل صحيح بسبب الانفصال)