سؤال

أنا أستخدم 32 بت RHEL 4.4 على الأجهزة القائمة على AMD64. هنا هو الإخراج من Uname -A

$ uname -a
Linux zulu 2.6.9-42.0.10.ELsmp #1 SMP Fri Feb 16 17:17:21 EST 2007 i686 athlon i386 GNU/Linux

لدي 8Gigs من الذاكرة المثبتة على هذا النظام، حيث أن تكون نظام التشغيل 32 بت يفترض أن نظامي لن يكون قادرا على الاستفادة من ذاكرة 8GB كاملة. ولكن عندما أركض أعلى, ، أرى ما يلي -

Mem:   8309168k total,  8292028k used,    17140k free,     7096k buffers

وبالتالي، أعلى قادر على عرض كل 8 جيجابايت من الذاكرة.

إذا قمت بتثبيت 32 بت WinXP في نفس الجهاز، يوضح إدارة المهام 3 غيغابايت كما هو متاح.

سؤالي هو - كيف يتمكن 32 بت من رؤية ذاكرة 8GB؟ هل هذا يعني أن تطبيقاتي ستكون قادرة على استخدام مساحة عنوان أكبر؟ ولماذا هو الفرق بين Linux 32 بت و 32 بت WinXP؟

شكرا!

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

المحلول

يدعم نظام Linux الخاص بك ملحق العناوين الفيزيائية.

نصائح أخرى

هناك "مستويات" مختلفة من الذاكرة. ما هو مستحيل، مهما كان نظام التشغيل، هو معالجة أكثر من 4 جيجابايت في عملية واحدة، لأن مؤشراتك صغيرة جدا لأكثر من ذلك - وهذا هو الحد الأساسي من 32 بت WRT الذاكرة. على نظام Linux و Windows، ومعظم OSS "التقليدي"، أعتقد، يتم تقسيم مساحة العنوان الافتراضية 32 بت إلى جزء واحد لنواة وجهة واحدة لهذه العملية، بحيث تحصل على أقل من 4 غيغابايت من المحتوى المحتمل لكل عملية.

ولكن لا يزال، يمكن أن يستخدم نظام التشغيل أكثر من 4 جيجابايت - على سبيل المثال، وجود 2-3 يعالج كل منها يستهلك 2 غيغابايت من الذاكرة. حتى 32 بت وحدة المعالجة المركزية يمكن أن تعالج أكثر من 4 جيجابايت من الذاكرة (على مستوى الأجهزة)، ولكن في مساحة العنوان الافتراضية، كنت دائما محدودة من قبل مؤشرات 32 بت.

الشيء الجديد القديم لديه تفسير جيد على الاختلافات بين مساحة العنوان الفيزيائي، ومساحة العنوان الافتراضي وشركاه: http://blogs.msdn.com/oldnewghing/archive/2004/08/18/216492.aspx.

تسمى الطريقة التي تمكين هذا "PAE" (ملحق العناوين الفيزيائية). CPU الخاص بك قادر على استخدام عناوين 36 بت داخليا، ودعم نظام التشغيل الخاص بك. لسوء الحظ، يستخدم نظام التشغيل Windows XP فقط PAE من أجل دعم NX Bit (لا يوجد جزء تنفيذي، يؤدي استثناء يحدث عندما يحاول المعالج تنفيذ التعليمات البرمجية من صفحة ملحوظة بهذا بت 32bit Linux Kernels دعم PAE.

يمكن أن تتناول وحدة المعالجة المركزية الجديدة متوافقة i386 أكثر من 4 جيجابايت باستخدام وضع PAE. يحد نظام التشغيل Windows XP بشكل مصطنع مساحة العنوان إلى 4GB لأن هناك الكثير من برامج تشغيل الأجهزة المكتوبة سيئة تفترض أن جميع DMA سيتم تنفيذ الذاكرة أقل من 4 جيجابايت. لذلك، يتم تعيين حوالي 1 غيغابايت من مساحة عنوان 4 جيجابايت للأجهزة، والباقي إلى ذاكرة الوصول العشوائي الفعلي. لا يحتوي Windows Server Editions على هذا القيد. Linux Kernels التي تدعم PAE لا تحد من الذاكرة أيضا. كل من هذه الدعم يصل إلى 32 جيجابايت، إذا كنت أتذكر بشكل صحيح.

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

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