Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在浏览 Linux 内核代码,并且有兴趣知道哪个文件将负责设置长模式以支持 64 位,或者哪个文件会告诉操作系统要启动的是 32 位还是 64 位?
引导加载程序代码是否负责设置此模式?
引导加载程序(通常是 GRUB)正在引导一些 Linux 内核。该内核可能是 32 位内核(然后只能运行 32 位程序)或 64 位内核。
64 位 Linux 内核能够通过execve(2)系统调用运行 32 位二进制可执行程序(在 32 位进程中)或 64 位程序
所以大多数内核都是 64 位的,可以运行 32 位或 64 位的ELF可执行文件。
我猜想,取决于它们的引导方式,Linux 内核以 32 位模式启动(至少在由 GRUB 引导时)。