أوضاع وحدة المعالجة المركزية
أنماط وحدة المعالجة المركزية (وتُسمى أيضًا أنماط المعالج ، وحالات وحدة المعالجة المركزية ، ومستويات امتيازات وحدة المعالجة المركزية ، وغيرها من المسميات) هي أنماط تشغيل لوحدة المعالجة المركزية في معظم بنى الحواسيب، وتفرض قيودًا على نوع ونطاق العمليات التي يمكن تنفيذها بواسطة التعليمات التي تُنفذها وحدة المعالجة المركزية. على سبيل المثال، يسمح هذا التصميم لنظام التشغيل بالعمل بامتيازات أكثر من برامج التطبيقات، وذلك بتشغيل أنظمة التشغيل والتطبيقات في أنماط مختلفة. [ 1 ]
من الناحية المثالية، يُسمح فقط لرمز النواة الموثوق به للغاية بالتنفيذ في الوضع غير المقيد؛ أما باقي أجزاء نظام التشغيل (بما في ذلك الأجزاء غير الإشرافية) فتُنفذ في وضع مقيد، ويجب عليها استخدام استدعاء نظام (عبر مقاطعة ) لطلب تنفيذ أي عملية قد تُلحق الضرر بالنظام أو تُعرّضه للخطر نيابةً عنها، مما يجعل من المستحيل على البرامج غير الموثوقة تعديل أو إتلاف برامج أخرى (أو نظام الحوسبة نفسه). وقد صُممت برامج تشغيل الأجهزة لتكون جزءًا من النواة نظرًا للحاجة إلى الوصول المتكرر إلى عمليات الإدخال/الإخراج .
يمكن تنفيذ أوضاع متعددة، على سبيل المثال السماح لبرنامج إدارة الأجهزة الافتراضية بتشغيل العديد من مشرفي أنظمة التشغيل تحته، وهو التصميم الأساسي للعديد من أنظمة الآلات الافتراضية المتاحة اليوم.
أنواع الوضع
يُطلق على الوضع غير المقيد غالبًا اسم وضع النواة، ولكن توجد العديد من التسميات الأخرى ( الوضع الرئيسي ، وضع المشرف ، الوضع المميز ، إلخ). أما الأوضاع المقيدة فتُعرف عادةً بأوضاع المستخدم، ولكنها تُعرف أيضًا بالعديد من الأسماء الأخرى ( وضع التابع، حالة المشكلة، إلخ). [ 2 ]
- برنامج إدارة الأجهزة الافتراضية
- يتم استخدام وضع Hypervisor لدعم المحاكاة الافتراضية، مما يسمح بالتشغيل المتزامن لأنظمة تشغيل متعددة.
- النواة والمستخدم
- في وضع النواة، يمكن لوحدة المعالجة المركزية تنفيذ أي عملية تسمح بها بنيتها؛ أي تعليمة يمكن تنفيذها، وأي عملية إدخال/إخراج يمكن بدءها، وأي منطقة من الذاكرة يمكن الوصول إليها، وما إلى ذلك. أما في أوضاع وحدة المعالجة المركزية الأخرى، فتفرض الأجهزة قيودًا معينة على عمليات وحدة المعالجة المركزية. عادةً، لا يُسمح بتنفيذ بعض التعليمات (خاصةً تلك التي قد تُغير الحالة العامة للجهاز، بما في ذلك عمليات الإدخال/الإخراج)، ولا يمكن الوصول إلى بعض مناطق الذاكرة، وما إلى ذلك. تُعد إمكانيات وضع المستخدم لوحدة المعالجة المركزية عادةً مجموعة فرعية من تلك المتاحة في وضع النواة، ولكن في بعض الحالات، مثل محاكاة الأجهزة للبنى غير الأصلية، قد تختلف اختلافًا كبيرًا عن تلك المتاحة في وضع النواة القياسي.
تدعم بعض معمارية المعالجات المركزية أوضاعًا أكثر من تلك المذكورة، وغالبًا ما يكون ذلك عبر تسلسل هرمي للصلاحيات. يُقال عادةً أن هذه المعماريات تتمتع بأمان حلقي، حيث يشبه التسلسل الهرمي للصلاحيات مجموعة من الحلقات متحدة المركز، مع وجود وضع النواة في المركز. كانت أجهزة Multics أول تطبيق مهم للأمان الحلقي، ولكن تم تصميم العديد من منصات الأجهزة الأخرى على غرار ذلك، بما في ذلك وضع الحماية في معالج Intel 80286 ، وكذلك معالج IA-64 ، على الرغم من أنه يُشار إليه باسم مختلف في هذه الحالات.
قد يمتد نطاق حماية الوضع ليشمل موارد تتجاوز وحدة المعالجة المركزية نفسها. تسجل سجلات الأجهزة وضع التشغيل الحالي لوحدة المعالجة المركزية، ولكن قد تسجل سجلات الذاكرة الافتراضية الإضافية، وإدخالات جدول الصفحات ، وبيانات أخرى، معرّفات الوضع لموارد أخرى. على سبيل المثال، قد تعمل وحدة المعالجة المركزية في الحلقة 0 كما هو موضح بكلمة حالة في وحدة المعالجة المركزية نفسها، ولكن قد يتم التحقق من كل وصول إلى الذاكرة أيضًا مقابل رقم حلقة منفصل لجزء الذاكرة الافتراضية المستهدف، و/أو مقابل رقم حلقة للصفحة الفعلية (إن وجدت) المستهدفة. وقد تم إثبات ذلك باستخدام جهاز PSP المحمول.
إنّ الأجهزة التي تستوفي متطلبات بوبك وغولدبيرغ للمحاكاة الافتراضية تُسهّل كتابة البرامج التي تدعم الآلة الافتراضية بكفاءة. إذ يمكن لهذا النظام تشغيل برامج "تعتقد" أنها تعمل في وضع الإشراف، بينما هي في الواقع تعمل في وضع المستخدم.
الهندسة المعمارية
تدعم العديد من أنظمة الحاسوب التي طُرحت في ستينيات القرن الماضي، مثل IBM System/360 و DEC PDP-6 / PDP-10 وسلسلة GE -600 / Honeywell 6000 وسلسلة Burroughs B5000 و B6500 ، نمطين لوحدة المعالجة المركزية؛ نمط يمنح صلاحيات كاملة للبرنامج الذي يعمل فيه، ونمط يمنع الوصول المباشر إلى أجهزة الإدخال/الإخراج وبعض وظائف الأجهزة الأخرى للبرنامج الذي يعمل فيه. يُشار إلى النمط الأول بأسماء مثل حالة المشرف (System/360)، والنمط التنفيذي (PDP-6/PDP-10)، والنمط الرئيسي (سلسلة GE-600)، ونمط التحكم (سلسلة B5000)، وحالة التحكم (سلسلة B6500). أما النمط الثاني فيُشار إليه بأسماء مثل حالة المشكلة (System/360)، ونمط المستخدم (PDP-6/PDP-10)، ونمط التابع (سلسلة GE-600)، والحالة العادية (سلسلة B6500). توجد أوضاع متعددة غير متعلقة بالتحكم في سلسلة B5000.
RISC-V
يحتوي معالج RISC-V على ثلاثة أوضاع رئيسية لوحدة المعالجة المركزية: وضع المستخدم (U)، ووضع المشرف (S)، ووضع الآلة (M). [ 3 ] يتم دعم المحاكاة الافتراضية عبر إعداد CSR مستقل بدلاً من وضع رابع.
مراجع
- ↑ "أوضاع المعالج" . flint.cs.yale.edu . مؤرشف من الأصل بتاريخ 12-05-2018 . تم الاطلاع عليه بتاريخ 23-08-2023 .
- ↑ أفيفينو (2022-11-04). "وضع المستخدم ووضع النواة - برامج تشغيل ويندوز" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 23-08-2023 .
- ↑ هاريس، سارة؛ هاريس، ديفيد (12 يوليو 2021). التصميم الرقمي وهندسة الحاسوب، إصدار RISC-V . مورغان كوفمان. ISBN 978-0-12-820065-0.
- وحدات المعالجة المركزية
- أمن الحاسوب
