كيف هو لينكس في وقت واحد 32bit و 64bit؟ أم أن شيء يتعامل معه في Glibc؟

StackOverflow https://stackoverflow.com/questions/1504256

سؤال

كيف هو لينكس في وقت واحد 32bit و 64bit؟ أم أن شيء يتعامل معه في Glibc؟

أركض Centos 5.3 وهو إصدار "64 بت"؛ على الرغم من أنني أبني الأشياء لمدة 64 بت و 32 بت. من ما أعتقد أنني أعرف، من المفترض أن تحتوي النوافذ على محاكي 32 بت. هل لينكس تفعل الشيء نفسه؟ هل هو في مساحة المستخدمين أو الفضاء النواة؟

إذا كان LIBC يعالج ذلك، فهل نوع من مثل المحاكي الذي يقول، سأربط مع تطبيقات 32 بت، ولكن التحدث 64 بت إلى النواة؟

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

المحلول

يمكن أن تقوم وحدة المعالجة المركزية بتنفيذ التعليمات 64 و 32 بتسية ويمكن أن تبديل kernel بين الأوضاع. القيد الوحيد هو أنه لا يمكنك ربط برامج 32 بت ضد مكتبات 64bit لذلك يجب أن يكون لديك إصدارات 32 و 64 بت من LIBC، وما إلى ذلك مثبت.

نصائح أخرى

لا يوجد شيء يمنع وحدة المعالجة المركزية من التبديل من 64 بت إلى 32 بت. انها مجرد مفاتيح.

يمكنك الحصول على Kernel 64 بت، وتشغيل تطبيقات 32 بت. يمكنك حتى الحصول على Kernel 32bit وتشغيل تطبيقات 64bit (Mac OS X).

ومع ذلك، فأنت بحاجة إلى Libaries التي يستخدمونها أيضا لتكون 32 بت أو 64 بت، وهذا هو السبب في أنك قد ترى ملفات تسمى LIB64 أو LIB32 على Linux لليبياليين 64 بت أو 32 بت.

نظرا لأن المعالجات X86_64 تم تصميمها عبر تقنية X86، فهي لا تزال قادرة على دعم برامج 32 بت دون أي مضاهاة الأجهزة، مثل ما تحتاجه لتشغيل برامج X86 في بيئة PowerPC أو SPARC. في Linux، كل ما عليك فعله هو تثبيت مكتبات البرامج اللازمة لتشغيل البرنامج 32 بت.

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