بنية نظام التشغيل ويندوز إن تي

يتميز نظام التشغيل ويندوز إن تي ، وهو سلسلة أنظمة تشغيل تنتجها وتبيعها شركة مايكروسوفت ، بتصميم متعدد الطبقات يتكون من عنصرين رئيسيين: وضع المستخدم ووضع النواة . وهو نظام تشغيل متعدد المهام قابل للتنفيذ الاستباقي وإعادة الدخول ، وقد صُمم للعمل مع الحواسيب أحادية المعالج والحواسيب متعددة المعالجات المتناظرة (SMP). لمعالجة طلبات الإدخال/الإخراج ، يستخدم نظام ويندوز إن تي الإدخال/الإخراج المُوجَّه بالحزم، والذي يعتمد على حزم طلبات الإدخال/الإخراج (IRPs) والإدخال /الإخراج غير المتزامن . بدءًا من ويندوز إكس بي ، بدأت مايكروسوفت بتوفير إصدارات 64 بت من ويندوز؛ قبل ذلك، كانت الإصدارات المتوفرة من هذه الأنظمة 32 بت فقط .
تُقيّد البرامج والأنظمة الفرعية في وضع المستخدم من حيث موارد النظام التي يمكنها الوصول إليها، بينما يتمتع وضع النواة بوصول غير مقيد إلى ذاكرة النظام والأجهزة الخارجية. في نظام التشغيل Windows NT، يتمتع وضع النواة بوصول كامل إلى موارد النظام ومكونات الحاسوب المادية. نواة Windows NT هي نواة هجينة ؛ إذ يتألف تصميمها من نواة بسيطة ، وطبقة تجريد الأجهزة (HAL)، وبرامج تشغيل، ومجموعة من الخدمات (تُسمى مجتمعةً " الخدمات التنفيذية ")، وكلها تعمل في وضع النواة. [ 1 ]
يتكون وضع المستخدم في نظام التشغيل Windows NT من أنظمة فرعية قادرة على تمرير طلبات الإدخال/الإخراج إلى برامج تشغيل الأجهزة المناسبة في وضع النواة باستخدام مدير الإدخال/الإخراج. تتألف طبقة وضع المستخدم في Windows NT من مجموعة الأنظمة الفرعية التي يدعمها نظام NT. تعمل تطبيقات وضع المستخدم ضمن نظام فرعي بيئي ، يوفر التوافق مع واجهة التطبيق الثنائية (ABI). قد يدعم تثبيت NT عدة أنظمة فرعية بيئية في آنٍ واحد، بما في ذلك واجهة برمجة تطبيقات Windows الرئيسية، ونظام التشغيل OS/2 تاريخيًا، وواجهة التطبيق الثنائية POSIX الخاصة بنظام NT . تتواصل التطبيقات التي تعمل ضمن نظام فرعي بيئي مع الأنظمة الفرعية المتكاملة لتنفيذ وظائف خاصة بالنظام. يتولى النظام التنفيذي، الموجود في مساحة النواة، مهمة التوسط في الاتصال بين الأنظمة الفرعية البيئية والمتكاملة.
تتعامل واجهات النظام التنفيذي، مع جميع الأنظمة الفرعية لوضع المستخدم، مع عمليات الإدخال والإخراج، وإدارة الكائنات، والأمان، وإدارة العمليات. وتقع نواة النظام بين طبقة تجريد الأجهزة والنظام التنفيذي لتوفير مزامنة المعالجات المتعددة ، وجدولة وإرسال سلاسل العمليات والمقاطعات ، ومعالجة الأخطاء وإرسال الاستثناءات. كما أن النواة مسؤولة عن تهيئة برامج تشغيل الأجهزة عند بدء التشغيل. توجد برامج تشغيل وضع النواة في ثلاثة مستويات: برامج التشغيل العليا، وبرامج التشغيل المتوسطة، وبرامج التشغيل الدنيا. يوجد نموذج برامج تشغيل ويندوز (WDM) في الطبقة المتوسطة، وقد صُمم أساسًا ليكون متوافقًا ثنائيًا ومصدريًا بين ويندوز 98 وويندوز 2000. أما برامج التشغيل الدنيا فهي إما برامج تشغيل أجهزة ويندوز NT القديمة التي تتحكم في الجهاز مباشرةً، أو يمكن أن تكون ناقل أجهزة يعمل بتقنية التوصيل والتشغيل (PnP).
وضع المستخدم
يتكون وضع المستخدم من عمليات مختلفة محددة من قبل النظام وملفات DLL .
تُسمى الواجهة بين تطبيقات وضع المستخدم ووظائف نواة نظام التشغيل " نظامًا فرعيًا للبيئة ". يمكن أن يحتوي نظام التشغيل Windows NT على أكثر من نظام فرعي للبيئة، حيث يُنفذ كل منها مجموعة واجهات برمجة تطبيقات مختلفة. صُممت هذه الآلية لدعم التطبيقات المكتوبة لأنواع مختلفة من أنظمة التشغيل. لا يمكن لأي من الأنظمة الفرعية للبيئة الوصول مباشرةً إلى الأجهزة؛ ويتم الوصول إلى وظائف الأجهزة عن طريق استدعاء إجراءات وضع النواة.
توجد ثلاثة أنظمة فرعية رئيسية للبيئة: النظام الفرعي Win32 ، والنظام الفرعي OS/2 ، والنظام الفرعي POSIX . [ 2 ]
نظام بيئة Win32

يُمكن لنظام بيئة Win32 تشغيل تطبيقات ويندوز 32 بت. وهو يحتوي على وحدة التحكم، بالإضافة إلى دعم نافذة النص، ووظائف إيقاف التشغيل ومعالجة الأخطاء الجسيمة لجميع أنظمة البيئة الأخرى. كما يدعم آلات DOS الافتراضية (VDMs)، التي تُتيح تشغيل تطبيقات MS-DOS وتطبيقات ويندوز 16 بت ( Win16 ) على نظام ويندوز NT. يوجد VDM خاص بنظام MS-DOS يعمل في مساحة عناوين مستقلة، ويُحاكي معالج Intel 80486 الذي يعمل بنظام MS-DOS 5.0. أما برامج Win16، فتُشغّل في VDM خاص بها. يعمل كل برنامج، افتراضيًا، في نفس العملية، وبالتالي يستخدم نفس مساحة العناوين، ويُخصّص VDM لكل برنامج خيطًا خاصًا به للتشغيل. مع ذلك، يسمح نظام ويندوز NT للمستخدمين بتشغيل برنامج Win16 في VDM منفصل خاص به، مما يُتيح للبرنامج إمكانية تعدد المهام بشكل استباقي، حيث سيُقاطع نظام ويندوز NT عملية VDM بأكملها، والتي لا تحتوي إلا على تطبيق واحد قيد التشغيل. تتضمن عملية النظام الفرعي لبيئة Win32 csrss.exeأيضًا وظيفة إدارة النوافذ، والتي تُسمى أحيانًا " مدير النوافذ ". تتولى هذه العملية معالجة أحداث الإدخال (مثل تلك الواردة من لوحة المفاتيح والماوس)، ثم تُمرر الرسائل إلى التطبيقات التي تحتاج إلى استقبال هذا الإدخال. كل تطبيق مسؤول عن رسم أو تحديث نوافذه وقوائمه الخاصة، استجابةً لهذه الرسائل.
نظام بيئة OS/2
يدعم النظام الفرعي لبيئة نظام التشغيل OS/2 تطبيقات OS/2 النصية ذات 16 بت، ويحاكي نظام التشغيل OS/2 1.x، ولكنه لا يدعم تطبيقات OS/2 الرسومية ذات 32 بت المستخدمة مع نظام التشغيل OS/2 2.x أو الإصدارات الأحدث، وذلك على أجهزة x86 فقط. [ 3 ] لتشغيل برامج OS/2 1.x الرسومية، يجب تثبيت النظام الفرعي الإضافي لمدير العرض التقديمي لنظام التشغيل Windows NT. [ 3 ] كان آخر إصدار من Windows NT يحتوي على نظام فرعي لنظام التشغيل OS/2 هو Windows 2000؛ وقد توقف دعمه مع Windows XP. [ 4 ] [ 5 ]
نظام بيئة POSIX الفرعي
يدعم النظام الفرعي لبيئة POSIX التطبيقات المكتوبة بدقة وفقًا لمعيار POSIX.1 أو معايير ISO / IEC ذات الصلة . وقد استُبدل هذا النظام الفرعي بنظام Interix ، وهو جزء من خدمات Windows لنظام UNIX . [ 4 ] ثم استُبدل بدوره بنظام Windows الفرعي لنظام Linux .
النظام الفرعي للأمان
يتولى النظام الفرعي للأمان إدارة وظائف خاصة بنظام التشغيل نيابةً عن نظام البيئة، ويتألف من عملية نظام أمان. هذه العملية هي سلطة الأمان المحلية (LSA) التي تدير رموز الأمان، وتمنح أو تمنع الوصول إلى حسابات المستخدمين بناءً على أذونات الموارد، وتتعامل مع طلبات تسجيل الدخول، وتبدأ عملية المصادقة، وتحدد موارد النظام التي تحتاج إلى تدقيق بواسطة نظام التشغيل Windows NT. [ 6 ] كما أنها مسؤولة عن Active Directory . تُنفذ خدمة محطة العمل مُعيد توجيه الشبكة ، وهو جانب العميل في مشاركة الملفات والطباعة في Windows؛ حيث تُنفذ الطلبات المحلية للملفات والطابعات البعيدة عن طريق إعادة توجيهها إلى الخوادم المناسبة على الشبكة. [ 7 ] في المقابل، تسمح خدمة الخادم لأجهزة الكمبيوتر الأخرى على الشبكة بالوصول إلى مشاركات الملفات والطابعات المشتركة التي يوفرها النظام المحلي. [ 8 ]
وضع النواة
يتمتع وضع النواة في نظام التشغيل Windows NT بصلاحيات كاملة على موارد النظام والأجهزة، ويُشغّل التعليمات البرمجية في منطقة ذاكرة محمية. [ 9 ] ويتحكم هذا الوضع في جدولة المهام، وتحديد أولويات العمليات، وإدارة الذاكرة، والتفاعل مع الأجهزة. كما يمنع وضع النواة خدمات وتطبيقات وضع المستخدم من الوصول إلى المناطق الحساسة في نظام التشغيل التي لا ينبغي لها الوصول إليها؛ إذ يجب على عمليات وضع المستخدم طلب تنفيذ هذه العمليات نيابةً عنها من وضع النواة.
على الرغم من أن بنية x86 تدعم أربعة مستويات امتياز مختلفة (مرقمة من 0 إلى 3)، إلا أنه يتم استخدام مستويي الامتياز الأقصى فقط. تُشغَّل برامج وضع المستخدم بمستوى امتياز CPL 3، بينما تُشغَّل النواة بمستوى امتياز CPL 0. يُشار إلى هذين المستويين غالبًا باسم "الحلقة 3" و"الحلقة 0" على التوالي. وقد اتُخذ هذا القرار التصميمي لتحقيق قابلية نقل التعليمات البرمجية إلى منصات RISC التي تدعم مستويين فقط من الامتياز، [ 10 ] على الرغم من أن هذا يُخل بالتوافق مع تطبيقات OS/2 التي تحتوي على أجزاء امتياز الإدخال/الإخراج التي تحاول الوصول المباشر إلى الأجهزة. [ 3 ]
يتضمن الكود الذي يعمل في وضع النواة ما يلي: النظام التنفيذي، الذي يتكون بدوره من العديد من الوحدات التي تؤدي مهامًا محددة؛ والنواة ، التي توفر خدمات منخفضة المستوى يستخدمها النظام التنفيذي؛ وطبقة تجريد الأجهزة (HAL)؛ وبرامج تشغيل النواة . [ 9 ] [ 11 ]
تنفيذي
تُشكّل خدمات Windows التنفيذية الجزءَ الأساسي من نظام التشغيل، وهي موجودة في الملف [ 9 ]ntoskrnl.exe . وتتولى هذه الخدمات إدارة عمليات الإدخال والإخراج، وإدارة الكائنات، والأمان، وإدارة العمليات. وتنقسم هذه الخدمات إلى عدة أنظمة فرعية ، من بينها مدير ذاكرة التخزين المؤقت ، ومدير التكوين ، ومدير الإدخال والإخراج ، واستدعاء الإجراءات المحلية (LPC) ، ومدير الذاكرة ، ومدير الكائنات ، وبنية العمليات ، ومراقب مرجع الأمان (SRM) . ويمكن تسمية هذه المكونات مجتمعةً بالخدمات التنفيذية (الاسم الداخلي Ex ). كما تُنفَّذ خدمات النظام (الاسم الداخلي Nt )، أي استدعاءات النظام ، على هذا المستوى أيضًا [ 12 ] ، باستثناء عدد قليل جدًا منها يستدعي طبقة النواة مباشرةً لتحسين الأداء.
يشير مصطلح "الخدمة" في هذا السياق عمومًا إلى روتين قابل للاستدعاء، أو مجموعة من الروتينات القابلة للاستدعاء. [ 12 ] وهذا يختلف عن مفهوم "عملية الخدمة"، وهو مكون في وضع المستخدم يشبه إلى حد ما برنامجًا خفيًا في أنظمة التشغيل الشبيهة بنظام يونكس . [ 13 ]

- مدير الكائنات
- مدير الكائنات (الاسم الداخلي: Ob ) هو نظام فرعي تنفيذي يجب أن تمر جميع الأنظمة الفرعية التنفيذية الأخرى، وخاصة استدعاءات النظام، من خلاله للوصول إلى موارد Windows NT، مما يجعله في جوهره خدمة بنية تحتية لإدارة الموارد. [ 14 ] يُستخدم مدير الكائنات للحد من ازدواجية وظائف إدارة موارد الكائنات في الأنظمة الفرعية التنفيذية الأخرى، الأمر الذي قد يؤدي إلى ظهور أخطاء ويُصعّب تطوير Windows NT. [ 15 ] بالنسبة لمدير الكائنات، كل مورد هو كائن، سواء كان موردًا ماديًا (مثل نظام ملفات أو جهاز طرفي) أو موردًا منطقيًا (مثل ملف). لكل كائن بنية أو نوع كائن يجب أن يكون مدير الكائنات على دراية به.
- إنشاء الكائنات عمليةٌ تتألف من مرحلتين: الإنشاء والإدراج . تُؤدي مرحلة الإنشاء إلى تخصيص كائن فارغ وحجز أي موارد يحتاجها مدير الكائنات، مثل اسم (اختياري) في مساحة الاسم. إذا نجح الإنشاء، يقوم النظام الفرعي المسؤول عنه بتعبئة الكائن الفارغ. [ 16 ] وأخيرًا، إذا اعتبر النظام الفرعي أن التهيئة ناجحة، فإنه يُصدر تعليمات لمدير الكائنات لإدراج الكائن ، مما يجعله قابلاً للوصول إليه من خلال اسمه (اختياري) أو من خلال مُعرّف يُسمى " المُعرّف" . [ 17 ] ومنذ ذلك الحين، يتولى مدير الكائنات إدارة دورة حياة الكائن، ويقع على عاتق النظام الفرعي مسؤولية الحفاظ على الكائن في حالة عمل جيدة إلى أن يُصدر مدير الكائنات إشارةً للتخلص منه. [ 18 ]
- المقابض هي معرّفات تمثل مرجعًا لمورد في نواة النظام من خلال قيمة مبهمة. [ 19 ] وبالمثل، يخضع فتح كائن من خلال اسمه لفحوصات أمنية، ولكن العمل من خلال مقبض مفتوح موجود يقتصر فقط على مستوى الوصول المطلوب عند فتح الكائن أو إنشائه.
- تُحدد أنواع الكائنات إجراءات الكائنات وأي بيانات خاصة بها. وبهذه الطريقة، يسمح مدير الكائنات لنظام التشغيل Windows NT بأن يكون نظام تشغيل كائني التوجه ، حيث يمكن اعتبار أنواع الكائنات فئات متعددة الأشكال تُعرّف الكائنات . مع ذلك، تعتمد معظم الأنظمة الفرعية، باستثناء ملحوظ في مدير الإدخال/الإخراج، على التنفيذ الافتراضي لجميع إجراءات أنواع الكائنات.
- يخزن كل مثيل من كائن يتم إنشاؤه اسمه، والمعاملات التي تُمرر إلى دالة إنشاء الكائن، وخصائص الأمان، ومؤشرًا إلى نوع الكائن. يحتوي الكائن أيضًا على إجراء إغلاق الكائن وعدد المراجع لإبلاغ مدير الكائنات بعدد الكائنات الأخرى في النظام التي تشير إلى هذا الكائن، وبالتالي تحديد ما إذا كان يمكن حذف الكائن عند إرسال طلب إغلاق إليه. [ 20 ] يوجد كل كائن مُسمى في مساحة أسماء كائنات هرمية .
- وحدة تحكم ذاكرة التخزين المؤقت
- يتعاون مدير ذاكرة التخزين المؤقت في نظام التشغيل Windows بشكل وثيق مع مدير الذاكرة ومدير الإدخال/الإخراج وبرامج تشغيل الإدخال/الإخراج لتوفير ذاكرة تخزين مؤقت مشتركة لعمليات الإدخال/الإخراج العادية للملفات. ويعمل مدير ذاكرة التخزين المؤقت في نظام التشغيل Windows على كتل الملفات (بدلاً من كتل الأجهزة)، لضمان التشغيل المتسق بين الملفات المحلية والبعيدة، ويضمن درجة معينة من التوافق مع طرق عرض الملفات المُرتبطة بالذاكرة ، حيث أن كتل ذاكرة التخزين المؤقت هي حالة خاصة من طرق عرض الملفات المُرتبطة بالذاكرة، وتُعد حالات فقدان ذاكرة التخزين المؤقت حالة خاصة من أخطاء الصفحات.
- مدير التكوين
- ينفذ استدعاءات النظام اللازمة لسجل ويندوز .
- مدير الإدخال/الإخراج
- يُمكّن هذا النظام الأجهزة من التواصل مع الأنظمة الفرعية في وضع المستخدم. فهو يُترجم أوامر القراءة والكتابة في وضع المستخدم إلى طلبات إدخال/إخراج للقراءة أو الكتابة ، والتي يُمررها إلى برامج تشغيل الأجهزة. كما يستقبل طلبات الإدخال/الإخراج من نظام الملفات ويُترجمها إلى استدعاءات خاصة بالجهاز، ويمكنه دمج برامج تشغيل أجهزة منخفضة المستوى تُعالج الأجهزة مباشرةً لقراءة المدخلات أو كتابة المخرجات. ويتضمن أيضًا مدير ذاكرة تخزين مؤقت لتحسين أداء القرص عن طريق تخزين طلبات القراءة والكتابة على القرص مؤقتًا في الخلفية.
- استدعاء الإجراء المحلي (LPC)
- يوفر منافذ اتصال بين العمليات مع دلالات الاتصال. تُستخدم منافذ LPC بواسطة الأنظمة الفرعية في وضع المستخدم للتواصل مع عملائها، وبواسطة الأنظمة الفرعية التنفيذية للتواصل مع الأنظمة الفرعية في وضع المستخدم، وكأساس للنقل المحلي لبروتوكول Microsoft RPC .
- مدير الذاكرة
- يدير الذاكرة الافتراضية ، ويتحكم في حماية الذاكرة، ونقل البيانات من وإلى الذاكرة الفعلية إلى وحدة التخزين الثانوية، كما يُنفذ مُخصِّصًا عامًا للذاكرة الفعلية. بالإضافة إلى ذلك، يُنفذ محللًا لملفات PE التنفيذية، مما يسمح بتعيين أو إلغاء تعيين ملف تنفيذي في خطوة واحدة ذرية.
- ابتداءً من نظام التشغيل Windows NT Server 4.0، إصدار خادم المحطة الطرفية، يُطبّق مدير الذاكرة ما يُسمى بمساحة الجلسة ، وهي نطاق من ذاكرة وضع النواة يخضع لتبديل السياق تمامًا مثل ذاكرة وضع المستخدم. يسمح هذا بتشغيل عدة نسخ من نظام Win32 الفرعي وبرامج تشغيل GDI في وضع النواة جنبًا إلى جنب، على الرغم من أوجه القصور في تصميمها الأولي. تتشارك عدة عمليات في كل مساحة جلسة، ويُشار إليها مجتمعةً باسم "جلسة".
- لضمان درجة من العزل بين الجلسات دون إدخال نوع كائن جديد، يتم التعامل مع الارتباط بين العمليات والجلسات بواسطة مراقب مرجع الأمان، كسمة لموضوع الأمان (الرمز المميز)، ولا يمكن تغييره إلا أثناء امتلاك امتيازات خاصة.
- يعود الطابع غير المتطور والمؤقت للجلسات إلى أنها لم تكن جزءًا من التصميم الأولي، واضطرت شركة Citrix Systems إلى تطويرها، مع الحد الأدنى من التأثير على النظام الرئيسي، كشرط أساسي لمنتج خادم المحطة الطرفية الخاص بها لنظام التشغيل Windows NT، والذي يُسمى WinFrame . لكن بدءًا من Windows Vista، أصبحت الجلسات جانبًا أساسيًا من بنية Windows. فلم تعد مجرد بنية لإدارة الذاكرة تتسلل إلى وضع المستخدم بشكل غير مباشر عبر Win32، بل توسعت لتصبح تجريدًا شاملًا يؤثر على معظم الأنظمة الفرعية التنفيذية. في الواقع، يؤدي الاستخدام المنتظم لنظام Windows Vista دائمًا إلى بيئة متعددة الجلسات. [ 21 ]
- هيكل العملية
- يتولى هذا النظام إنشاء وإنهاء العمليات والخيوط، ويُطبّق مفهوم " المهمة" ، وهي مجموعة من العمليات التي يمكن إنهاؤها ككل، أو وضعها تحت قيود مشتركة (مثل الحد الأقصى الإجمالي للذاكرة المخصصة، أو وقت وحدة المعالجة المركزية). وقد تم تقديم كائنات المهمة في نظام التشغيل ويندوز 2000 .
- مدير PnP
- يدعم هذا النظام خاصية التوصيل والتشغيل ، ويدعم اكتشاف الأجهزة وتثبيتها عند بدء التشغيل. كما يتولى مسؤولية إيقاف وتشغيل الأجهزة عند الحاجة، وذلك عند إضافة جهاز جديد إلى ناقل (مثل USB أو IEEE 1394 FireWire ) واحتياجه إلى تحميل برنامج تشغيل خاص به. يتم تنفيذ الجزء الأكبر من هذه الوظيفة في وضع المستخدم، ضمن خدمة التوصيل والتشغيل ، التي تتولى المهام المعقدة عادةً، مثل تثبيت برامج التشغيل المناسبة، وإخطار الخدمات والتطبيقات بوصول الأجهزة الجديدة، وعرض واجهة المستخدم الرسومية.
- مدير الطاقة
- يتعامل مع أحداث الطاقة (إيقاف التشغيل، وضع الاستعداد، وضع الإسبات، إلخ) ويقوم بإخطار السائقين المتأثرين بـ IRPs خاصة ( Power IRPs ).
- جهاز مراقبة مرجعية الأمان (SRM)
- السلطة الرئيسية المسؤولة عن تطبيق قواعد الأمان الخاصة بالنظام الفرعي المتكامل للأمان. [ 22 ] وهي التي تحدد إمكانية الوصول إلى كائن أو مورد ما، وذلك باستخدام قوائم التحكم بالوصول (ACLs)، والتي تتكون بدورها من مدخلات التحكم بالوصول (ACEs). تحتوي مدخلات التحكم بالوصول على مُعرِّف أمان (SID) وقائمة بالعمليات التي تمنحها لمجموعة مختارة من الجهات الموثوقة - حساب مستخدم، أو حساب مجموعة، أو جلسة تسجيل دخول [ 23 ] - إذنًا (سماح، أو رفض، أو تدقيق) للوصول إلى ذلك المورد. [ 24 ] [ 25 ]
- GDI
- تتولى واجهة جهاز الرسومات مسؤولية مهام مثل رسم الخطوط والمنحنيات، وعرض الخطوط، وإدارة لوحات الألوان. في سلسلة إصدارات Windows NT 3.x ، تم وضع مكون GDI في نظام التشغيل الفرعي للعميل/الخادم في وضع المستخدم ، ولكن تم نقله إلى وضع النواة مع Windows NT 4.0 لتحسين أداء الرسومات. [ 26 ]
النواة
تتوسط النواة بين طبقة تجريد الأجهزة (HAL) والطبقة التنفيذية، وتوفر مزامنة المعالجات المتعددة، وجدولة وإرسال الخيوط والمقاطعات، ومعالجة الأخطاء والاستثناءات؛ كما أنها مسؤولة عن تهيئة برامج تشغيل الأجهزة عند بدء التشغيل، وهي ضرورية لتشغيل نظام التشغيل. أي أن النواة تؤدي جميع مهام النواة المصغرة التقليدية تقريبًا ؛ ويُعد التمييز الدقيق بين الطبقة التنفيذية والنواة أبرز ما تبقى من تصميم النواة المصغرة الأصلي، وتشير وثائق التصميم التاريخية باستمرار إلى مكون النواة باسم "النواة المصغرة".
غالباً ما تتفاعل النواة مع مدير العمليات. [ 27 ] مستوى التجريد هو بحيث لا تستدعي النواة مدير العمليات أبداً، بل العكس هو الصحيح (باستثناء عدد قليل من الحالات الشاذة، والتي لا تصل أبداً إلى حد الاعتماد الوظيفي).
تصميم النواة الهجينة
يتضمن تصميم نظام التشغيل Windows NT العديد من الأهداف نفسها التي يتضمنها نظام Mach ، وهو نظام النواة المصغرة النموذجي، ومن أهمها بنيته كمجموعة من الوحدات التي تتواصل عبر واجهات معروفة، مع نواة مصغرة صغيرة تقتصر على الوظائف الأساسية مثل معالجة المقاطعات من المستوى الأول، وجدولة الخيوط، ووظائف التزامن. يتيح هذا إمكانية استخدام استدعاءات الإجراءات المباشرة أو الاتصال بين العمليات (IPC) للتواصل بين الوحدات، وبالتالي إمكانية وضع الوحدات في مساحات عناوين مختلفة (على سبيل المثال، في مساحة النواة أو عمليات الخادم). تشمل أهداف التصميم الأخرى المشتركة مع Mach دعم بنى معمارية متنوعة، ونواة ذات تجريدات عامة بما يكفي للسماح بتنفيذ شخصيات متعددة لأنظمة التشغيل عليها، وهيكلية كائنية التوجه. [ 10 ] [ 28 ]
تُعدّ واجهة برمجة تطبيقات ويندوز (Windows API) هي السمة الأساسية لنظام التشغيل في ويندوز ، وهي موجودة دائمًا. يُطلق على نظام المحاكاة الفرعي الذي يُنفّذ هذه السمة اسم نظام وقت تشغيل العميل/الخادم (Client/Server Runtime Subsystem ) csrss.exe. في إصدارات NT السابقة للإصدار 4.0، احتوت عملية هذا النظام الفرعي أيضًا على مدير النوافذ، وواجهة جهاز الرسومات، وبرامج تشغيل جهاز الرسومات. ولكن لأسباب تتعلق بالأداء، في الإصدار 4.0 والإصدارات اللاحقة، تعمل هذه الوحدات (التي غالبًا ما تُنفّذ في وضع المستخدم حتى على الأنظمة المتكاملة، وخاصة تلك المصممة بدون دعم رسومات داخلي) كنظام فرعي في وضع النواة. [ 10 ]
تُكتب التطبيقات التي تعمل على نظام NT باستخدام إحدى خصائص نظام التشغيل (عادةً واجهة برمجة تطبيقات Windows)، وليس باستخدام واجهة برمجة تطبيقات NT الأصلية التي لا تتوفر لها وثائق متاحة للعموم (باستثناء الإجراءات المستخدمة في تطوير برامج تشغيل الأجهزة). تُنفَّذ خاصية نظام التشغيل عبر مجموعة من مكتبات الارتباط الديناميكي (DLL) في وضع المستخدم (انظر مكتبة الارتباط الديناميكي )، والتي تُربط بمساحات عناوين عمليات التطبيقات حسب الحاجة، بالإضافة إلى عملية خادم نظام فرعي للمحاكاة (كما هو موضح سابقًا). تصل التطبيقات إلى خدمات النظام عن طريق استدعاء مكتبات الارتباط الديناميكي (DLL ntdll.dll) الخاصة بخاصية نظام التشغيل والمُرتبطة بمساحات عناوينها، والتي بدورها تستدعي مكتبة وقت تشغيل NT، المُرتبطة أيضًا بمساحة عنوان العملية. تُلبّي مكتبة وقت تشغيل NT هذه الطلبات عن طريق الدخول إلى وضع النواة إما لاستدعاء إجراءات تنفيذية في وضع النواة أو لإجراء استدعاءات إجراءات محلية (LPCs) إلى عمليات خادم النظام الفرعي المناسبة في وضع المستخدم، والتي بدورها تستخدم واجهة برمجة تطبيقات NT للتواصل مع عمليات التطبيقات والأنظمة الفرعية في وضع النواة ومع بعضها البعض. [ 29 ]
برامج تشغيل وضع النواة
يستخدم نظام التشغيل Windows NT برامج تشغيل الأجهزة في وضع النواة لتمكينه من التفاعل مع الأجهزة المادية . لكل برنامج تشغيل إجراءات نظام محددة جيدًا وإجراءات داخلية يُصدّرها إلى باقي أجزاء نظام التشغيل. يرى رمز وضع المستخدم جميع الأجهزة ككائن ملف في مدير الإدخال/الإخراج، بينما يراها مدير الإدخال/الإخراج نفسه ككائنات أجهزة، يُعرّفها إما ككائن ملف أو جهاز أو برنامج تشغيل. توجد برامج تشغيل وضع النواة في ثلاثة مستويات: برامج التشغيل العليا، وبرامج التشغيل المتوسطة، وبرامج التشغيل الدنيا. تعتمد برامج التشغيل العليا، مثل برامج تشغيل نظام الملفات FAT و NTFS ، على برامج التشغيل المتوسطة. تتكون برامج التشغيل المتوسطة من برامج تشغيل الوظائف - أو برنامج التشغيل الرئيسي للجهاز - والتي قد تكون محصورة بين برامج تشغيل التصفية الدنيا والعليا. يعتمد برنامج تشغيل الوظائف بعد ذلك على برنامج تشغيل ناقل - أو برنامج تشغيل يخدم وحدة تحكم ناقل أو محول أو جسر - والذي قد يحتوي على برنامج تشغيل تصفية ناقل اختياري يقع بينه وبين برنامج تشغيل الوظائف. تعتمد برامج التشغيل المتوسطة على برامج التشغيل الدنيا لكي تعمل. يوجد نموذج برنامج تشغيل Windows (WDM) في الطبقة المتوسطة. تُعدّ برامج التشغيل ذات المستوى الأدنى إما برامج تشغيل أجهزة Windows NT القديمة التي تتحكم بالجهاز مباشرةً، أو قد تكون ناقل أجهزة PnP. تتحكم برامج التشغيل هذه ذات المستوى الأدنى بالأجهزة مباشرةً ولا تعتمد على أي برامج تشغيل أخرى.
طبقة تجريد الأجهزة
طبقة تجريد الأجهزة (HAL) في نظام التشغيل ويندوز إن تي هي طبقة وسيطة بين المكونات المادية للحاسوب وبقية نظام التشغيل. صُممت هذه الطبقة لإخفاء الاختلافات في الأجهزة وتوفير منصة موحدة لتشغيل نواة النظام. تتضمن طبقة تجريد الأجهزة (HAL) شيفرة برمجية خاصة بالأجهزة تتحكم في واجهات الإدخال/الإخراج، ووحدات التحكم في المقاطعات ، والمعالجات المتعددة.
مع ذلك، ورغم غرض طبقة تجريد الأجهزة (HAL) ومكانتها المحددة ضمن بنية النظام، فإنها ليست طبقة تقع كليًا أسفل النواة، كما تقع النواة أسفل الطبقة التنفيذية: فجميع تطبيقات HAL المعروفة تعتمد بدرجة أو بأخرى على النواة، أو حتى على الطبقة التنفيذية. عمليًا، هذا يعني أن إصدارات النواة وHAL تأتي في مجموعات متطابقة مصممة خصيصًا للعمل معًا.
على وجه الخصوص، لا يشمل تجريد الأجهزة تجريد مجموعة التعليمات، التي تندرج عمومًا تحت المفهوم الأوسع لقابلية النقل . يتم تجريد مجموعة التعليمات، عند الضرورة (مثل التعامل مع المراجعات المتعددة لمجموعة تعليمات x86 ، أو محاكاة معالج رياضي مساعد مفقود)، بواسطة النواة، أو عبر المحاكاة الافتراضية للأجهزة .
تُنفَّذ طبقة تجريد الأجهزة (HAL) في [ 30 ]hal.dll . تُنفِّذ طبقة تجريد الأجهزة عددًا من الوظائف التي تُنفَّذ بطرق مختلفة بواسطة منصات الأجهزة المختلفة، والتي تشير في هذا السياق في الغالب إلى مجموعة الشرائح . يمكن للمكونات الأخرى في نظام التشغيل استدعاء هذه الوظائف بنفس الطريقة على جميع المنصات، بغض النظر عن التنفيذ الفعلي.
على سبيل المثال، تختلف الاستجابة للمقاطعات اختلافًا كبيرًا في جهاز مزود بوحدة تحكم متقدمة قابلة للبرمجة للمقاطعات (APIC) عنها في جهاز لا يحتوي عليها. توفر طبقة تجريد الأجهزة (HAL) وظيفة واحدة لهذا الغرض تعمل مع جميع أنواع المقاطعات من مختلف الشرائح، بحيث لا تحتاج المكونات الأخرى إلى مراعاة هذه الاختلافات.
يتم تحميل طبقة تجريد الأجهزة (HAL) في مساحة عناوين النواة وتعمل في وضع النواة، لذا لا يمكن للتطبيقات استدعاء إجراءات HAL مباشرةً، ولا توجد واجهات برمجة تطبيقات (APIs) خاصة بوضع المستخدم تتوافق مباشرةً مع إجراءات HAL. بدلاً من ذلك، توفر HAL خدماتها بشكل أساسي لنظام التشغيل Windows التنفيذي والنواة، بالإضافة إلى برامج تشغيل الأجهزة في وضع النواة. على الرغم من أن برامج تشغيل معظم الأجهزة موجودة في ملفات أخرى، عادةً من نوع .sys ، إلا أن بعض برامج التشغيل الأساسية يتم تجميعها في ملف .sys hal.dll.
تستخدم برامج تشغيل الأجهزة في وضع النواة، للأجهزة المتصلة بناقلات مثل PCI و PCI Express، إجراءات مباشرة في طبقة تجريد الأجهزة (HAL) للوصول إلى منافذ الإدخال/الإخراج وسجلات أجهزتها. تستخدم برامج التشغيل هذه إجراءات HAL لأن المنصات المختلفة قد تتطلب تطبيقات مختلفة لهذه العمليات. تُنفذ طبقة تجريد الأجهزة العمليات بشكل مناسب لكل منصة، مما يسمح باستخدام ملف برنامج التشغيل نفسه على جميع المنصات التي تستخدم نفس بنية وحدة المعالجة المركزية ، كما يمكن نقل ملف مصدر برنامج التشغيل بين جميع البنى.
في أنظمة x86 قبل ويندوز 8 ، توجد عدة ملفات HAL مختلفة على وسائط التثبيت. يحدد إجراء تثبيت ويندوز الملفات المناسبة للمنصة الحالية وينسخها إلى القرص الصلب، مع إعادة تسميتها عند hal.dllالضرورة. من بين معايير هذا الاختيار: وجود BIOS متوافق مع ACPI ، ووجود APIC ، وما إذا كانت المعالجات المتعددة موجودة ومفعلة أم لا. (تُعتبر النوى المتعددة لوحدة المعالجة المركزية متعددة النوى ، وحتى "المعالجات المنطقية" التي تُنفذها وحدة المعالجة المركزية بتقنية تعدد الخيوط ، جميعها "معالجات" لهذا الغرض). في منصات x86-64 و Itanium، يوجد ملف HAL واحد فقط hal.dllلكل بنية معالج. في ويندوز 8 والإصدارات الأحدث، يحتوي إصدار x86 أيضًا على ملف HAL واحد فقط.
يتم دمج HAL (أو ربطه بشكل ثابت) في ntoskrnl.exe[ 31 ] بدءًا من الإصدار 2004 من Windows 10، ويعمل DLL فقط كبديل للتوافق مع الإصدارات السابقة.
تسلسل الإقلاع
يبدأ تسلسل الإقلاع بواسطة NTLDR في الإصدارات السابقة لنظام Vista، وبواسطة مدير إقلاع Windows في نظام Vista والإصدارات الأحدث. [ 32 ] يتولى مُحمِّل الإقلاع مسؤولية الوصول إلى نظام الملفات على قرص الإقلاع، وبدء تشغيل ntoskrnl.exeبرامج تشغيل الأجهزة الخاصة بالإقلاع، وتحميلها إلى الذاكرة. بمجرد تحميل جميع برامج تشغيل الإقلاع والنظام، تبدأ النواة تشغيل النظام الفرعي لإدارة الجلسات . يقوم مدير الجلسات بتشغيل خدمات أساسية في النواة ووضع المستخدم لنظام Win32 الفرعي، مثل النظام الفرعي لوقت تشغيل العميل/الخادم . كما تُشغِّل الجلسة عملية winlogon ، مما يسمح للمستخدمين بتسجيل الدخول واستخدام حساباتهم.
انظر أيضاً
ملاحظات ومراجع
- ملحوظات
- ↑ فينيل 2000 ، الفصل 1: مقدمة إلى مايكروسوفت ويندوز 2000، الصفحات 7-18.
- ↑ "الملحق د - تشغيل التطبيقات غير الأصلية في نظام التشغيل Windows 2000 Professional" . مجموعة موارد Microsoft Windows 2000 Professional . Microsoft . 11 سبتمبر 2008.
- 1 2 3 "مجموعة موارد محطة عمل ويندوز إن تي، الفصل 28 - توافق نظام التشغيل OS/2" . مايكروسوفت. مؤرشف من الأصل في 24 أكتوبر 2012.
- ١ ٢ "لا يدعم نظاما التشغيل POSIX و OS/2 في نظامي التشغيل Windows XP أو Windows Server 2003" . مايكروسوفت. مؤرشف من الأصل بتاريخ ٢٤ مايو ٢٠١١.
- ↑ رايتر، برايان (24 أغسطس 2010). "التاريخ الحزين لنظام مايكروسوفت الفرعي POSIX" .
- ↑ "عمليات بيانات الاعتماد في مصادقة ويندوز" . مايكروسوفت ليرن . تم الاطلاع عليه بتاريخ 29 ديسمبر 2025 .
{{cite web}}: CS1 maint: url-status ( link ) - ↑ "البنية الأساسية لموجه الشبكة" . مايكروسوفت. 15 ديسمبر 2021. تم الاطلاع عليه بتاريخ 30 يوليو 2023 .
- ↑ "بنية شبكات ويندوز إن تي" . مايكروسوفت. مؤرشف من الأصل في 18 نوفمبر 2016. تم الاطلاع عليه بتاريخ 18 نوفمبر 2016 .
- 1 2 3 رومان، ستيفن (1999). "بنية ويندوز" . برمجة واجهة برمجة تطبيقات Win32 باستخدام فيجوال بيسك . أورايلي وشركاه، المحدودة. ISBN 1-56592-631-5.
- 1 2 3 "ورقة بيضاء حول وضع المستخدم وواجهة برمجة تطبيقات الرسومات في وضع النواة لنظام التشغيل ويندوز إن تي" . وثائق محطة عمل ويندوز إن تي . مايكروسوفت تك نت . مؤرشفة من الأصل بتاريخ 21 فبراير 2008. تم الاطلاع عليها بتاريخ 9 ديسمبر 2007 .
- ^ مارك إي روسينوفيتش. ديفيد أ. سليمان؛ أليكس إيونيسكو. ويندوز الداخلية، الطبعة الخامسة . مايكروسوفت برس. ص 228 – 255. ISBN 978-0-7356-2530-3.
- 1 2 "تطوير البرمجيات في ويندوز" . مطبعة مايكروسوفت . 15 مايو 2012. مؤرشف من الأصل في 13 أبريل 2025.
- ↑ "نظرة عامة على الخدمات" . مايكروسوفت ليرن . 7 أكتوبر 2009.
- ↑ روسينوفيتش وسولومون 2005 ، ص 124-125.
- ↑ روسينوفيتش 1997 ، مقدمة.
- ↑ روسينوفيتش 1997 ، "أنواع الكائنات".
- ↑ روسينوفيتش وسولومون 2005 ، ص 135-140.
- ↑ روسينوفيتش وسولومون 2005 ، ص 141-143.
- ↑ "المقابض والكائنات" . معلومات نظام ويندوز . مايكروسوفت. 8 فبراير 2022. تم الاسترجاع في 30 يوليو 2023 .
- ↑ روسينوفيتش 1997 ، "الأشياء".
- ↑ "تأثير عزل الجلسة 0 على الخدمات وبرامج التشغيل في نظام التشغيل ويندوز فيستا" . مايكروسوفت. مؤرشف من الأصل في 27 يونيو 2006.
- ↑ "تخزين بيانات Active Directory" . مايكروسوفت. مؤرشف من الأصل بتاريخ 14 فبراير 2020. تم الاطلاع عليه بتاريخ 22 سبتمبر 2005 .
- ↑ "تعريف الوصي" . MSDN. مؤرشف من الأصل في 8 فبراير 2005.
- ↑ سيان 2000 .
- ↑ "1.2 مسرد المصطلحات" . [MS-AZOD]: نظرة عامة على بروتوكولات التفويض . 14 يونيو 2022. إدخال التحكم في الوصول (ACE).
- ↑ "ورقة بيضاء حول وضع المستخدم وواجهة برمجة تطبيقات الرسومات في وضع النواة لنظام التشغيل ويندوز إن تي" . مايكروسوفت. تغيير وضع النواة في ويندوز إن تي 4.0 . تم الاطلاع عليه بتاريخ 19 يناير 2009 .
- ↑ سولومون وروسينوفيتش 2000 ، ص 543-551.
- ↑ سيلبرشاتز، أبراهام؛ جالفين، بيتر باير؛ غاني، جريج (2005). مفاهيم أنظمة التشغيل؛ الطبعة السابعة (ملف PDF) . هوبوكين، نيو جيرسي: جون وايلي وأولاده. ISBN 978-0-471-69466-3.
- ↑ بروبرت، ديف (2005). "استخدام مشاريع مبنية على واجهات برمجة تطبيقات NT الداخلية لتدريس مبادئ نظام التشغيل" . مايكروسوفت للأبحاث/آسيا - بكين. ص 6. مؤرشف من الأصل بتاريخ 17 مارس 2007. تم الاطلاع عليه بتاريخ 1 مارس 2007 .
- ↑ بلوندن، بيل (2009). ترسانة الروتكيت: الهروب والتهرب في الزوايا المظلمة للنظام . جونز وبارتليت للتعليم. ص 101. ISBN 978-1-59822-061-2.
- ↑ @PetrBenes (25 يوليو 2019). "هل فاتني شيء؟ الروتينات..." ( تغريدة ) – عبر تويتر .
- ↑ "تسلسل الإقلاع لنظام ويندوز متعدد الإقلاع - Multibooters.com" . www.multibooters.com . تاريخ الاسترجاع: 19 نوفمبر 2020 .
- مراجع
- فينيل، لين (2000). امتحان MCSE 70-215، خادم مايكروسوفت ويندوز 2000. مطبعة مايكروسوفت . ISBN 1-57231-903-8.
- روسينوفيتش، مارك (أكتوبر 1997). "نظرة داخلية على مدير الكائنات في نظام التشغيل NT" . مجلة Windows IT Pro. مؤرشف من الأصل في 3 مارس 2007.
- "تخزين بيانات Active Directory" . مايكروسوفت. مؤرشف من الأصل بتاريخ 14 فبراير 2020. تم الاطلاع عليه بتاريخ 9 مايو 2005 .
- سولومون، ديفيد ؛ روسينوفيتش، مارك إي. (2000). داخل نظام التشغيل مايكروسوفت ويندوز 2000 (الطبعة الثالثة ). مطبعة مايكروسوفت. ISBN 0-7356-1021-5تمت أرشفة النسخة الأصلية بتاريخ 23-03-2005.
- روسينوفيتش، مارك ؛ سولومون، ديفيد (2005). أساسيات نظام التشغيل مايكروسوفت ويندوز ( الطبعة الرابعة). مطبعة مايكروسوفت. ISBN 0-7356-1917-4.
- شريبر، سفين ب. (2001). أسرار ويندوز 2000 غير الموثقة . أديسون-ويسلي لونغمان. ISBN 978-0201721874.
- سيان، كاناجيت س. (2000). مرجع ويندوز 2000 الاحترافي . نيو رايدرز. ISBN 0-7357-0952-1.
للمزيد من القراءة
- مارتينيتي، إي.؛ ما الذي يجعله صفحة؟: مدير الذاكرة الافتراضية لنظام التشغيل ويندوز 7 (64 بت) ( ISBN) 978-1479114290)
- روسينوفيتش، مارك إي.؛ سولومون، ديفيد أ.؛ إيونيسكو، أ.؛ أساسيات ويندوز، الجزء الأول: تغطية ويندوز سيرفر 2008 R2 وويندوز 7 ( ISBN) 978-0735648739)
- روسينوفيتش، مارك إي.؛ سولومون، ديفيد أ.؛ إيونيسكو، أ.؛ أساسيات ويندوز، الجزء الثاني: تغطية ويندوز سيرفر 2008 R2 وويندوز 7 ( ISBN) 978-0735665873)
روابط خارجية
- "موقع مايكروسوفت الرسمي لنظام التشغيل ويندوز 2000" . مايكروسوفت . مؤرشف من الأصل بتاريخ 29 فبراير 2000.
- "Microsoft Windows 2000 Plug and Play" . مايكروسوفت . مؤرشف من الأصل في 8 أغسطس 2004.
- إدارة الذاكرة في نواة نظام التشغيل ويندوز إكس بي
- أنظمة التشغيل حسب البنية
- بنية ويندوز إن تي
- نواة نظام التشغيل ويندوز إن تي
