سؤال

من ما قرأته في الماضي، وتشجيع عدم تغيير أولوية تطبيقات Windows برمجيا، وإذا قمت بذلك، فلا ينبغي عليك أبدا تغييرها إلى "الوقت الحقيقي".

ماذا يفعل إعداد أولويات عملية "الوقت الحقيقي"، مقارنة ب "عالية"، و "أعلاه طبيعية"؟enter image description hereenter image description here

هل كانت مفيدة؟

المحلول

لا يمكن استبقنا مؤشر ترابط الأولوية في الوقت الفعلي من قبل مقاطعات الموقت ويعمل بأولوية أعلى من أي مؤشر ترابط آخر في النظام. نظرا لأن مثل مؤشر وحدة المعالجة المركزية ملزمة موضوع الأولوية الأولوية يمكن أن تدمر آلة تماما.

يتطلب إنشاء مؤشرات الترابط ذات الأولوية في الوقت الحقيقي امتياز (seincreaseBasePriorityPrivileg.) لذلك لا يمكن القيام به فقط من قبل المستخدمين الإداريين.

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

نصائح أخرى

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

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

Russinovich "داخل Windows" الفصل حول كيفية أولويات Windows Handles هو مورد رائع لتعلم كيفية عمل هذا:

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

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

لذلك بشكل أساسي، إذا كان عليك أن تسأل، فلا تستخدمه :)

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

وبالمثل، في الوقت الحقيقي هو أيضا مستوى أولوية موضوع.

أولوية العملية صف دراسي يثير أو يخفض جميع أولويات مؤشر الترابط الفعال في هذه العملية، وبالتالي فهو يعتبر "الأولوية الأساسية".

لذلك، عملية لديها:

  1. الطبقة الأساسية الطبقة ذات الأولوية.
  2. أولويات الخيط الفردية, ، إزاحة الطبقة ذات الأولوية الأساسية.

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

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

تعتبر Microsoft هذه الأولوية خطيرة للغاية، وبالحق. لا ينبغي لأي طلب استخدامها إلا في ظروف متخصصة للغاية، وحتى الآن حاول الحد من استخدامها لاحتياجات مؤقتة.

بمجرد أن يتعلم Windows برنامج يستخدم أعلى من الأولوية العادية، يبدو أنه يحد من الأولوية في العملية.

تحديد الأولوية من الخمول إلى الوقت الحقيقي لا يغير استخدام وحدة المعالجة المركزية.

لقد وجدت على المعالج متعدد المعالجات الخاص بي AMD CPU أنه إذا أسقطت واحدة من وحدة المعالجة المركزية OT مثل آخر واحد يستخدم استخدام وحدة المعالجة المركزية كحد أقصى ولا يزال وحدة المعالجة المركزية الأخيرة خاملة. تزيد سرعة المعالج إلى 75٪ على AMD رباعي.

استخدم "إدارة المهام "-> حدد العملية-> النقر بزر الماوس الأيمن على العملية-> SELECT-> تعيين التقارب انقر فوق جميع ولكن المعالج الأخير. سيزيد استخدام وحدة المعالجة المركزية إلى الحد الأقصى على المعالجات المتبقية وتقليل الإطار إذا سيزيد معالجة الفيديو.

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top