وضع إدارة النظام

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

قُدم وضع إدارة النظام لأول مرة مُدمجا ضمن معالج إنتل 80386 إس إل،Ellis, Simson C., "The 386 SL Microprocessor in Notebook PCs", Intel Corporation, Microcomputer Solutions, March/April 1991, page 20 ثُم ضمنته إنتل بعد ذلك في معالجات بنتيوم وإنتل 80486 عند طرحها في عام 1993. كانت شركة إي إم دي قد دمجت وضع إدارة النظام في معالجها إيه إم 386 الذي طُرح عالم 1991، قبل أن يُصبح في نهاية المطاف مُتاحًا في جميع المعالجات الدقيقة اللاحقة من بنية إكس 86.Intel Corporation, "NewsBits: Intel Support EPA's Energy Star Computer Program", Microcomputer Solutions, January/February 1993, page 1 أما في المعالجات من بنية إيه.آر.إم (إي إل 3)، فعادةً ما يُشار إلى وضع إدارة النظام باسم «وضع مستوى الاستثناء» أو «وضع المراقبة الآمنة».
 التشغيل 
يُعتبر وضع إدارة النظام بمثابة وضع تشغيل مخصص مُصمم للتعامل مع وظائف النظام، مثل إدارة الطاقة، والتحكم في أجهزة النظام، أو استخدام ترميز خاص من تصميم الشركة المصنعة للقطع والمكونات الأصلية للجهاز. صُمم وضع إدارة النظام في الأساس لكي يتم تشغيله وإدارته فقط من خلال البرامج الثابتة للنظام، مثل برامج النظام الأساسي للإدخال والإخراج أو واجهة البرنامج الثابت الممتد، وليس من خلال برامج التطبيقات أو برامج الأنظمة العامة. وتكمن الفائدة الرئيسية لوضع إدارة النظام في أنه يوفر بيئة معالج مميزة سهلة العزل، وتعمل بشفافية تامة مع نظام التشغيل أو التطبيقات التنفيذية والبرمجية. ولتحقيق هذه الشفافية، يفرض وضع إدارة النظام قواعد صارمة لتشغيله، بحيث لا يمكن الوصول إلى وضع إدارة النظام إلا في حالة انقطاع إدارة النظام. ويُنفذ المعالج ترميز وضع إدارة النظام في مساحة عنوان منفصلة، والتي يجب أن تجعلها البرامج الثابتة للحاسوب غير قابلة للوصول من خلال أوضاع التشغيل الأخرى لوحدة المعالجة المركزية. يمكن لوضع إدارة النظام معالجة ذاكرة تصل إلى 4 جيجابايت كوضع حقيقي ضخم. في معالجات إكس86-64، كما يمكن لوضع إدارة النظام معالجة ذاكرة تزيد عن 4 جيجابايت كوضع عنوان حقيقي.Intel 64 and IA-32 Software Development Manual, Vol. 3, System Management Mode.

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

 التعامل مع أخطاء النظام، مثل أخطاء الذاكرة أو أخطاء مجموعة الشرائح.
 إدارة وظائف أمان النظام، مثل إيقاف التشغيل عند ارتفاع درجة حرارة وحدة المعالجة المركزية.
 إدارة النظام الأساسي للإدخال والإخراج.
 إدارة واجهة الطاقة والتكوين المتقدم.
 التحكم في عمليات إدارة الطاقة، مثل إدارة وحدة منظم الجهد ووحدة التحكم في الإدخال والإخراج منخفض عدد الدبابيس (وحدة الإدخال/الإخراج الفائقة أو وحدة التحكم المدمجة).
 دعم المسرى التسلسلي العام، وهو ما يعني محاكاة الفأرة ولوحة المفاتيح التان تتصلان عبر منفذ المسرى التسلسلي العام كفأرة ولوحة مفاتيح تتصلان عبر منفذ بي إس/2.
 مركزة تكوين النظام، كما هو الحال في أجهزة الحواسب المحمولة التي تصنعها شركات مثل توشيبا وآي بي إم ولينوفو
 إدارة وحدة النظام الأساسي الموثوقة.Google Tech Talks – Coreboot – 00:34:30. 
 إدارة برامج التحكم في الأجهزة الخاصة بالنظام الأسيسي للإدخال والإخراج، بما في ذلك تبديل منفذ المسرى التسلسلي العام الساخن ومبادلة منفذ الثاندربولت الساخن في وقت تشغيل نظام التشغيل.UEFI Platform Initialization Specification.

يُمكن أيضًا إساءة استغلال وضع إدارة النظام لتنفيذ هجمات إلكترونيّة، فقد كشف بعض الخبراء التقنيون خلال مؤتمر القبعات السوداء لعام 2008، ثم خلال مؤتمر القبعات السوداء لعام 2015، عن إمكانية استخدام وضع إدارة النظام لتشغيل برامج أدوات التأصيل عالية الامتيازات،

 الدخول إلى وضع إدارة النظام 
يُمكن الدخول إلى وضع إدارة النظام عند الوصول إلى وضع انقطاع إدارة النظام، ويُمكن أن يحدث ذلك من خلال:

 إشارات عتاد اللوحة الأم أو مجموعة الشرائح عبر رقم SMI# الخاص بشريحة المعالج.Intel's System Management Mode by Robert R. Collins  ويُمكن أن تكون هذه الإشارات في حد ذاتها خطأ مستقل.
 برمجيات النظام التي تقوم بتشغيل وضع انقطاع إدارة النظام من خلال وصول الإدخال/الإخراج إلى موقع خاص وفقًا لمنطق اللوحة الأم..
 نظام الإدخال/الإخراج، والذي يكتف إلى موقع طلب البرنامج الثابت من شريحة المعالج الذ يعمل عليه.

بمجرد الدخول إلى وضع إدارة النظام، سوف يبدأ المعالج في البحث عن أول تعليمة على العنوان SMBASE (محتوى سجل SMBASE) + 8000h (افتراضيًا 38000h)، باستخدام السجلين CS = 3000h وEIP = 8000h. قيمة سجل CS (3000h) ناتجة عن استخدام المعالج لعناوين ذاكرة الوضع الحقيقي أثناء تشغيله في وضع إدارة النظام. في هذه الحالة، يُضاف 0h داخليًا إلى CS في أقصى يمينه.

 المُشكلات 
لا يستطيع نظام التشغيل، بحكم تصميمه، تجاوز وضع انقطاع إدارة النظام أو تعطيله، لذلك يُعدّ تشغيل وضع انقطاع إدارة النظام هدفًا للبرمجيات الخبيثة، ولاسيما لبرامج التجسس التي تحمل أسماءا رمزية خاصة بأجهزة محددة. وقد يُؤدي تصميم وضع إدارة النظام الأساسي للإدخال والإخراج بشكل غير صحيح أو اختباره بشكل غير كافٍ إلى افتراضات خاطئة وعدم العمل بشكل صحيح في حال انقطاع بعض أوضاع تشغيل المعالج إكس 86 الأخرى مثل ملحق العنونة الفعلية أو وضع 64 بت الطويل. وفقًا لوثائق نواة لينكس، حوالي عام ٢٠٠٤، كانت هذه التطبيقات المعيبة لميزة دعم المسرى التسلسلي العام القديمة سببًا شائعًا لحالات الأعطال، على سبيل المثال، في اللوحات الأم المبنية على شرائح إنتل إي7505. يكون البرنامج الثابت للنظام الأساسي للإدخال والإخراج هو المسؤول عن تثبيت ترميز وضع إدارة النظام، وقد ينتج عن ذلك في بعض الأحيان أن تكون لدى نظام التشغيل وترميز وضع إدارة النظام توقعات غير متوافقة بشأن إعدادات الأجهزة، مثل اختلاف أفكار إعداد وحدة مراقب القطع القابل للبرمجة المتقدم. كذلك تستهلك العمليات التي تتم خلال تشغيل وضع إدارة النظام وقت وحدة المعالجة المركزية بعيدًا عن التطبيقات ونواة نظام التشغيل ومراقب الأجهزة الافتراضية، وتكون هذه التأثيرات أكثر جسامة في حالة المعالجات متعددة الأنوية، حيث يتسبب تشغيل وضع إدارة النظام في تبديل أوضاع جميع الأنوية.Brian Delgado and Karen L. Karavanic, "Performance Implications of System Management Mode", 2013 IEEE International Symposium on Workload Characterization, Sep. 22–24, Portland, OR USA.

كما أن هناك بعض النفقات العامة المرتبطة بالتبديل بين وضع إدارة النظام ومعالجته، حيث يجب تخزين حالة وحدة المعالجة المركزية في الذاكرة (SMRAM) ويجب مسح أي ذاكرة تخزين مؤقتة للكتابة. يمكن أن يؤدي هذا إلى إتلاف سلوك الوقت الفعلي وفقدان دقة الوقت. لذلك، تُعرّف أنوية وحدة المعالجة المركزية في حالة نظامي التشغيل مايكروسوفت ويندوز ولينكس ما يسمى بإعداد «مهلة إنقطاع إدارة النظام»، وهي فترة زمنية يجب أن يُعيد خلالها وضع إدارة النظام التحكم إلى نظام التشغيل، وإلا سيفشل النظام أو يتعطل. يُمكن لوضع إدارة النظام أيضًا أن يُعطّل سلوك تطبيقات الوقت الفعلي ذات متطلبات التوقيت المُقيّدة. وقد يلزم استخدام مُحلل منطقي لتحديد ما إذا كانت وحدة المعالجة المركزية قد دخلت في وضع إدارة النظام (التحقق من حالة دبوس SMIACT# في وحدة المعالجة المركزية). ويتطلب استرداد شيفرة مُعالج SMI لتحليلها بحثًا عن الأخطاء والثغرات الأمنية والأسرار استخدام مُحلل منطقي أو تفكيك البرنامج الثابت للنظام.

 مراجع 



تصنيف:النظام الأساسي للإدخال والإخراج
تصنيف:أدوات التأصيل
تصنيف:علم الحاسوب
تصنيف:معالجات الحاسوب
تصنيف:معمارية آرم