hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
نواة (نظم تشغيل) إدارة الذاكرة
في العديد من الأنظمة، قد يشير العنوان الظاهري للبرنامج إلى بيانات غير موجودة حاليًا في الذاكرة. تسمح طبقة المراوغة التي توفرها العنونة الافتراضية لنظام التشغيل باستخدام مخازن بيانات أخرى، مثل القرص الصلب، لتخزين ما كان سيبقى في الذاكرة الرئيسية (العشوئية). نتيجة لذلك، يمكن لأنظمة التشغيل أن تسمح للبرامج باستخدام ذاكرة أكبر من تلك المتوفرة فعليًا في النظام. عندما يحتاج البرنامج إلى بيانات غير موجودة حاليًا في ذاكرة الوصول العشوائي، فإن وحدة المعالجة المركزية تشير إلى النواة بحدوث ذلك، وتستجيب النواة عن طريق كتابة محتويات كتلة ذاكرة غير نشطة على القرص (إذا لزم الأمر) واستبدالها بالبيانات المطلوبة من قبل البرنامج. يمكن بعد ذلك استئناف البرنامج من النقطة التي توقف فيها. يُعرف هذا المخطط عمومًا باسم ترحيل الطلب.
تسمح العنونة الافتراضية أيضًا بإنشاء أقسام افتراضية للذاكرة في منطقتين منفصلتين، أحدهما مخصص للنواة (مساحة النواة) والأخرى للتطبيقات (مساحة المستخدم). لا يسمح المعالج للتطبيقات بمعالجة ذاكرة النواة، وبالتالي منع التطبيق من تعطيل النواة قيد التشغيل. ساهم هذا التقسيم الأساسي لمساحة الذاكرة كثيرًا في التصميمات الحالية لنواة الأغراض العامة الفعلية وهو عالمي تقريبًا في مثل هذه الأنظمة، بالرغم من أن بعض النوى البحثية (على سبيل المثال، المتفرد [الإنجليزية]) تتخذ مناهج أخرى.
نواة (نظم تشغيل) إدارة الجهاز
لأداء وظائف مفيدة، تحتاج العمليات للوصول إلى الأجهزة الطرفية المتصلة بالحاسوب، والتي يُتحكم بها بواسطة النواة من خلال معرفات العتاد. تمكّن المعرفات نظام التشغيل من التفاعل مع العتاد. يزود نظام التشغيل بمعلومات حول كيفية التحكم بقطعة معينة من العتاد والتواصل معها. يعد المعرف جزءًا مهمًا وحيويًا في برامج الحاسوب. من الناحية النظرية، يجب أن يعمل الجهاز بشكل صحيح مع المعرف المناسب. تُستخدم معرفات الأجهزة لأشياء مثل بطاقات الفيديو وبطاقات الصوت والطابعات والماسحات الضوئية وأجهزة المودم وبطاقات الشبكة المحلية.
نواة (نظم تشغيل) إدارة الجهاز
يجب أن تحتفظ النواة بقائمة بالأجهزة المتاحة. قد تكون هذه القائمة معروفة مسبقًا (على سبيل المثال، على نظام مضمن حيث ستعاد كتابة النواة إذا تغير العتاد المتاح) أو ثُبتت بواسطة المستخدم (على أجهزة الحاسوب القديمة وعلى الأنظمة غير المصممة للاستخدام الشخصي) أو اكتشفت بواسطة نظام التشغيل في وقت التشغيل (يسمى عادةً التوصيل والتشغيل). في أنظمة التوصيل والتشغيل، يقوم مدير الجهاز أولاً بإجراء فحص على نواقل طرفية مختلفة، مثل منفذ الملحقات الإضافية (PCI) أو الناقل التسلسلي العام (USB)، لاكتشاف الأجهزة المثبتة، ثم يبحث عن المعرف المناسب.
نظرًا لأن إدارة الأجهزة هي موضوع خاص بنظام التشغيل، يتم التعامل مع المعرفات هذه بشكل مختلف من نواة لأخرى، ولكن في كل حالة، يجب أن توفر النواة وحدات الإدخال والإخراج للسماح للمعرفات بالوصول الفعلي إلى العتاد المناسب من خلال بعض المنافذ أو موقع الذاكرة. يجب اتخاذ قرارات مهمة عند تصميم نظام إدارة الجهاز، حيث قد تتضمن عمليات الوصول في بعض التصميمات مفاتيح تحويل السياق، مما يجعل العملية كبيرة الاستخدام لوحدة المعالجة المركزية ويسبب عبئًا كبيرًا في الأداء بسهولة.
نواة (نظم تشغيل) طلبات النظام
في الحوسبة، طلب النظام هو كيف تطلب العملية خدمة من نواة نظام التشغيل التي لا تملك عادةً إذنًا لتشغيلها. توفر طلبات النظام الواجهة بين العملية ونظام التشغيل. تتطلب معظم العمليات التي تتفاعل مع النظام أذونات غير متاحة لعملية على مستوى المستخدم، على سبيل المثال، الإدخال والإخراج الذي يجرى باستخدام عتاد موجود على النظام، أو يتطلب أي شكل من أشكال الاتصال مع العمليات الأخرى استخدام طلبات النظام.
طلب النظام هو آلية يستخدمها البرنامج التطبيقي لطلب خدمة من نظام التشغيل. يستخدمون تعليمات رمز الآلة التي تجعل المعالج يغير الوضع. مثال على ذلك سيكون من وضع المشرف إلى الوضع المحمي. هذا هو المكان الذي ينفذ فيه نظام التشغيل إجراءات مثل الوصول إلى الأجهزة أو وحدة إدارة الذاكرة. بشكل عام، يوفر نظام التشغيل مكتبة تقع بين نظام التشغيل وبرامج المستخدم العادية. عادة ما تكون مكتبة لغة سي مثل Glibc أو Windows API. تتعامل المكتبة مع التفاصيل ذات المستوى المنخفض لتمرير المعلومات إلى النواة والتحول إلى وضع المشرف. تتضمن طلبات النظام الإغلاق والفتح والقراءة والانتظار والكتابة.
نواة (نظم تشغيل) طلبات النظام
لأداء عمل مفيد بالفعل، يجب أن تكون العملية قادرة على الوصول إلى الخدمات التي توفرها النواة. يُنفذ ذلك بشكل مختلف بواسطة كل نواة، ولكن معظمها يوفر مكتبة سي أو واجهة برمجة تطبيقات، والتي بدورها تستدعي وظائف النواة ذات الصلة.
تختلف طريقة طلب دالة النواة من نواة إلى أخرى. إذا كان عزل الذاكرة قيد الاستخدام، فمن المستحيل على عملية المستخدم الاتصال بالنواة مباشرة، لأن ذلك سيكون انتهاكًا لقواعد التحكم في الوصول للمعالج. بعض الاحتمالات هي:
باستخدام بوابة الاتصال. بوابة الاتصال هي عنوان خاص مخزن بواسطة النواة في قائمة في ذاكرة النواة في موقع معروف للمعالج. عندما يكتشف المعالج اتصالاً بهذا العنوان، فإنه يعيد التوجيه بدلاً من ذلك إلى الموقع المستهدف دون التسبب في انتهاك الوصول. يتطلب هذا دعمًا للأجهزة، لكن الأجهزة الخاصة به شائعة جدًا.
نواة (نظم تشغيل) طلبات النظام
استخدام تعليمات اتصال خاصة بالنظام. تتطلب هذه التقنية دعمًا خاصًا للأجهزة، والذي قد تفتقر إليه البنى الشائعة (خاصة، إكس 86). أضيفت تعليمات طلب النظام إلى الطرز الحديثة من معالجات x86، ومع ذلك، فإن بعض أنظمة التشغيل لأجهزة الكمبيوتر تستفيد منها عند توفرها.
استخدام قائمة انتظار مستندة إلى الذاكرة. قد يضيف التطبيق الذي يقوم بعدد كبير من الطلبات ولكنه لا يحتاج إلى انتظار نتيجة كل منها تفاصيل الطلبات إلى منطقة من الذاكرة تقوم النواة بمسحها بشكل دوري للعثور على الطلبات.
نواة (نظم تشغيل) المقال الرئيسي: دعوة النظم
في الحوسبة، واستدعاء نظام هو كيف يطلب برنامج خدمة من نواة نظام التشغيل التي ليس لديها عادة الإذن لتشغيل. استدعاءات النظام توفر واجهة بين عملية ونظام التشغيل. معظم عمليات التفاعل مع النظام تتطلب أذونات غير متوفرة لعملية مستوى المستخدم، على سبيل يؤديها مع هدية جهاز على النظام، أو أي شكل من أشكال الاتصال مع العمليات الأخرى يتطلب استخدام استدعاءات النظام
استدعاء النظام هي الآلية التي يتم استخدامها من قبل تطبيق البرنامج لطلب الخدمة من نظام التشغيل. أنها تستخدم تعليمات الجهاز رمز التي تسبب المعالج لتغيير الوضع. على سبيل المثال سيكون من وضع المشرف على الوضع المحمي. هذا هو المكان الذي ينفذ نظام التشغيل الإجراءات مثل الحصول على الأجهزة أو وحدة إدارة الذاكرة. عموما يوفر نظام التشغيل المكتبة التي تقع بين نظام التشغيل والبرامج العادية. وعادة ما هي مكتبة C مثل سي العمومية أو Windows API. تتولى المكتبة والتفاصيل ذات المستوى المنخفض من تمرير معلومات إلى النواة والتحول إلى وضع المشرف. بما في ذلك مكالمات نظام قريب، وفتح، قراءة، الانتظار والكتابة.
نواة (نظم تشغيل) المقال الرئيسي: دعوة النظم
لأداء فعلا بعمل مفيد، يجب أن تكون عملية قادرة على الوصول إلى الخدمات التي تقدمها النواة. ويتم تنفيذ هذا بشكل مختلف من قبل كل نواة، ولكن معظم توفير مكتبة. C أو API، والذي بدوره باستدعاء وظائف النواة ذات الصلة
طريقة الاحتجاج على وظيفة النواة يختلف من النواة إلى النواة. إذا العزلة الذاكرة قيد الاستخدام، فإنه من المستحيل على أي عملية المستخدم لاستدعاء النواة مباشرة، لأن ذلك من شأنه أن يشكل انتهاكا لقواعد مراقبة الدخول المعالج. وهناك عدد قليل الاحتمالات هي:
نواة (نظم تشغيل) المقال الرئيسي: دعوة النظم
باستخدام المقاطعة-محاكاة البرمجيات. هذا الأسلوب هو متاح في معظم الأجهزة، وبالتالي فهو شائع جدا.
باستخدام بوابة المكالمة. بوابة المكالمة عنوان خاص تخزينها من قبل النواة في قائمة في الذاكرة النواة في مكان معروف إلى المعالج. عندما يكتشف المعالج دعوة إلى هذا العنوان، فإنه بدلا الموجهات إلى الموقع المستهدف دون التسبب في حدوث انتهاك وصول. وهذا يتطلب دعم الأجهزة، ولكن الأجهزة لذلك هو أمر شائع جدا.
استخدام خاص تعليمة استدعاء النظام. وتتطلب هذه التقنية دعم الأجهزة الخاصة، والتي أبنية المشتركة (لا سيما x86) وقد تفتقر. تم إضافة تعليمات دعوة النظام إلى النماذج الحديثة من معالجات x86، ومع ذلك، وبعض أنظمة التشغيل لأجهزة الكمبيوتر الاستفادة منها عندما تكون متاحة.
باستخدام طابور القائم على الذاكرة. تطبيق يجعل أعدادا كبيرة من الطلبات ولكن لا تحتاج إلى الانتظار لنتيجة كل إضافة تفاصيل الطلبات إلى المنطقة من الذاكرة أن النواة بفحص دوري للعثور على الطلبات
نواة (نظم تشغيل) قرارات تصميم النواة (kernel)
قضايا دعم نواة لحماية
أحد الاعتبارات الهامة في تصميم نواة هو الدعم الذي يقدمه للحماية من أخطاء (التسامح مع الخطأ) ومن السلوكيات الخبيثة (الأمن). هذين الجانبين هي عادة ليست مميزة بشكل واضح، واعتماد هذا التمييز في تصميم النواة يؤدي إلى رفض بنية هرمية للحماية.
آليات أو سياسات التي تقدمها نواة يمكن تصنيفها وفقا لعدة معايير، منها: ثابت (القسري في وقت الترجمة) أو ديناميكية (القسري في وقت التشغيل)؛ وقائية أو بعد الكشف؛ وفقا لمبادئ الحماية التي ترضي (على سبيل المثال دينينغ)؛ سواء كانت الأجهزة المعتمدة أو لغة تستند؛ سواء كانوا من أكثر آلية مفتوحة أو سياسة ملزمة؛ وغيرها الكثير.
وعادة ما يتم توفير الدعم لمجالات حماية الهرمية باستخدام وسائط وحدة المعالجة المركزية.
نواة (نظم تشغيل) قرارات تصميم النواة (kernel)
توفر العديد من حبات تنفيذ «قدرات»، أي الكائنات التي يتم توفيرها لرمز المستخدم التي تتيح الوصول المحدود إلى كائن الأساسي تدار من قبل النواة. يحدث الأمثلة الشائعة في التعامل مع الملف: ملف هو تمثيل المعلومات المخزنة على جهاز التخزين الدائم. نواة قد تكون قادرة على تنفيذ العديد من العمليات المختلفة (مثل القراءة والكتابة، حذف أو تنفيذ مضمون الملف) يجوز السماح لكن تطبيق مستوى المستخدم فقط لتنفيذ بعض هذه العمليات (على سبيل المثال أنه لا يجوز السماح لقراءة الملف). تنفيذ شيوعا لهذا هو نواة لتوفير كائن إلى التطبيق (وتسمى عادة «التعامل مع ملف») والتي قد التطبيق ثم استدعاء العمليات على، صحة التي الشيكات النواة في وقت طلبت فيه العملية. ويجوز تمديد هذا النظام لتغطية كافة الكائنات التي تدير النواة، والواقع على الكائنات التي توفرها تطبيقات المستخدم الأخرى.
وسيلة فعالة وبسيطة لتقديم الدعم الأجهزة من قدرات هو تفويض MMU مسؤولية التحقق من وصول الحقوق لكل ذاكرة الوصول، آلية تسمى معالجة القائمة على القدرة. وتفتقر معظم أبنية الكمبيوتر التجارية دعم هذا MMU لقدرات
نواة (نظم تشغيل) قرارات تصميم النواة (kernel)
نهج بديل هو محاكاة قدرات باستخدام المجالات الهرمية بدعم عادة. في هذا النهج، يجب أن يتواجد كل كائن المحمية في مساحة عنوان التطبيق لا يستطيعون الوصول إلى؛ يحافظ على النواة أيضا قائمة من قدرات في هذه الذاكرة. عندما يحتاج تطبيق للوصول إلى كائن يحميها القدرة، فإنه يؤدي استدعاء نظام ونواة ثم يتحقق ما إذا كانت القدرة على التطبيق، يمنح ذلك الإذن لتنفيذ الإجراء المطلوب، وإذا سمح لها بتنفيذ حصول عليه (سواء بشكل مباشر، أو عن طريق تفويض الطلب إلى عملية أخرى على مستوى المستخدم). تكلفة أداء التبديل مساحة العنوان يحد من التطبيق العملي لهذا النهج في النظم مع التفاعلات المعقدة بين الكائنات، ولكن يتم استخدامه في أنظمة التشغيل الحالية للكائنات التي لا يتم الوصول إليها بشكل متكرر أو التي لا يتوقع أن تؤدي بسرعة. النهج حيث آلية الحماية لا البرامج الثابتة دعم ولكن بدلا من ذلك محاكاة على مستويات أعلى (مثل محاكاة القدرات عن طريق التلاعب جداول صفحة على الأجهزة التي ليس لديها الدعم المباشر)، ممكنة، ولكن هناك آثار الأداء.عدم وجود دعم الأجهزة قد لا يكون مشكلة، ولكن، للأنظمة التي تختار استخدام الحماية القائمة على اللغة
نواة (نظم تشغيل) قرارات تصميم النواة (kernel)
قرار هام تصميم النواة هو اختيار مستويات التجريد حيث ينبغي تنفيذ الآليات والسياسات الأمنية. آليات الأمن نواة تلعب دورا حاسما في دعم الأمن في المستويات العليا.
نهج واحد هو استخدام البرامج الثابتة ونواة دعم التسامح مع الخطأ (انظر أعلاه)، وبناء على السياسة الأمنية لسلوك ضار على رأس ذلك (ميزات مضيفا مثل آليات التشفير عند الضرورة)، وتفويض بعض المسؤولية إلى مترجم. النهج أن إنفاذ مندوب السياسة الأمنية للمترجم و / أو مستوى التطبيق غالبا ما تسمى الأمنية القائمة على اللغة
عدم وجود العديد من الآليات الأمنية الحساسة في أنظمة التشغيل الرئيسية الحالية يعوق تنفيذ السياسات الأمنية الكافية على مستوى التجريد التطبيق.في الواقع، وهو مفهوم خاطئ شائع في أمن الكمبيوتر هو أن أي سياسة أمنية يمكن تنفيذها في تطبيق بغض النظر عن دعم النواة.
نواة (نظم تشغيل) قرارات تصميم النواة (kernel)
حماية أو القائم على لغة حماية الأجهزة القائمة على قواعد القسري الأجهزة أنظمة الكمبيوتر نموذجية تستخدم حتى اليوم حول ما يسمح البرامج للوصول إلى ما هي البيانات. المعالج يراقب التنفيذ وتوقف البرنامج الذي يخالف قاعدة (على سبيل المثال، عملية المستخدم الذي هو على وشك القراءة أو الكتابة إلى نواة الذاكرة، وهلم جرا). في النظم التي تفتقر إلى دعم قدرات، يتم عزل العمليات عن بعضها البعض باستخدام مساحات العناوين منفصلة. يدعو من عمليات المستخدم في نواة تنظمها تتطلب منهم استخدام إحدى الطرق استدعاء نظام المذكورة أعلاه.
نهج بديل هو استخدام الحماية القائمة على اللغة. في نظام الحماية القائم على اللغة، فإن نواة تسمح فقط متاحة لتنفيذ التي تم إنتاجها من قبل مترجم لغة موثوق به. قد ثم اللغة أن تصمم بحيث بات من المستحيل بالنسبة للمبرمج لإرشاد أن تفعل شيئا من شأنها أن تنتهك المتطلبات الأمنية.
نواة (نظم تشغيل) قرارات تصميم النواة (kernel)
مزايا هذا النهج ما يلي:
لا حاجة لمساحات العناوين منفصلة. التبديل بين مساحات العناوين هي عملية بطيئة التي تسبب قدرا كبيرا من النفقات العامة، ويتم تنفيذ الكثير من العمل الأمثل في الوقت الراهن من أجل منع مفاتيح لا لزوم لها في أنظمة التشغيل الحالية. التبديل غير ضروري تماما في نظام الحماية القائم على اللغة، وكل رمز يمكن أن تعمل بأمان في نفس مساحة العنوان.
المرونة. أي مخطط الحماية التي يمكن أن تكون مصممة لأعرب عن طريق لغة برمجة يمكن تنفيذها باستخدام هذا الأسلوب. تغييرات بالنسبة لبرنامج حماية (على سبيل المثال من نظام هرمي لواحدة على أساس القدرة) الأجهزة الجديدة لا تتطلب.
وتشمل العيوب:
تطبيق أطول وقت البدء. يجب التحقق من التطبيقات عند البدء فيها للتأكد من أنها تم تجميعها من قبل المجمع الصحيح، أو قد تحتاج إعادة تجميع إما من المصدر أو من بايت كود.
نظم نوع غير مرنة. على النظم التقليدية، والتطبيقات بشكل متكرر تنفيذ عمليات التي لا اكتب آمنة. ولا يمكن السماح بمثل هذه العمليات في نظام الحماية القائم على اللغة، مما يعني أنه قد تحتاج التطبيقات إلى إعادة صياغة، ويمكن، في بعض الحالات، تفقد الأداء.
نواة (نظم تشغيل) التعاون العملية
ثبت إدسجير ديكسترا التي من وجهة نظر منطقية للعرض، قفل الذري وتأمين عمليات تعمل على الإشارات الثنائية والأوليات كافية للتعبير عن أي وظيفة للتعاون العملية.ولكن هذا النهج ومن المسلم به عموما أن هناك نقصا من حيث السلامة والكفاءة، في حين أن نهج رسالة يمر أكثر مرونة. وهناك عدد من المناهج الأخرى (سواء ذات الدخول المتدنية أو مستوى أعلى) متوفرة أيضا، مع العديد من حبات الحديثة بتوفير الدعم لأنظمة مثل الذاكرة المشتركة واستدعاء الإجراء البعيد.
== إدارة الأجهزة 0/1 ==فكرة نواة حيث I / O يتم التعامل مع الأجهزة بشكل موحد مع العمليات الأخرى، وعمليات التشغيل المشترك موازية، واقترحت ونفذت من قبل BRINCH هانسن أولا (على الرغم من واقترحت أفكار مماثلة في عام 1967). في وصف هانسن من هذا، وتسمى عمليات «مشتركة» العمليات الداخلية، في حين دعا الأجهزة . I / O العمليات الخارجية
نواة (نظم تشغيل) التعاون العملية
مماثلة إلى الذاكرة الفعلية، مما يسمح للتطبيقات الوصول المباشر إلى الموانئ تحكم والسجلات يمكن أن يسبب وحدة تحكم لعطل، أو نظام لتحطم الطائرة. مع هذا، اعتمادا على تعقيد الجهاز، ويمكن الحصول على بعض الأجهزة المعقدة المدهش أن البرنامج، واستخدام العديد من وحدات تحكم مختلفة. وبسبب هذا، وتوفير واجهة أكثر تجريدا لإدارة الجهاز المهم. ويتم ذلك عادة عن طريق واجهة برنامج تشغيل الجهاز أو طبقة تجريد الأجهزة. في كثير من الأحيان، وتطبيقات تتطلب الوصول إلى هذه الأجهزة. النواة يجب الحفاظ على قائمة من هذه الأجهزة عن طريق الاستعلام عن النظام بالنسبة لهم بطريقة أو بأخرى. ويمكن أن يتم ذلك من خلال BIOS، أو من خلال واحدة من العديد من الحافلات النظام (مثل PCI / PCIE، أو USB). عندما يطلب أحد تطبيقات عملية على الجهاز (مثل عرض الحرف)، ونواة تحتاج إلى إرسال هذا الطلب إلى برنامج تشغيل الفيديو النشط الحالي. برنامج تشغيل الفيديو، في المقابل، يحتاج لتنفيذ هذا الطلب. هذا مثال من الاتصالات عملية مشتركة.
نواة (نظم تشغيل) نهج التصميم واسعة النواة
وبطبيعة الحال، يمكن تقديم المهام المذكورة أعلاه والميزات في العديد من الطرق التي تختلف عن بعضها البعض في التصميم والتنفيذ
مبدأ الفصل بين الآلية والسياسة هو الفرق الكبير بين فلسفة حبات صغيرة ومتجانسة.هنا الآلية هي الدعم الذي يتيح تنفيذ العديد من السياسات المختلفة، في حين أن السياسة هي على وجه الخصوص «واسطة من العملية». على سبيل المثال، قد توفر آلية للمستخدم محاولات سجل في لدعوة خادم ترخيص لتحديد ما إذا كان ينبغي منح الوصول. سياسة قد يكون لخادم ترخيص لطلب كلمة المرور والتحقق من ذلك على كلمة مرور مشفرة تخزينها في قاعدة البيانات. لأن الآلية هي عامة، يمكن بسهولة أكبر تغيير السياسة (على سبيل المثال عن طريق اشتراط استخدام رمز الأمان) مما لو تم دمج آلية والسياسة في نفس الوحدة.
نواة (نظم تشغيل) نهج التصميم واسعة النواة
في الحد الأدنى النوية مدرجة فقط بعض السياسات الأساسية جدا، وآلياته يسمح ما يعمل على رأس النواة (الجزء المتبقي من نظام التشغيل والتطبيقات الأخرى) أن تقرر السياسات التي ستعتمدها (مثل إدارة الذاكرة، جدولة مستوى عال عملية، وإدارة نظام الملفات، الخ.). نواة متجانسة بدلا يميل لتشمل العديد من السياسات، وبالتالي تقييد بقية نظام الاعتماد عليها.
نواة (نظم تشغيل) نهج التصميم واسعة النواة
قدمت في BRINCH هانسن الحجج لصالح الانفصال آلية وسياسة. وعدم الوفاء صحيح هذا الفصل هو واحد من الأسباب الرئيسية لعدم وجود الابتكار كبير في أنظمة التشغيل الحالية، مشكلة شائعة في هندسة الكمبيوتروبفعل تصميم متجانسة من «وضع نواة» / «وضع المستخدم» النهج المعماري لحماية (وتسمى تقنيا مجالات حماية الهرمية)، وهو أمر شائع في النظم التجارية التقليدية؛. في الواقع، لذلك يفضل أن تضمن كل وحدة المحتاجين إلى الحماية في النواة وهذا الارتباط بين تصميم متجانسة و «وضع متميز» يمكن reconducted إلى القضية الرئيسية الانفصال آلية السياسات؛. في الواقع «وضع متميز» النهج المعماري يذوب معا آلية الحماية مع السياسات الأمنية، في حين أن النهج المعماري بديل رئيسي، على أساس القدرة تتناول، يميز بوضوح بين البلدين، مما يؤدي بطبيعة الحال إلى تصميم النوية (انظر الفصل بين الحماية والأمن).
في حين حبات متجانسة تنفيذ كافة التعليمات البرمجية الخاصة بهم في نفس مساحة العنوان (مساحة النواة) تصميم النوية microkernel محاولة تشغيل معظم خدماتها في الفضاء المستخدم، تهدف إلى تحسين الصيانة ونمطية من مصدر برنامج. معظم حبات لا تناسب تماما في واحد من هذه الفئات، ولكن بدلا جدت بين هذه التصاميم اثنين. وتسمى هذه الحبوب المختلطة. تصاميم أكثر غرابة مثل nanokernels وexokernels المتاحة، ولكن نادرا ما تستخدم في نظم الإنتاج. وهبرفيسر كسين، على سبيل المثال، هو exokernel
نواة (نظم تشغيل) المقال الرئيسي : نواة متألف
تخطيطي لنواة متجانسة
في نواة متجانسة، كافة الخدمات OS تعمل جنبا إلى جنب مع موضوع نواة الرئيسي، وبالتالي يقيم أيضا في منطقة الذاكرة نفسها. ويوفر هذا النهج وصول الأجهزة الأغنياء والأقوياء. بعض المطورين، مثل UNIX المطور كين تومسون، والحفاظ على أنه «من الأسهل لتنفيذ نواة متجانسة» من تصميم النوية microkernel. أهم عيوب حبات متجانسة هي تبعيات بين مكونات النظام - خلل في تشغيل الجهاز قد تعطل النظام بأكمله - وحقيقة أن حبات كبيرة يمكن أن يصبح من الصعب جدا الحفاظ عليها.
نواة (نظم تشغيل) المقال الرئيسي : نواة متألف
حبات متجانسة، التي جرت العادة على استخدامها من قبل أنظمة التشغيل يونكس مثل، تحتوي على جميع المهام الأساسية نظام التشغيل وبرامج تشغيل الجهاز (البرامج الصغيرة التي تسمح لنظام التشغيل للتفاعل مع الأجهزة، مثل محركات الأقراص، بطاقات الفيديو والطابعات). هذا هو التصميم التقليدي للأنظمة UNIX. نواة متجانسة هو برنامج واحد يحتوي على كافة التعليمات البرمجية الضرورية لأداء كل مهمة نواة ذات الصلة. كل جزء التي سيتم الوصول إليها من قبل معظم البرامج التي لا يمكن وضعها في مكتبة في الفضاء نواة: برامج تشغيل الأجهزة، جدولة، والتعامل مع الذاكرة، أنظمة الملفات، مداخن الشبكة. وتقدم العديد من المكالمات النظام إلى التطبيقات، لتمكينهم من الوصول إلى جميع تلك الخدمات. نواة متجانسة، في حين حملت في البداية مع النظم الفرعية التي قد لا تكون هناك حاجة، يمكن ضبطها لنقطة حيث أنه بأسرع أو أسرع من تلك التي تم تصميمها خصيصا للأجهزة، على الرغم من أن أكثر بالمعنى العام. حبات متجانسة الحديثة، مثل تلك التي لينكس وفري، وكلاهما يقع في فئة أنظمة التشغيل يونكس مثل، ميزة القدرة على تحميل وحدات في وقت التشغيل، مما يتيح تمديد سهل من قدرات نواة كما هو مطلوب، بينما يساعد على تقليل كمية من التعليمات البرمجية يعمل في الفضاء النواة. في نواة متجانسة، بعض المزايا تتوقف على هذه النقاط:
نواة (نظم تشغيل) المقال الرئيسي : نواة متألف
لأنه ليس هناك أقل البرامج المعنية وهو أسرع.
كما هو قطعة واحدة من البرمجيات يجب أن تكون أصغر في كل من المصدر والشكل المترجمة.
أقل كود يعني عموما أقل الأخطاء التي يمكن أن تترجم إلى مشاكل أمنية أقل.
ويتم معظم العمل في نواة متجانسة عبر استدعاءات النظام. هذه هي واجهات، وأبقى عادة في بنية جدولي، أن الوصول إلى بعض الفرعي داخل النواة مثل عمليات القرص. أساسا يتم إجراء المكالمات داخل البرامج ويتم تمرير نسخة فحص الطلب من خلال استدعاء نظام. وبالتالي، ليست بعيدة من السفر على الإطلاق. ويمكن إجراء نواة لينكس متجانسة صغيرة للغاية ليس فقط بسبب قدرته على تحميل وحدات حيوي ولكن أيضا بسبب سهولة التخصيص. في الواقع، هناك بعض الإصدارات التي هي صغيرة بما يكفي لتناسب مع عدد كبير من المرافق وغيرها من البرامج على قرص مرن واحد والتي لا تزال توفر نظام التشغيل وظيفية بالكامل (واحدة من أكثر شعبية منها)muLinux). وقد أدت هذه القدرة على تصغير نواة لها أيضا إلى النمو السريع في استخدام لينكس في النظم المضمنة
نواة (نظم تشغيل) المقال الرئيسي : نواة متألف
هذه الأنواع من الحبوب تتكون من المهام الأساسية لنظام التشغيل وبرامج تشغيل الأجهزة مع القدرة على تحميل وحدات في وقت التشغيل. أنها توفر التجريدية الغنية والقوية من الأجهزة الأساسية. أنها توفر مجموعة صغيرة من التجريد الأجهزة بسيطة واستخدام التطبيقات ودعا الملقمات لتوفير المزيد من الوظائف. هذا نهج معين يحدد واجهة افتراضية رفيع المستوى على الأجهزة، مع مجموعة من نظام يدعو إلى تنفيذ خدمات نظام التشغيل مثل إدارة العمليات، والتزامن وإدارة الذاكرة في عدة وحدات التي يتم تشغيلها في وضع المشرف. هذا التصميم لديها العديد من العيوب والقيود:
الترميز في نواة يمكن أن يكون تحديا، وذلك جزئيا بسبب واحد لا يمكن استخدام المكتبات المشتركة LIBC (كامل المواصفات)، ولأن واحد يحتاج إلى استخدام مصحح أخطاء على مستوى مصدر مثل جدب. إعادة تشغيل الكمبيوتر في كثير من الأحيان هو مطلوب. هذه ليست مجرد مشكلة الراحة للمطورين. عند التصحيح هو أصعب، وعندما تصبح الصعوبات أقوى، يصبح أكثر عرضة هذا الرمز سيكون "buggier"
الخلل في جزء واحد من نواة لها آثار جانبية قوية. لأن كل وظيفة في نواة لديه كل الامتيازات وخلل في وظيفة واحدة يمكن بنية البيانات فاسد آخر، تماما جزءا لا علاقة للنواة، أو من أي برنامج تشغيل.
حبات غالبا ما تصبح كبيرة جدا ويصعب الحفاظ عليها.
حتى لو كانت وحدات خدمة هذه العمليات منفصلة عن العموم، فإن التكامل متاحة ضيق ويصعب القيام به بشكل صحيح.
منذ حدات تشغيل في مساحة العنوان نفسه، يمكن خلل اسقاط النظام بأكمله
نواة (نظم تشغيل) المقال الرئيسي عن النوية
النوية هو مصطلح يصف نهجا لتصميم نظام التشغيل الذي يتم نقل وظائف النظام للخروج من «نواة» التقليدية، إلى مجموعة من «الخوادم» أن التواصل من خلال «الحد الأدنى» النواة ، وترك أقل قدر ممكن في «الفضاء نظام» وبقدر الإمكان في «الفضاء المستخدم». النوية التي تم تصميمها لمنصة أو جهاز محددة من أي وقت مضى فقط ستكون لدينا ما يحتاجه للعمل. يتكون النهج النوية تحديد تجريد بسيط على الأجهزة، مع مجموعة من الأوليات أو نظام يدعو إلى تنفيذ خدمات OS الحد الأدنى مثل إدارة الذاكرة، تعدد المهام، والاتصالات بين العملية. غيرها من الخدمات، بما في ذلك تلك التي تقدم عادة من نواة، مثل الربط الشبكي، ويتم تنفيذها في برامج المستخدم في الفضاء، ويشار إلى الخوادم. تصميم النوية microkernel هي أسهل من الحفاظ على حبات متجانسة، ولكن قد تبطئ عدد كبير من المكالمات النظام ومفاتيح السياق أسفل النظام لأنهم عادة ما تولد الحمل أكثر من المكالمات وظيفة مدنية.
نواة (نظم تشغيل) المقال الرئيسي عن النوية
فقط الأجزاء التي تتطلب حقا أن تكون في وضع متميز وجودها في الفضاء نواة: IPC (الاتصال بين العمليات)، جدولة بسيطة، أو جدولة الأوليات، والتعامل مع الذاكرة الأساسية، البدائيون / O الأساسية I. والعديد من الأجزاء الهامة الجارية الآن في الفضاء المستخدم: جدولة كاملة، والتعامل مع الذاكرة، أنظمة الملفات، وأكوام الشبكة. اخترعت حبات الصغيرة كرد فعل على التقليدي «متجانسة» تصميم النواة، حيث تم وضع جميع وظائف النظام في البرنامج تشغيل ثابت واحد في وضع خاص «النظام» من المعالج. في النوية، يتم تنفيذ سوى أبسط المهام مثل أن تكون قادرة على الوصول إلى بعض (وليس بالضرورة كل) من الأجهزة، وإدارة الذاكرة وتنسيق رسالة يمر بين العمليات. بعض الأنظمة التي تستخدم حبات صغيرة هي QNX وHURD. في حالة جلسات عمل المستخدم QNX وهيرد يمكن أن تكون لقطات كاملة من النظام نفسه أو وجهات النظر كما يشار إليها. جوهر العمارة النوية يوضح بعض من مزاياه:
نواة (نظم تشغيل) المقال الرئيسي عن النوية
صيانة أسهل عموما.
ويمكن اختبار بقع في نسخة منفصلة، ثم تبادلت في لتولي مثيل الإنتاج.
الوقت اللازم لتطوير سريع وبرمجيات جديدة يمكن اختبارها من دون الحاجة إلى إعادة تشغيل النواة.
المزيد من الثبات في عام، إذا كان مثلا أحد يذهب القش الأسلاك، فمن الممكن في كثير من الأحيان إلى استبدالها مرآة التشغيلية.
نواة (نظم تشغيل) المقال الرئيسي عن النوية
معظم حبات صغيرة تستخدم نظام الرسائل يمر من نوع ما للتعامل مع طلبات من ملقم واحد إلى آخر. ويعمل نظام تمرير الرسائل بشكل عام على أساس الميناء مع النوية. على سبيل المثال، إذا تم إرسال طلب المزيد من الذاكرة، يتم فتح منفذ مع النوية وطلب إرسالها عبر. مرة واحدة في النوية، والخطوات هي مماثلة لدعوات النظام. كان المبرر أنه سيجلب نمطية في بنية النظام، الأمر الذي يترتب عليه نظام أنظف وأسهل لتصحيح أو تعديل حيوي، للتخصيص لاحتياجات المستخدمين، والمزيد من الأداء. فهي جزء من أنظمة التشغيل مثل AIX، بيوس، هيرد، ماخ، ماك OS X، MINIX، QNX. الخ وبالرغم من حبات صغيرة صغيرة جدا في حد ذاتها، بالاشتراك مع كل ما لديهم المطلوبة كود مساعدة هم، في الواقع، في كثير من الأحيان أكبر من حبات متجانسة. دعاة حبات متجانسة ويشير أيضا إلى أن هيكل ثنائي أنظمة النوية، الذي أكثر من نظام التشغيل لا يتفاعل مباشرة مع الجهاز، ويخلق تكلفة يست تافهة من حيث كفاءة النظام. هذه الأنواع من الحبوب عادة فقط توفير الحد الأدنى من الخدمات مثل تحديد مساحات الذاكرة عنوان والتواصل بين عملية (IPC) وإدارة العملية. وظائف أخرى مثل تشغيل عمليات الأجهزة لا يتم التعامل مباشرة حبات صغيرة. أنصار حبات صغيرة يشيرون إلى تلك حبات متجانسة لديها عيب أن خطأ في نواة يمكن أن يتسبب في النظام بأكمله إلى تحطم الطائرة. ومع ذلك، مع النوية، إذا تعطل عملية النواة، فإنه لا يزال من الممكن منع انهيار النظام ككل بمجرد إعادة تشغيل الخدمة التي تسببت في الخطأ.