ذاكرة عالية
الذاكرة العالية هي جزء من الذاكرة الفعلية في الحاسوب لا ترتبط مباشرةً بجداول صفحات نواة نظام التشغيل . ويُستخدم هذا المصطلح أحيانًا كاختصار لمنطقة الذاكرة العالية ، وهو مفهوم مختلف تمامًا.
تقوم بعض أنظمة التشغيل، مثل لينكس ، بتقسيم مساحة عناوينها الافتراضية إلى منطقتين، حيث تُخصص المنطقة الأكبر لمساحة المستخدم والمنطقة الأصغر للنواة. في أجهزة الكمبيوتر الحالية ذات معالجات x86 32 بت ، يتخذ هذا عادةً (مع أنه ليس شرطًا، إذ يُمكن ضبطه) شكل تقسيم مساحة العناوين البالغة 4 جيجابايت إلى 3 جيجابايت/1 جيجابايت، بحيث تبدأ عناوين النواة الافتراضية من 0xC0000000 وتنتهي عند 0xFFFFFFFF. يتم ربط الجزء السفلي البالغ 896 ميجابايت، من 0xC0000000 إلى 0xF7FFFFFF، مباشرةً بمساحة عناوين النواة الفعلية، بينما يستخدم الجزء المتبقي البالغ 128 ميجابايت، من 0xF8000000 إلى 0xFFFFFFFF، عند الحاجة من قِبل النواة لربطه بالذاكرة العليا. في وضع المستخدم ، تكون الترجمات فعالة فقط للمنطقة الأولى، مما يحمي النواة من برامج المستخدم ، أما في وضع النواة ، فتكون الترجمات فعالة لكلا المنطقتين، مما يمنح النواة طريقة سهلة للإشارة إلى مخازن العمليات - فهي ببساطة تستخدم تعيينات العملية نفسها. [ 1 ]
مع ذلك، إذا احتاجت النواة إلى الوصول إلى ذاكرة فعلية لم تُوفّر لها ترجمة في مساحة المستخدم، فلن يتوفر لها سوى 1 جيجابايت (على سبيل المثال) من الذاكرة الافتراضية. في الحواسيب ذات الذاكرة الفعلية الكبيرة، قد يعني هذا وجود ذاكرة لا تستطيع النواة الوصول إليها مباشرةً، وتُسمى هذه الذاكرة "الذاكرة العالية". عندما ترغب النواة في الوصول إلى الذاكرة العالية، تُنشئ خريطةً لها أثناء التشغيل، ثم تُزيلها عند الانتهاء، مما يُؤدي إلى انخفاض الأداء.
انظر أيضاً
- امتداد العنوان الفعلي (PAE)
مراجع
روابط خارجية
- معمارية X86
- إدارة الذاكرة X86
- نواة لينكس
