gpt4 book ai didi

operating-system - 64 位和 32 位操作系统中的逻辑地址空间

转载 作者:行者123 更新时间:2023-12-02 01:10:50 43 4
gpt4 key购买 nike

目前我正在阅读Galvin 的操作系统原理 这本书。我很喜欢阅读它,但与此同时我有一个问题。

我可以说如果我使用 64 位操作系统那么逻辑地址空间(CPU 生成的)可以是 64 位的吗? IE。它将能够在物理内存中映射大量帧。如果我使用 32 位操作系统,那么 CPU 最多可以生成 2^32 逻辑地址空间。

对吗?

最佳答案

有点,但有许多技术细节使这些名称不太有用。

首先,有两种不同的大小对操作系统很重要:地址大小和数据大小。地址大小决定了有多大的地址空间可用,而数据大小决定了单字操作中可以使用多少数据。根据我的经验,操作系统通常由数据大小来标识,这意味着地址大小可能是其他东西。

以下是一些示例架构及其地址和数据大小。如表所示,当今最常见的 32 位和 64 位架构具有相同的数据和地址大小,这就是您的陈述部分正确的原因。请注意,16 位模式下的 x86 处理器的地址大小大于数据大小。这是由于在寻址中使用了额外的段寄存器导致的,这使得架构的限制更少。

                 Address size      Data sizex86 16-bit        20 bits           16 bitsx86 32-bit        32 bits           32 bitsx86 64-bit        64 bits           64 bitsARM 32-bit        32 bits           32 bitsARM 64-bit        64 bits           64 bits

然而,地址大小并不一定表示可以使用多大的逻辑地址空间。可能存在将空间限制在较小区域的限制。例如,当前的 x86-64 处理器都不支持 64 位地址空间。相反,他们要求任何地址的高 16 位是位 47 的符号扩展,允许 248 地址空间,256 TiB 而不是 16 EiB。这减少了处理器中需要使用的地址线数量,同时允许的数量远远超过目前使用的任何地址线。

最后,到目前为止,所有内容都是针对逻辑或虚拟地址空间的。物理地址空间可以有不同的大小。较新的 32 位 x86 系统具有物理地址扩展,可实现 36 位物理地址,而 x86-64 系统被限制为不超过 52 位物理地址空间,但这可能会受到内存 Controller /主板的进一步限制。当逻辑地址空间大于物理地址空间时,允许将整个物理地址空间一次映射到多个地方。当逻辑地址空间较小时,允许多个完整的地址空间同时存储在物理内存中。

关于operating-system - 64 位和 32 位操作系统中的逻辑地址空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17581230/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com