هندسة وعمارة نظام ويندوز إن تي
هندسة وعمارة ويندوز (Windows NT)، عبارة عن مجموعة من أنظمة التشغيل التي تنتجها وتبيعها شركة Microsoft ، وهي بالأصل عبارة عن تصميم متعدد الطبقات يتكون من عنصرين رئيسيين وهما، وضع المستخدم ووضع kernel . يعتبر النظام هذا نظام وقائي ومهيأ لعمليات إعادة الدخول الأحادي ومخصص لتلبية وتنفيذ عدة مهام في آن واحد، كونه نظام تشغيلي (متعدد الوظائف)، والذي تم تصميمه للعمل مع المعالجات ذات الخواص الأحادية وأيضاً المعالجات المتعددة المتماثلة (SMP) المستندة إلى أجهزة الكمبيوتر. ومن أجل معالجة طلبات الإدخال / والإخراج (I / O)، فإنه يستخدم خصائص I / O التي تحركها الحزمة المطلوبة، والذي يستخدم حزم I / O بطلب من (IRPs) و I / O الغير متزامن. بدءًا من نظام التشغيل Windows XP ، بدأت شركة Microsoft في توفير إصدارات 64 بت من نظام التشغيل Windows ؛ قبل ذلك، كانت هناك إصدارات 32 بت فقط من أنظمة التشغيل هذه.
البرامج والأنظمة الفرعية في وضع المستخدم محدودة من حيث موارد النظام التي من الممكن الوصول إليها، في حين أن وضع kernel لديه وصول غير مقيد إلى ذاكرة النظام والأجهزة الخارجية. يتمتع وضع Kernel في نظام التشغيل Windows NT بالوصول الكامل إلى موارد النظام والأجهزة للكمبيوتر. kernel Windows NT هو kernel مختلط؛ حيث أنه يشتمل على البنية بواسطة kernel بسيط، وطبقة تجريد الأجهزة المسماة بـ (HAL)، وبرامج التشغيل، ومجموعة من الخدمات (تُسمى جماعيًا Executive)، وكلها موجودة في وضع kernel. [1]
يتكون وضع المستخدم في نظام التشغيل Windows NT من الأنظمة الفرعية القادرة على تمرير طلبات الإدخال / والإخراج إلى برامج تشغيل أجهزة وضع kernel المناسبة باستخدام مدير الإدخال / والإخراج (I/O). تتكون طبقة وضع المستخدم في نظام التشغيل Windows NT من «النظم الفرعية للبيئة»، التي تقوم بتشغيل التطبيقات المكتوبة للعديد من أنواع أنظمة التشغيل المختلفة، و «النظام الفرعي المتكامل»، الذي يقوم بدوره على تشغيل وظائف خاصة بالنظام نيابة عن الأنظمة الفرعية للبيئة. يمنع وضع kernel خدمات وتطبيقات وضع المستخدم من الوصول إلى المناطق الهامة في نظام التشغيل والتي يجب ألا يكون لها حق الوصول إليها.
تتعامل واجهات Executive ، مع جميع الأنظمة الفرعية لوضع المستخدم، ومع I / O ، وإدارة الكائنات، والأمن وإدارة العمليات. تقع النواة (kernel) بين طبقة تجريد الأجهزة والسلطة التنفيذية لتوفير تزامن المعالجات ذات الخواص المتعددة ، وجدول عمليات الخيط والترحيل والإرسال، ومعالجة الملائمة وإرسال الاستثناء. أيضاً، النواة مسؤولة عن تهيئة برامج تشغيل الأجهزة عند بدء عمليات التشغيل. تتواجد وتتمحور برامج التشغيل التي وضع Kernel في ثلاثة مستويات رئيسية هي: -برامج التشغيل العليا -وبرامج التشغيل المتوسطة -وبرامج التشغيل ذات المستوى المنخفض. يوجد Windows Driver Model (WDM) في الطبقة المتوسطة، حيث أنه تم تصميمها بشكل أساسي لتكون متوافقة مع مصدر تشغيل ثنائي بين نظامي التشغيل Windows 98 وWindows 2000 . برامج التشغيل ذا المستوى المنخفض هي إما برامج تشغيل أجهزة Windows NT القديمة التي تتحكم في الجهاز مباشرة أو يمكن أن تكون ناقل أجهزة التوصيل والتشغيل (PnP).
وضع المستخدم
[عدل]يتكون وضع المستخدم من العديد من العمليات المعرفة من قبل النظام و DLLs.
تسمى الواجهة بين تطبيقات وضع المستخدم ووظائف kernel لنظام التشغيل «نظام فرعي للبيئة». يمكن أن يحتوي نظام التشغيل Windows NT على أكثر من نظام فرعي واحد، وكل تطبيق يكون تحت مجموعة API مختلفة. تم تصميم هذه الآلية لدعم التطبيقات المكتوبة لأنواع مختلفة من أنظمة التشغيل. وللتوضيح، لا يمكن لأي من النظم الفرعية للبيئة الوصول مباشرة إلى الأجهزة؛ حيث أنه فقط يتم الوصول إلى وظائف الأجهزة عن طريق الاتصال في الإجراءات التي تكون في وضع kernel.
هناك أربعة أنظمة فرعية بيئية رئيسية ألا وهي: -النظام الفرعي من Win32 -والنظام الفرعي من OS / 2 -والنظام الفرعي من Windows لنظام Linux -ونظام POSIX الفرعي.[2] بالأسفل، شرح مبسط ومختصر للأنظمة الفرعية البيئية الأربعة، ويشمل الشرح أهم المكونات والخصائص، وبعض من العمليات المدمجة.
- يمكن للنظام الفرعي من بيئة Win32 تشغيل تطبيقات Windows 32 بت. وللتفصيل بشكل أكثر، إنه يحتوي على وحدة التحكم الخاصة به وكذلك دعم نافذة النص، ودعم نافذة الإغلاق ومعالجة الخطأ الثابت لجميع النظم البيئية الأخرى. كما أنه يدعم Virtual DOS Machines (VDMs)، والتي تسمح بتشغيل تطبيقات MS-DOS و Windows 16- Win (Win16) على Windows NT. يوجد VDM MS-DOS معين والذي يعمل في مساحة العنوان الخاصة به والذي يحاكي Intel 80486 ويعمل على تشغيل MS-DOS 5.0. برامج Win16 ، ومع ذلك، تعمل في Win16 VDM. يعمل كل برنامج افتراضيًا في نفس العملية وبنفس التسلسل العملي المسبق، وبالتالي يستخدم نفس مساحة العنوان، ويعطي Win16 VDM لكل برنامج مؤشر ترابط خاص به يمكن تشغيله عليه. ومع ذلك، يسمح Windows NT للمستخدمين بتشغيل برنامج Win16 في Win16 VDM بشكل منفصل، والذي يسمح للبرنامج بتعدد المهام بشكل استباقي، لأن Windows NT سوف يستبق عملية VDM بأكملها، والتي تحتوي فقط على تطبيق واحد قيد التشغيل. تتضمن عملية النظام الفرعي للبيئة Win32 أيضًا وظيفة إدارة النوافذ، والتي تسمى أحيانًا بوظيفة «مدير النوافذ». يعالج مدير النوافذ أحداث الإدخال (مثل عمليات الإدخال التي تكون مصدرة من لوحة المفاتيح أو الماوس)، ثم يمررها على هيئة رسائل إلى التطبيقات التي تحتاج إلى تلقي هذا الإدخال. كل تطبيق سيكون مسؤول عن رسم أو تحديث النوافذ والقوائم الخاصة به، استجابةً لهذه الرسائل.
- يدعم النظام الفرعي للبيئة OS / 2 تطبيقات OS / 2 المستندة إلى الأحرف 16 بت ويحاكي OS / 2 1.x ، ولكن ليس 32 بت أو تطبيقات OS / 2 الرسومية كما هو مستخدم مع OS / 2 2.x أو الأحدث، على أجهزة x86 فقط.[3] لتشغيل برامج 1.x الرسومية OS / 2، يجب تثبيت النظام الفرعي Windows NT ليعمل على الوظيفة الإضافية لإدارة العروض التقديمية. كان الإصدار الأخير من Windows NT الذي يحتوي على نظام فرعي OS / 2 هو نظام التشغيل Windows 2000 ؛ حيث أنه تمت إزالته لاحقاً، اعتبارًا من نظام التشغيل Windows XP.[4][5]
- يدعم النظام الفرعي لبيئة POSIX التطبيقات المكتوبة بصرامة إما لمعيار POSIX.1 أو معايير ISO / IEC ذات الصلة. تم استبدال هذا النظام الفرعي بـ Interix ، وهو جزء من خدمات Windows لـ UNIX . وللمعلومية، تم استبدال هذا النظام بدوره الكامل بنظام Windows الفرعي لنظام Linux .
يتعامل النظام الفرعي للأمان مع رموز الأمان، ويمنح أو يرفض الوصول إلى حسابات المستخدمين بناءً على أذونات الموارد، ويعالج طلبات تسجيل الدخول ويبدأ في مصادقة تسجيل الدخول، ويحدد موارد النظام التي يجب مراجعتها بواسطة Windows NT. كما أنه يعتني هذا النظام الفرعي للأمان بـ Active Directory. تطبق خدمة محطة العمل معيد التوجيه على الشبكة، وهو يكون على جانب العميل لمشاركة الملفات وملفات الطباعة من Windows ، ويقوم أيضاً بتنفيذ الطلبات المحلية على الملفات والطابعات البعيدة عن طريق «إعادة توجيهها» إلى الخوادم المناسبة على الشبكة.[6] ومن جهة وظيفية أخرى، تتيح خدمة الخادم لأجهزة الكمبيوتر الأخرى على الشبكة الوصول إلى مشاركات الملفات والطابعات المشتركة التي يوفرها النظام المحلي.[7]
وضع النواة (kernel)
[عدل]وكما تم شرحه سابقاً، يتمتع وضع kernel الخاص بنظام التشغيل Windows NT بالوصول الكامل إلى موارد الجهاز والنظام للكمبيوتر ويقوم بتشغيل التعليمات البرمجية في منطقة ذاكرة محمية.[8] علاوة على ذلك، إنه يتحكم في الوصول إلى الجدولة وتحديد أولويات الخيط وإدارة الذاكرة والتفاعل مع الأجهزة. يمنع وضع kernel خدمات وتطبيقات وضع المستخدم من الوصول إلى المناطق الحرجة في نظام التشغيل والتي لا ينبغي لهما الوصول إليها؛ ويجب أن تطلب عمليات وضع المستخدم من وضع kernel إجراء مثل هذه العمليات نيابة عنهم.
بينما تدعم بنية وبيئة x86 أربعة مستويات امتياز مختلفة (مرقمة من 0 إلى 3)، يتم استخدام مستويات الامتياز الشديدة فقط. يتم تشغيل برامج Usermode باستخدام CPL 3 ، ويتم تشغيل kernel باستخدام CPL 0. وغالبًا ما يشار إلى هذين المستويان باسم "ring 3" و "ring 0"، على التوالي. تم اتخاذ قرار التصميم هذا لتحقيق قابلية نقل الشفرة لأنظمة RISC التي تدعم مستويان فقط من الامتيازات، [9] على الرغم من أن هذا يقطع التوافق مع تطبيقات OS / 2 التي تحتوي على شرائح امتياز I / O والتي تحاول جاهداً الوصول مباشرة إلى الأجهزة.[10]
تتضمن التعليمات البرمجية التي يتم تشغيلها في وضع kernel ما يلي:
-السلطة التنفيذية، والتي تتكون في حد ذاتها من العديد من الوحدات التي تقوم بمهام محددة؛
-النواة، والتي توفر خدمات منخفضة المستوى تستخدمها السلطة التنفيذية؛ وهي طبقة تجريد الأجهزة (HAL)؛ وأقراص النواة .[8][11]
خدمات النظام التنفيذي
[عدل]تشكل خدمات Windows Executive جزء وضع kernel ذو المستوى المنخفض، ويتم تضمينها في الملف NTOSKRNL.EXE .[8] وهو يتعامل مع وحدات وعمليات الإدخال والإخراج I / O ، وإدارة الأشياء، والأمن وإدارة العمليات. هذه الخدمات تكون مقسمة إلى عدة أنظمة فرعية ، من بينها:
- Cache Manager ، (مدير ذاكرة التخزين المؤقت).
- Configuration Manager ، (مدير التهيئة والإعداد).
- I / O Manager ، (مدير أجهزة وعمليات الإدخال والإخراج).
- Local Procedure Call (LPC) (إستدعاء الإجراءات المحلية).
- Memory Manager ، (مدير الذاكرة).
- Object Manager ، (مدير الكائنات).
- Process Structure ، (هيكل العملية).
- Security Reference Monitor (SRM) ، (مراقب مرجع الأمان).
(سنتعرف بالأسفل على كل هذه المكونات والنظم الفرعية).
كل تلك المكونات أو الأنظمة الفرعية السابقة تكون مجمعة معًا، حيث يمكن أن تسمى تلك الأنظمة بـ«خدمات النظام» أو حتى أيضاً بـ «مكونات الخدمات التنفيذية» (Internal Name Nt). يتم تنفيذ خدمات النظام (Internal Name Nt)، في مكالمات أو طلبات النظام، على هذا المستوى أيضًا، باستثناء عدد قليل جدًا من المكالمات مباشرة إلى طبقة kernel للحصول على أداء أفضل.
يشير المصطلح «خدمات النظام» في هذا السياق عمومًا إلى روتين قابل للاستدعاء أو إلى مجموعة من الإجراءات القابلة للاستدعاء. يختلف هذا عن مفهوم «عمليات النظام»، وهو مكون في وضع المستخدم يشبه إلى حد ما البرمجيات الخفية في أنظمة التشغيل المشابهة لـ Unix .
- مدير الكائنات
- إن Object Manager هو نظام فرعي تنفيذي، حيث يجب على جميع الأنظمة الفرعية التنفيذية الأخرى، وخاصة مكالمات النظام، المرور للوصول إلى موارد Windows NT - مما يجعلها في الأساس خدمة بنية تحتية لإدارة الموارد. [12] يتم استخدام «مدير الكائنات» لتقليل الازدواجية في وظائف إدارة موارد الكائن في الأنظمة الفرعية التنفيذية الأخرى، مما قد يؤدي إلى حدوث خلل وجعل تطوير Windows NT أكثر صعوبة. [13] وبالنسبة أيضاً لمدير الكائنات، فإن كل مورد هو كائن، سواء كان ذلك المورد هو مورد فعلي (مثل نظام الملفات أو الأجهزة الطرفية) أو مورد منطقي (مثل ملف). يحتوي كل كائن على بنية أو نوع كائن يجب على مدير الكائنات معرفته.
- إنشاء الكائنات هي عملية تأتي وتمر على مرحلتين وهما، - الإنشاء -والإدخال . يؤدي الإنشاء إلى تخصيص كائن فارغ وحجز أي موارد مطلوبة من قبل مدير الكائنات، مثل اسم (اختياري) في مساحة الاسم. في حالة نجاح عملية الإنشاء هذه، يملأ النظام الفرعي المسؤول عن الإنشاء الكائن الفارغ. [13] أخيرًا، إذا اعتبر النظام الفرعي بأن عملية التهيئة ناجحة، فإنه يوجه مدير الكائنات لإدراج الكائن، مما يجعله قابلاً للوصول من خلال اسمه (الاختياري) أو ملف تعريف ارتباط يسمى المقبض . [12] من ذلك الحين فصاعدًا، تتم إدارة عمر الكائن بواسطة مدير الكائنات، والأمر متروك للنظام الفرعي للحفاظ على الكائن في حالة كونه صالح للعمل أو ريثما يتم الإشارة إليه بواسطة مدير الكائن للتخلص منه. [12]
- المقابض هي بمثل معرفات تمثل مرجعًا لمورد kernel من خلال قيمة غير شفافة.[14] وبالمثل، فإن فتح كائن من خلال اسمه يخضع لفحوصات أمنية، لكن التصرف من خلال مقبض مفتوح موجود يقتصر فقط على مستوى الوصول المطلوب عند فتح الكائن أو إنشاؤه.
- تحدد أنواع الكائنات إجراءات الكائن وأي بيانات خاصة بالكائن. وبهذه الطريقة، يسمح مدير الكائن لنظام التشغيل Windows NT بأن يكون نظام تشغيل موجه للكائنات، حيث يمكن اعتبار أنواع الكائنات فئات متعددة الأشكال تحدد كل تلك الكائنات. معظم الأنظمة الفرعية، مع استثناء ملحوظ في مدير الإدخال والإخراج I / O Manager ، فهي تعتمد على التطبيق الافتراضي لجميع إجراءات نوع الكائن.
- يخزن كل مثيل لكائن تم إنشاؤه اسمه والمعلمات التي يتم تمريرها إلى وظيفة إنشاء الكائن وسمات الأمان ومؤشر إلى نوع الكائن الخاص به. وللتفصيل، يحتوي الكائن أيضًا على إجراء لإغلاق الكائن وعدد مرجعي لإعلام مدير الكائن بعدد الكائنات الأخرى الموجودة في النظام التي تشير إلى هذا الكائن وبالتالي يحدد ما إذا كان يمكن إتلاف هذا الكائن عند إرسال طلب قريب إليه. [13] للتوضيح، كل كائن مسمى يكون موجود في مساحة اسم كائن هرمي.
- مدير ذاكرة التخزين المؤقت
- ينسق هذا النظام الفرعي بشكل وثيق مع برامج تشغيل Memory Manager و I / O Manager و I / O لتوفير ذاكرة تخزين مؤقتة مشتركة للملف / I العادية. يعمل Windows Cache Manager على كتل الملفات (بدلاً من كتل الأجهزة)، من أجل التشغيل المتسق بين الملفات المحلية والبعيدة، ويضمن درجة معينة من التماسك مع طرق العرض المعينة من الذاكرة للملفات، لأن كتل ذاكرة التخزين المؤقت هي حالة خاصة من الذاكرة المعينة، عوضاً عن طرق العرض وذاكرة التخزين المؤقتة التي تفتقد وتتعرض بحالة خاصة من أخطاء الصفحة.
- مدير التهيئة والإعداد
- هذا المكون أو (النظام الفرعي) يقوم بتنفيذ تحرير سجلات النظام (سجلات ويندوز).
- مدير الإدخال والإخراج
- يسمح هذا التكوين للأجهزة بالتواصل مع الأنظمة الفرعية لوضع المستخدم. حيث أنه يقوم بترجمة أوامر القراءة والكتابة في وضع المستخدم إلى قراءة أو كتابة IRP التي يتم تمريرها إلى برامج تشغيل الأجهزة. يقبل طلبات إدخال / إخراج نظام الملفات وترجمتها إلى مكالمات وإستدعائات خاصة بالجهاز، ويمكنه دمج برامج تشغيل الأجهزة منخفضة المستوى التي تتعامل مباشرة مع الأجهزة إما لقراءة المدخلات أو مخرجات الكتابة. ويتضمن أيضًا إدارة ذاكرة التخزين المؤقت لتحسين أداء القرص عن طريق تخزين طلبات القراءة مؤقتًا والكتابة إلى القرص في الخلفية.
- استدعاء الإجراءات المحلية (LPC)
- يوفر هذا النظام الفرعي منافذ اتصال بين العمليات، مع دلالات الاتصال. يتم استخدام منافذ LPC بواسطة الأنظمة الفرعية لوضع المستخدم للتواصل مع عملائها، والأنظمة الفرعية التنفيذية للتواصل مع الأنظمة الفرعية لوضع المستخدم، وكأساس للنقل المحلي لـ Microsoft RPC .
- مدير الذاكرة
- يدير مدير الذاكرة الذاكرة الظاهرية (الافتراضية)، ويقوم بالتحكم في حماية الذاكرة وترحيل الذاكرة من وإلى الذاكرة الفعلية إلى التخزين الثانوي، وينفذ مخصصات للأغراض العامة ومخصصات للذاكرة الفعلية. كما أنه يقوم أو يعمل مثل المحلل للملفات التنفيذية لـ PE ليتيح إمكانية تعيين الملف القابل للتنفيذ أو إلغاء تعيينه في خطوة ذرية واحدة.
- بدءاً من Windows NT Server 4.0 و Terminal Server Edition ، يقوم مدير الذاكرة بتطبيق ما يسمى بمساحة الجلسة ، ومجموعة من ذاكرة وضع kernel التي تخضع لتبديل السياق تمامًا مثل ذاكرة وضع المستخدم. يتيح ذلك مثيلات متعددة للنظام الفرعي من Win32 - ووضع kernel وبرامج تشغيل GDI كلها تعمل جنباً إلى جنب، على الرغم من أوجه القصور في تصميمها الأولي. تتم مشاركة كل مساحة جلسة من خلال العديد من العمليات، ويشار إليها بشكل جمعي باسم «جلسة» أو بالإنجليزية (Session).
- لضمان درجة قوية من العزل بين الجلسات دون تقديم نوع جديد من الكائنات، تتم معالجة الارتباط بين العمليات والجلسات بواسطة مراقب مرجع الأمان، كسمة لموضوع الأمان (الرمز المميز)، ولا يمكن تغييره إلا أثناء الاحتفاظ بامتيازات خاصة .
- ترجع الطبيعة غير المعقدة نسبيًا والمخصصة للجلسات إلى حقيقة أنها لم تكن جزءًا من التصميم الأولي، ويجب تطويرها، مع الحد الأدنى من الانقطاع للخط الرئيسي، بواسطة جهة خارجية من قبل (Citrix Systems) كشرط أساسي لمنتج خادم المحطة الطرفية الخاص بهم لنظام التشغيل Windows NT ، وتسمى بـ WinFrame . بدايةً من نظام التشغيل Windows Vista ، أصبحت الجلسات أخيرًا جزءًا مناسبًا من بنية Windows، حيث أنه لم يعد بناء مدير الذاكرة يتسلل إلى وضع المستخدم بشكل غير مباشر من خلال Win32 ، بل تم توسيعه إلى تجريد واسع الانتشار يؤثر على معظم الأنظمة الفرعية التنفيذية. في الواقع، يؤدي الاستخدام المنتظم لنظام التشغيل Windows Vista دائمًا إلى بيئة متعددة الجلسات.[15]
- هيكل العملية
- يعالج هيكل العملية إنشاء مؤشرات الترابط وإنهائها، ويقوم بتنفيذ مفهوم Job ، وهو مجموعة من العمليات التي يمكن إنهاؤها ككل، أو وضعها تحت قيود مشتركة (مثل الحد الأقصى الكلي للذاكرة المخصصة، أو وقت وحدة المعالجة المركزية). تم تقديم مفهوم (Job) ككائنات مهمة في نظام التشغيل Windows 2000 .
- مدير التوصيل والتشغيل
- يعالج مدير التوصيل والتشغيل ويدعم اكتشاف الجهاز وتثبيته في وقت التمهيد. ويتحمل أيضًا مسؤولية إيقاف وبدء تشغيل الأجهزة حسب الطلب - يمكن أن يحدث هذا عندما تكتسب مسار (مثل USB أو IEEE 1394 FireWire) جهازًا جديدًا وتحتاج إلى تحميل برنامج تشغيل الجهاز لدعمه. يتم تطبيق الجزء الأكبر منه فعليًا في وضع المستخدم، في خدمة التوصيل والتشغيل ، التي تتولى المهام المعقدة في كثير من الأحيان المتمثلة في تثبيت برامج التشغيل المناسبة، وإخطار الخدمات والتطبيقات بوصول الأجهزة الجديدة، وعرض واجهة المستخدم الرسومية للمستخدم.
- مدير الطاقة
- يتعامل هذا التكوين مع أحداث الطاقة (انقطاع التيار الكهربائي، الاستعداد، السبات، إلخ) وإخطار الأقراص والأجهزة المتأثرة بـ IRPs الخاصة (Power IRPs).
- مراقب مرجع الأمان (SRM)
- هو المرجع الرئيسي لتطبيق قواعد الأمان للنظام الفرعي الأمني المتكامل.[16] وهو يحدد ما إذا كان يمكن الوصول إلى كائن أو مورد، من خلال استخدام قوائم التحكم في الوصول (ACLs)، والتي تتكون في حد ذاتها من إدخالات التحكم في الوصول (ACEs). تحتوي ACEs على معرف أمان (SID) وقائمة من العمليات التي تمنحها ACE مجموعة مختارة من الأمناء - حساب مستخدم أو حساب مجموعة أو جلسة تسجيل الدخول [17] أو مثل القبول (السماح أو الرفض أو التدقيق) لهذا المورد. [18] [19]
- واجهة الجهاز الرسومية
- تعد واجهة الجهاز الرسومية مسؤولة عن مهام مثل رسم الخطوط والمنحنيات وتقديم الخطوط ومعالجة اللوحات. وضعت سلسلة إصدارات Windows NT 3.x مكون GDI في النظام الفرعي لوقت تشغيل العميل / الخادم في وضع المستخدم، ولكن تم نقل هذا إلى وضع kernel مع نظام التشغيل Windows NT 4.0 لتحسين أداء الرسومات.[20]
النواة
[عدل]تقع النواة بين HAL والسلطة التنفيذية وتوفر تزامن مع المعالجات ذات الخواص المتعددة، والجدولة والمقاطع والجدولة الخاصة مع عمليات الإرسال، ومعالجة الملائمة وإرسال الاستثناء ؛ كما أنها مسؤولة عن تهيئة برامج تشغيل الأجهزة عند بدء التشغيل والتي تعتبر ضرورية لتشغيل نظام التشغيل وعمليات إستعداده. أي أن النواة تؤدي جميع مهام النواة الصغيرة التقليدية تقريبًا ؛ وتعد بمثابة التمييز الصارم بين Executive و Kernel ، وهي أبرز بقايا تصميم microkernel الأصلي، وتشير وثائق التصميم التاريخي باستمرارها إلى مكون kernel باسم "microkernel".
تتداخل النواة غالبًا مع مدير العمليات. [21] مستوى التجريد هو أن النواة لا تستدعي أبدًا مدير العملية، فقط في الاتجاه المعاكس (باستثناء عدد قليل من الحالات، التي لا تزال مخصصة إلى درجة الاعتماد الوظيفي).
برامج التشغيل بوضع Kernel
[عدل]يستخدم Windows NT برامج تشغيل الأجهزة في وضع kernel لتمكينها من التفاعل مع الأجهزة. يحتوي كل من برامج التشغيل على إجراءات نظام محددة بشكل جيد وإجراءات داخلية يتم تصديرها إلى بقية نظام التشغيل. يُنظر إلى جميع الأجهزة بواسطة رمز وضع المستخدم ككائن ملف في مدير الإدخال والإخراج (I / O)، على الرغم من أنه بالنسبة لمدير الإدخال والإخراج نفسه، فإن الأجهزة تُعتبر مثل كائنات الجهاز، والتي تُعرف بأنها إما كائنات أو جهاز أو برنامج تشغيل. تكون برامج التشغيل في وضع Kernel على ثلاثة مستويات مهمة وهي: -برامج التشغيل العليا، -وبرامج التشغيل المتوسطة ، -وبرامج التشغيل ذات المستوى المنخفض. تعتمد برامج تشغيل المستوى الأعلى ، مثل برامج تشغيل نظام الملفات لـ FAT وNTFS ، على برامج تشغيل متوسطة. تتألف برامج التشغيل المتوسطة من برامج تشغيل الوظائف - أو برنامج التشغيل الرئيسي لجهاز معين ومحدد - حيث أنه يتم تحديده اختيارياً بين برامج تشغيل لعوامل التصفية ذات المستوى الأدنى والعالي. يعتمد برنامج التشغيل الوظيفي على برنامج تشغيل ناقل - أو برنامج تشغيل يخدم وحدة تحكم ناقل أو مهايئ أو جسر - والذي يمكن أن يحتوي على برنامج تشغيل لعامل تصفية ناقل اختياري يكون متواجد بينه وبين برنامج تشغيل الوظيفة. تعتمد برامج التشغيل المتوسطة على برامج تشغيل المستوى الأدنى وذلك من اجل أن تعمل. يوجد طراز برنامج تشغيل Windows (WDM) في الطبقة المتوسطة. برامج التشغيل ذات المستوى الأدنى هي إما برامج تشغيل جهاز Windows NT القديمة التي تتحكم في جهاز مباشرة أو يمكن أن تكون ناقل أجهزة PnP. تتحكم برامج التشغيل ذات المستوى الأدنى هذه بشكل مباشر في الأجهزة ولا تعتمد على أي برامج تشغيل أخرى.
طبقة المواد الصلبة
[عدل]طبقة تجريد أجهزة Windows NT ، أو طبقة تجريد الأجهزة (HAL) أو كما تسمى بـ «طبقة المواد الصلبة»، هي طبقة تتواجد بين الأجهزة الفعلية للكمبيوتر ونظام التشغيل. تم تصميمها لإخفاء الاختلافات في الأجهزة وتوفير نظام أساسي ثابت يتم تشغيل النواة عليه. تتضمن طبقة تجريد الأجهزة (HAL) تعليمات برمجية خاصة بالأجهزة لتتحكم في واجهات الإدخال / والإخراج ووحدات تحكم المقاطعات وعمليات المعالجات ذات الخصائص المتعددة.
ومع ذلك ، على الرغم من غرض تلك الطبقة ومكانها المعين داخل الهيكل العملي للنظام ، فإن طبقة تجريد الأجهزة هذه ليست طبقة تقع تمامًا أسفل النواة ، والطريقة التي تتواجد وتقع عليها هذه الطبقة هي فعلياً مدمجة تحت خواص المسؤول التنفيذي للنواة.
ولكن ورغم كل ذلك ، تعتمد جميع تطبيقات HAL المعروفة إلى حد ما على النواة نفسها ، أو حتى على عمليات السلطة التنفيذية (التي تم شرحها مسبقاً). في الممارسة العملية ، هذا يعني أن متغيرات kernel و HAL تأتي في مجموعات مطابقة مصممة خصيصًا للعمل معًا.
ولا سيما بأن تجريد الأجهزة هو أمر لاينطوي على استخلاص مجموعة التعليمات، التي تقع عادة في إطار مفهوم أوسع من مفهوم القابلية. يتم إجراء «خلاصة مجموعة التعليمات»، عند الضرورة (مثل معالجة المراجعات العديدة لمجموعة التعليمات x86 ، أو محاكاة معالج رياضيات مفقود)، بواسطة kernel ، أو عبر محاكاة الأجهزة الافتراضية.
مراجع
[عدل]- ^ Finnel 2000.
- ^ "Appendix D - Running Nonnative Applications in Windows 2000 Professional". Microsoft Windows 2000 Professional Resource Kit. مايكروسوفت. مؤرشف من الأصل في 2017-08-26.
- ^ "Windows NT Workstation Resource Kit Chapter 28 - OS/2 Compatibility". Microsoft. مؤرشف من الأصل في 2016-03-03.
- ^ "POSIX and OS/2 are not supported in Windows XP or in Windows Server 2003". Microsoft. مؤرشف من الأصل في 2014-01-09.
- ^ Reiter، Brian (24 أغسطس 2010). "The Sad History of the Microsoft POSIX Subsystem". مؤرشف من الأصل في 2019-01-28.
- ^ "Basic Architecture of a Network Redirector". Microsoft. مؤرشف من الأصل في 2016-11-18. اطلع عليه بتاريخ 2016-11-18.
- ^ "Windows NT Networking Architecture". Microsoft. مؤرشف من الأصل في 2017-03-07. اطلع عليه بتاريخ 2016-11-18.
- ^ ا ب ج Roman، Steven (1999). "Windows Architecture". Win32 API Programming with Visual Basic. O'Reilly and Associates, Inc. ISBN:1-56592-631-5.
- ^ "MS Windows NT Kernel-mode User and GDI White Paper". Windows NT Workstation documentation. مايكروسوفت تك نت. مؤرشف من الأصل في 2007-12-15. اطلع عليه بتاريخ 2007-12-09.
- ^ "Chapter 28 - OS/2 Compatibility". Windows NT Workstation Resource Kit. مايكروسوفت. مؤرشف من الأصل في 2009-02-10. اطلع عليه بتاريخ 2009-01-18.
- ^ Mark E. Russinovich؛ David A. Solomon؛ Alex Ionescu (2012). Windows Internals, Fifth Edition. Microsoft Press. ص. 228-255.
- ^ ا ب ج Russinovich & Solomon 2005.
- ^ ا ب ج Russinovich 1997.
- ^ "Handles and Objects". MSDN - Win32 and COM Development. Microsoft. مؤرشف من الأصل في 2015-11-06. اطلع عليه بتاريخ 2009-01-17.
- ^ "Impact of Session 0 Isolation on Services and Drivers in Windows Vista". Microsoft. مؤرشف من الأصل في 2009-12-08.
- ^ "Active Directory Data Storage". Microsoft. مؤرشف من الأصل في 14 فبراير 2020. اطلع عليه بتاريخ أغسطس 2020.
{{استشهاد ويب}}
: تحقق من التاريخ في:|تاريخ الوصول=
(مساعدة) - ^ "Trustee definition". MSDN. مؤرشف من الأصل في 2006-06-22.
- ^ Siyan 2000.
- ^ "ACE definition". MSDN. مؤرشف من الأصل في 2006-08-27.
- ^ "The Windows NT 4.0 Kernel mode change". MS Windows NT Kernel-mode User and GDI White Paper. Microsoft. مؤرشف من الأصل في 2009-01-13. اطلع عليه بتاريخ 2009-01-19.
- ^ Solomon & Russinovich 2000.