18Aug

لماذا لا توجد معرفات عملية ويندوز ذات الأرقام الفردية؟

إذا كنت تحب ترقيع مع ويندوز والتعلم كما تذهب، وكنت قد لاحظت أن عملية ويندوز ومعرفات سلسلة الترابط هي ترقيم زوجي ومضاعفات أربعة.لماذا هذا؟سوبيروسر Q & أمب؛ A اليوم لديه إجابات على أسئلة القارئ الغريب.

سؤال اليوم & أمب؛تأتي جلسة الجواب إلينا من باب المجاملة، وهو قسم فرعي من "ستاك إكسهانج"، وهو عبارة عن مجموعة من المواقع على شبكة الإنترنت.

قارئ المستخدم

السؤال بيتر هاهندورف يريد أن يعرف لماذا لا توجد أرقام تعريف عملية ويندوز فردي:

هناك العديد من الطرق للنظر في معرفات العملية في ويندوز.استخدام بويرشيل:

أحصل على هذه النتيجة:

كما ترون، يتم ترقيم جميع معرفات العملية، وليس ذلك فحسب، فهي كلها مضاعفات أربعة.يمكنك أن تبدو صعبة كما تريد، وسوف تجد أبدا معرف العملية الفردية، على الأقل ليس على أي إصدار يستند إلى ويندوز نت.ما هو السبب في ذلك؟

لماذا لا توجد معرفات عملية ويندوز ذات الأرقام الفردية؟

الجواب

المساهم المتميز ديفيدبوستيل لديه الجواب بالنسبة لنا:

لماذا لا توجد أرقام تعريفية عملية ويندوز فردي؟

يتم استخدام نفس التعليمات البرمجية التي تقوم بتخصيص مقابض كيرنيل لتخصيص معرفات العملية و سلاسل العمليات.بما أن مقابض النواة متعددة من أربعة، فهذا يعني معرفات العملية والخيط.

لماذا تتضاعف معرفات العملية والخيط من أربعة؟

على أنظمة التشغيل المستندة إلى نظام التشغيل ويندوز نت، تحدث المعرفات العملية ومعرفات سلاسل الترابط دائما على أنها متعددة من أربعة.هل هذه مجرد صدفة؟

نعم، انها مجرد صدفة، ويجب أن لا تعتمد عليه لأنه ليس جزءا من عقد البرمجة.على سبيل المثال، لم تكن معرفات عملية ويندوز 95 ومعرفات سلاسل الترابط مضاعفات أربعة دائما.على سبيل المقارنة، والسبب أن مقابض النواة هي دائما متعددة من أربعة هي جزء من مواصفات وسوف تكون مضمونة في المستقبل المنظور.

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

المصدر: لماذا تتضاعف معرفات العملية ومعرفات سلاسل العمليات الأربعة؟

لماذا نواة مقابض دائما متعددة من أربعة؟

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

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

هذه المعلومات ليست مفيدة لمعظم الكتاب التطبيق، والتي ينبغي أن تستمر في التعامل مع مقابض كما قيم مبهمة.الناس الذين سوف تكون مهتمة بت بت هم أولئك الذين ينفذون المكتبات فئة منخفضة المستوى أو يتم تغليف الكائنات النواة داخل إطار أكبر.

مصدر: لماذا هي مقابض كيرنيل دائما متعددة من أربعة؟

مزيد من القراءة

الشيء الجديد القديم: التنمية العملية في جميع أنحاء تطور ويندوز من قبل ريمون تشن( مهندس تصميم البرمجيات الرئيسي في ميكروسوفت )

لديك شيء لإضافة إلى التفسير؟الصوت قبالة في التعليقات.هل ترغب في قراءة المزيد من الإجابات من مستخدمي إكساك إكسهانج؟تحقق من موضوع المناقشة الكامل هنا.