إكس أن يو

تعريفًا بالموضوع، إكس أن يو هو نواة نظام تشغيل الكمبيوتر التي تم تطويرها في ابل منذ ديسمبر 1996 لأنظمة الماك، وافرج عنه كبرنامج مجاني مفتوح المصدر كجزئ من نظام تشغيل داروين، كما يستعمل كنواة لانظمة ابل تي في وiOS وووتش أو إس. وتعرض الأقسام التالية جوانب أخرى من الموضوع.
وفي هذا الصدد، بعد أن حصلت أبل على نكست، تمت ترقية عنصر Mach إلى OSFMK 7.3 من OSF ، وتمت ترقية مكونات BSD برمز من مشروع فري بي إس دي، وتم استبدال مجموعة برامج التشغيل بواجهة برمجة سي++ لكتابة برامج التشغيل المسماة I / O Kit
إضافةً إلى ذلك، تم تطوير XNU في الأصل بواسطة NeXT لنظام التشغيل NeXTSTEP ، حيث تم دمج الإصدار 2.5 من نواة Mach في جامعة كارنيجي ميلون مع مكونات من 4.3BSD وObjective-C API لكتابة برامج التشغيل تسمى Driver Kit
XNU اختصار X و ليس Unix.
K32 / K64
ومن ناحية أخرى، يعمل التثبيت أثناء الضغط باستمرار على 6 و 4 على إجبار الجهاز على تشغيل K64 على الأجهزة التي تدعم نواة 64 بت. سيقوم K64 بتشغيل تطبيقات 32 بت ولكن لن يتم تشغيل ملحقات kernel 32 بت (KEXT) لذا يجب أن يتم نقلها إلى K64 لتتمكن من التحميل.
من جانب آخر، يمكن أن تكون أحجام المخزن المؤقت المؤقت أكبر مما تسمح به مساحة kernel 32 بت، مما قد يؤدي إلى زيادة أداء الإدخال / الإخراج.
ومن ناحية أخرى، هذا القسم يحتاج إلى تحديث. على وجه الخصوص: لا يصف أي تغييرات منذ 10.6. الرجاء تحديث هذه المقالة لتعكس الأحداث الأخيرة أو المعلومات المتوفرة حديثًا. (ديسمبر 2017)
ومن جهة أخرى، يتم زيادة الأداء عند استخدام أجهزة شبكة عالية الأداء أو وحدات معالجة رسومات متعددة (GPU) ، حيث يمكن أن يقوم kernel بتعيين كافة الأجهزة في مساحة 64 بت حتى إذا كان لدى الكثير من المخازن المؤقتة (DMA) للذاكرة المباشرة الكبيرة جدًا.
من جهة ثانية، XNU في ماك أو إس إكس سنو ليوبارد، v10.6، (إصدار داروين 10) يأتي في نوعين، إصدار 32 بت يدعى K32 وإصدار 64 بت يدعى K64. يمكن لـ K32 تشغيل تطبيقات 64 بت في userland. كان الجديد في نظام التشغيل ماك أو إس إكس سنو ليوبارد هو القدرة على تشغيل XNU في مساحة kernel 64 بت. كانت K32 هي النواة الافتراضية لملقم 10.6 عند استخدامها على جميع الأجهزة باستثناء طرازات Mac Pro وXserve من عام 2008 فصاعدًا ويمكن تشغيل تطبيقات 64 بت. يتميز K64 بالعديد من الفوائد مقارنة بـ K32:
في هذا الإطار، XNU في نظام التشغيل Mac OS X Lion ، الإصدار 10.7، والإصدارات الأحدث فقط توفر نواة 64 بت.
علاوةً على ذلك، يمكن إدارة أكثر من 32 غيغابايت من ذاكرة الوصول العشوائي، حيث تستهلك خريطة الذاكرة مساحة كبيرة بشكل غير متناسب من مساحة kernel 32 بت.
تصميم النواة
وفي هذا الصدد، اعتبارا من عام 2007، تعمل XNU على معالجات التي بمعمارية آرم، و IA-32، و x86-64، كل من المعالج ونماذج المعالجة المتعددة المتماثلة (SMP). تمت إزالة دعم باور بي سي اعتبارًا من الإصدار 10 (مثلًا، ماك أو إس).
من جهة ثانية، XNU عبارة عن نواة هجينة تحتوي على ميزات من كل من حبيبات متجانسة وmicrokernels، في محاولة لتحقيق أفضل استخدام لكل من التقنيات، مثل قدرة تمرير قدرة microkernels على تمكين المزيد من النمطية وأجزاء أكبر من نظام التشغيل للاستفادة من حماية الذاكرة، والاحتفاظ سرعة حبات متجانسة لبعض المهام الحرجة.
مجموعة الإدخال / الإخراج
وعلى صعيد آخر، مجموعة الإدخال / الإخراج (I / O Kit) هو إطار عمل برنامج تشغيل الجهاز، المكتوب في مجموعة فرعية من سي++ تستند إلى Embedded C ++. باستخدام التصميم الموجه للكائنات، يتم توفير الميزات الشائعة لأي فئة من برامج التشغيل في إطار العمل، مما يساعد على كتابة برامج تشغيل الأجهزة في وقت أقل وتعليمات برمجية. إن وحدة الإدخال / الإخراج هي متعددة العمليات ومتعددة المعالجات متماثلة (SMP) ، وتسمح للأجهزة القابلة للتوصيل والتكوين التلقائي والديناميكي للجهاز.
من جهة ثانية، يمكن كتابة الكثير من برامج التشغيل للتشغيل من مساحة المستعمل، مما يزيد من ثبات النظام. في حالة تعطل برنامج تشغيل مستعمل الفضاء، فلن يؤدي ذلك إلى تعطل النواة. ومع ذلك، إذا تعطل سائق kernel-space فإنه سيعطل النواة. تتضمن أمثلة برامج تشغيل kernel-space مهايئ للأقراص ومهايئ محول الشبكة وبرامج تشغيل الرسومات وبرامج تشغيل الناقل التسلسلي العالمي (USB) ووحدات تحكم مضيف FireWire وبرامج تشغيل برامج الأجهزة الظاهرية مثل VirtualBox و وVMware Fusion.
match
كذلك، أساس نواة XNU هو نواة OSFMK 7.3 معدلة بدرجة كبيرة (هجينة). على هذا النحو، فإنه قادر على تشغيل جوهر نظام التشغيل كعمليات منفصلة، مما يسمح بمرونة كبيرة (يمكنه تشغيل الكثير من أنظمة التشغيل بشكل متواز فوق نواة match) ، ولكن هذا غالباً ما يقلل الأداء نظرًا لأن النواة / المستعمل يستغرق وقتًا طويلاً. تبديل السياق الوضع والنفقات العامة من تعيين أو نسخ الرسائل بين مساحات العناوين من kernel و من عفريت (برمجيات) الخدمة. مع نظام التشغيل ماك أو إس ، حاول المصممون تبسيط بعض المهام، وهكذا تم بناء وظيفة BSD في جوهرها مع match. والنتيجة هي نواة OSFMK 7.3 معدّلة إلى حدّ كبير (هجينة) ، وأبل مرخصة OSFMK 7.3 ، وهي عبارة عن ميكرويكيلل، من OSF. (يتضمن OSFMK 7.3 التعليمات البرمجية المعمول بها من نواة جامعة يوتا match 4 والرمز الساري من الكثير من المتغيرات الميك 3.0 التي انبثقت عن الجيل الأصلي من الميكروفون 3.0 في جامعة كارنيجي ميلون.)
BSD
من جهة ثانية، يوفر جزء Berkeley Software Distribution) BSD) من النواة واجهة برمجة تطبيقات POSIX (API ، مكالمات نظام BSD) ، نموذج عملية Unix فوق مهام Mach ، سياسات الأمان الأساسية، معرفات المستعملين والمجموعات، الأذونات، بروتوكولات الشبكة، الظاهرية شفرة نظام الملفات (بما في ذلك طبقة دفتر يومية مستقلة لنظام الملفات) ، والكثير من أنظمة الملفات المحلية مثل HFS / HFS + ، وعميل وخادم نظام ملفات الشبكة (NFS)، وإطار التشفير، وUNIX System V inter-process communication (IPC) ، والنظام الفرعي للتدقيق، التحكم في الوصول الإلزامي، وبعض الأوليات القفل. رمز BSD الموجود في XNU جاء من نواة FreeBSD. على الرغم من أن الكثير منها قد تم تعديله إلى حدّ كبير، إلا أن المشاركة في الكود مازالت تحدث بين Apple ومشروع FreeBSD.
حماية الموارد المشتركة
ومن جهة أخرى، للتشغيل بأمان في الأجهزة ذات المعالجات المتعددة، يجب إجراء تسلسل للوصول إلى الموارد المشتركة (الملفات وهياكل البيانات وما إلى ذلك) بحيث لا تحاول سلاسل العمليات أو العمليات تعديل نفس المورد في نفس الوقت. العمليات الذرية، spinlocks ، الأقسام الحرجة، الاستثناءات المتبادلة ("mutexes") ، والرموز التسلسلية هي كل الطرق الممكنة التي يمكن استخدامها لمنع الوصول المتزامن. مثل الإصدارات الحديثة من Linux وFreeBSD ، فإن XNU ، كما في نظام Mac OS X 10.4 و Darwin 8.0 ، تستعمل نموذج mutex دقيق الحبيبات لتحقيق أداء أعلى في الأنظمة متعددة المعالجات.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟