مدير الكائنات

مدير الكائنات في Windows، مصنف بشكل هرمي باستخدام المساحات الاسمية

مدير الكائنات (يُطلق عليه داخليًا اسم Ob ) هو نظام فرعي تم تنفيذه كجزء من Windows Executive الذي يدير موارد Windows . الموارد، التي تظهر ككائنات منطقية ، توجد كل منها في مساحة اسمية للتصنيف. يمكن أن تكون الموارد أجهزة مادية أو ملفات أو مجلدات على وحدات تخزين أو إدخالات تسجيل أو حتى عمليات تشغيل. تحتوي جميع الكائنات التي تمثل الموارد على Object Typeخاصية وبيانات تعريفية أخرى حول المورد. مدير الكائنات هو مورد مشترك، ويجب أن تمر جميع الأنظمة الفرعية التي تتعامل مع الموارد عبر مدير الكائنات.

بنيان

مدير الكائنات في بنية Windows NT

مدير الكائنات هو وسيط الموارد المركزي في خط أنظمة التشغيل Windows NT ، والذي يتتبع الموارد المخصصة للعمليات. إنه مستقل عن الموارد ويمكنه إدارة أي نوع من الموارد، بما في ذلك مقابض الأجهزة والملفات. يتم تمثيل جميع الموارد ككائنات، كل منها ينتمي إلى مساحة اسم منطقية للتصنيف وله نوع يمثل نوع المورد، والذي يعرض القدرات والوظائف عبر الخصائص. يظل الكائن متاحًا حتى يتم الانتهاء من جميع العمليات به؛ يحتفظ مدير الكائنات بسجل الكائنات التي قيد الاستخدام حاليًا عبر عد المراجع ، بالإضافة إلى معلومات الملكية. تمر أي مكالمة نظام تغير حالة تخصيص الموارد للعمليات عبر مدير الكائنات.

يمكن أن تكون الكائنات إما كائنات Kernel أو كائنات Executive . تمثل كائنات Kernel موارد بدائية مثل الأجهزة المادية، أو الخدمات مثل المزامنة، والتي تعد مطلوبة لتنفيذ أي نوع آخر من خدمات نظام التشغيل. لا تتعرض كائنات Kernel لرمز وضع المستخدم ، ولكنها مقتصرة على رمز Kernel. تستخدم التطبيقات والخدمات التي تعمل خارج Kernel كائنات Executive ، والتي يتم عرضها بواسطة Windows Executive ، إلى جانب مكوناتها مثل مدير الذاكرة والمجدول ونظام الإدخال/الإخراج الفرعي. تغلف الكائنات التنفيذية كائنًا أو أكثر من كائنات Kernel ولا تعرض فقط موارد Kernel والموارد الوسيطة من خلال Kernel، ولكن أيضًا مجموعة موسعة من الخدمات التي تقدمها Kernel. [ بحاجة لتوضيح ] يمكن للتطبيقات نفسها تغليف كائن أو أكثر من كائنات Executive وكائنات السطح [ بحاجة لتعريف ] التي تقدم خدمات معينة. تُستخدم الكائنات التنفيذية أيضًا بواسطة أنظمة فرعية للبيئة (مثل نظام Win32 ونظام OS/2 ونظام POSIX الفرعي وما إلى ذلك) لتنفيذ وظائف البيئات المعنية.

عند إنشاء كائن أو فتحه، يتم إنشاء مرجع إلى المثيل، يُعرف باسم المقبض. يقوم مدير الكائنات بفهرسة الكائنات حسب أسمائها ومقابضها. يكون الرجوع إلى الكائنات بواسطة المقابض أسرع لأنه يتجاوز ترجمة الاسم. ترتبط المقابض بالعمليات عن طريق عمل إدخال في جدول مقابض العملية، والذي يسرد المقابض التي تمتلكها، ويمكن نقلها بين العمليات. يجب أن تمتلك العملية مقبضًا لكائن لاستخدامه، ويمكن أن تمتلك ما يصل إلى 16000000 مقبض في وقت واحد. أثناء الإنشاء، تكتسب العملية مقابض لمجموعة افتراضية من الكائنات. هناك أنواع مختلفة من المقابض، مثل مقابض الملفات ومقابض الأحداث ومقابض العملية، والتي تحدد نوع الكائنات المستهدفة ولكنها لا تميز العمليات التي يمكن إجراؤها من خلالها. يضمن هذا الاتساق التعامل الموحد مع أنواع الكائنات المختلفة برمجيًا. تتم إدارة إنشاء المقابض وحل الكائنات من المقابض حصريًا بواسطة مدير الكائنات، مما يضمن عدم تجاهل أي استخدام للموارد.

أنواع الكائنات التنفيذية المتاحة بواسطة Windows NT هي:

يكتب وصف نداء النظام للحصول على المقبض
دليل تحتوي الحاوية على كائنات نواة أخرى. تنظم مستويات متعددة من الدلائل المتداخلة جميع كائنات النواة في شجرة واحدة. كائن دليل Ntإنشاء
كائن دليل Ntفتح
عملية مجموعة من الخيوط القابلة للتنفيذ بالإضافة إلى معلومات التحكم والتوجيه الافتراضية . عملية إنشاء عملية
فتح
خيط كيان يحتوي على كود قيد التنفيذ، داخل عملية. إنشاء موضوع فتح
موضوع
وظيفة مجموعة من العمليات. كائن وظيفة Ntإنشاء
كائن وظيفة Ntفتح
ملف ملف مفتوح أو جهاز إدخال/إخراج . إنشاء ملف
NtOpenFile
قسم منطقة من الذاكرة مدعومة اختياريًا بملف أو ملف صفحة . إنشاء قسم فتح
قسم
رمز الوصول حقوق الوصول إلى كائن ما. NtCreateToken
NtDuplicateToken
NtOpenProcessToken
NtOpenThreadToken
حدث كائن يحتوي على بعض المعلومات، لاستخدامه في إخطار العمليات بشيء ما. حدث غير قابل للإنشاء
حدث غير قابل للفتح
إشارة ضوئية / ميكتس الكائنات التي تقوم بتسلسل الوصول إلى الموارد الأخرى. إنشاء إشارة ضوئية
NtOpenSemaphore
الموقت كائن يقوم بإعلام العمليات على فترات زمنية ثابتة. مؤقت إنشاء Ntمؤقت
الفتح Nt
مفتاح مفتاح التسجيل . مفتاح الإنشاء
مفتاح الفتح
سطح المكتب سطح عرض منطقي يحتوي على عناصر واجهة المستخدم الرسومية . لا أحد
الحافظة مستودع مؤقت للأشياء الأخرى. لا أحد
محطة النافذة كائن يحتوي على مجموعة من كائنات سطح المكتب وحافظة واحدة وكائنات مستخدم أخرى. لا أحد
رابط رمزي مرجع إلى كائن آخر، يمكن من خلاله استخدام الكائن المشار إليه. إنشاء كائن رابط رمزي
NtOpen كائن رابط رمزي

بنية الكائن

يحتوي كل كائن يديره مدير الكائنات على رأس وجسم؛ يحتوي الرأس على معلومات الحالة التي يستخدمها مدير الكائنات، بينما يحتوي الجسم على البيانات الخاصة بالكائن والخدمات التي يعرضها. يحتوي رأس الكائن على بيانات معينة، يتم عرضها على أنها Properties، مثل Object Name(التي تحدد الكائن)، Object Directory(الفئة التي ينتمي إليها الكائن)، Security Descriptors(حقوق الوصول لكائن)، Quota Charges(معلومات استخدام الموارد للكائن)، Open handle count(عدد المرات التي تم فيها فتح مقبض، وهو معرف للكائن)، Open handle list(قائمة العمليات التي لها مرجع مباشر للكائن)، its Reference count(عدد المراجع المباشرة للكائن)، و Type(كائن يحدد بنية جسم الكائن) للكائن.

يحتوي الكائن Typeعلى خصائص فريدة لنوع الكائن بالإضافة إلى طرق ثابتة تنفذ الخدمات التي يقدمها الكائن. يجب أن توفر الكائنات التي يديرها مدير الكائنات على الأقل مجموعة محددة مسبقًا من الخدمات: Close(التي تغلق مقبضًا لكائن)، Duplicate(إنشاء مقبض آخر للكائن يمكن لعملية أخرى من خلاله الحصول على وصول مشترك إلى الكائن)، Query object(جمع معلومات حول سماته وخصائصه)، Query security(الحصول على واصف الأمان للكائن)، Set security(تغيير الوصول الأمني)، و Wait(للمزامنة مع كائن واحد أو أكثر عبر أحداث معينة). تحتوي كائنات النوع أيضًا على بعض السمات المشتركة، بما في ذلك اسم النوع، وما إذا كان سيتم تخصيصها في ذاكرة غير مقسمة، وحقوق الوصول، ومعلومات المزامنة. تشترك جميع مثيلات نفس النوع في نفس كائن النوع، ويتم إنشاء كائن النوع مرة واحدة فقط. يمكن إنشاء نوع كائن جديد من خلال منح الكائن خصائص لفضح حالته وطرق لفضح الخدمات التي يقدمها.

Object nameتُستخدم لإعطاء هوية وصفية لكائن، للمساعدة في البحث عن الكائن. يحتفظ مدير الكائن بقائمة الأسماء المعينة بالفعل للكائنات التي تتم إدارتها، ويربط الأسماء بالمثيلات. نظرًا لأن معظم عمليات الوصول إلى الكائن تتم عبر المقابض، فليس من الضروري دائمًا البحث عن الاسم لحلها في مرجع الكائن. يتم إجراء البحث فقط عند إنشاء كائن (للتأكد من أن الكائن الجديد له اسم فريد)، أو عند وصول عملية إلى كائن باسمه صراحةً. Object directoriesتُستخدم لتصنيفها وفقًا للأنواع. تتضمن الدلائل المحددة مسبقًا \??(أسماء الأجهزة)، \BaseNamedObjects(مفاتيح المزامنة المتبادلة، والأحداث، والإشارات، ومؤقتات الانتظار، وكائنات القسم)، \Callback(وظائف الإرجاع)، \Device، \Driver، \FileSystem، \KnownDlls، \Nls(جداول اللغة)، \ObjectTypes(كائنات النوع)، \RPC Control( منافذ RPC\Security )، (كائنات نظام فرعي للأمان)، و \Windows(كائنات نظام فرعي للنوافذ). تنتمي الكائنات أيضًا إلى مساحة اسم . يتم تعيين مساحة اسم مختلفة لكل جلسة مستخدم. الكائنات المشتركة بين جميع الجلسات موجودة في مساحة اسم GLOBAL ، والكائنات الخاصة بالجلسة موجودة في مساحات اسم الجلسة المحددة

هيكل OBJECT_ATTRIBUTES:

typedef struct _OBJECT_ATTRIBUTES { طول ULONG ؛ مقبض الدليل الجذر ؛ اسم الكائن PUNICODE_STRING ؛ سمات ULONG ؛ PSECURITY_DESCRIPTOR SecurityDescriptor ؛ PSECURITY_QUALITY_OF_SERVICE SecurityQualityOfService ؛ } سمات الكائن * سمات المشروع ؛   
   
   
   
   
   
   
  

يمكن أن يكون عضو السمات صفرًا، أو مزيجًا من العلامات التالية:

OBJ_INHERIT
كائن دائم
OBJ_حصري
حالة الكائن غير حساسة
OBJ_OPENIF
رابط مفتوح OBJ
مقبض نواة OBJ

الاستخدام

تتوفر مسارات مدير الكائنات للعديد من وظائف ملفات واجهة برمجة تطبيقات Windows، على الرغم من أن أسماء Win32 مثل \\?\ و \\.\ لمساحات الأسماء المحلية تكفي لمعظم الاستخدامات. [1] يؤدي استخدام السابق في وظائف وضع المستخدم Win32 إلى ترجمة \?? مباشرةً ، ولكن استخدام \?? لا يزال مختلفًا لأن نموذج NT هذا لا يوقف توسيع اسم المسار. [2]

تتوفر أدوات تعمل كمستكشفات في مساحات أسماء مدير الكائنات. وتشمل هذه WinObj 32 بت من Sysinternals [3] وWinObjEx64 64 بت. [4]

انظر أيضا

مراجع

  1. ^ "تسمية الملفات والمسارات والمساحات - تطبيقات Win32". docs.microsoft.com . 28 أغسطس 2024.
  2. ^ "winapi - هل هناك فرق بين مسارات \??\ و \\?\؟". Stack Overflow .
  3. ^ "WinObj - Windows Sysinternals". docs.microsoft.com . 26 يوليو 2023.
  4. ^ "hfiref0x/WinObjEx64: مستكشف كائنات Windows 64 بت". GitHub . 20 فبراير 2020.
  • Russinovich, Mark ; David Solomon (2005). "الفصل 3: آليات النظام". Microsoft Windows Internals (الطبعة الرابعة). Microsoft Press. ص 124-149. ISBN 0-7356-1917-4.
  • روتينات إدارة الكائنات (برامج تشغيل Windows)
  • مقابلة مع القناة 9
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=Object_Manager&oldid=1268218844"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate