Win*_*ooh 36 virtualbox pae nx
我想知道什么时候需要使用 PAE/NX,什么时候不需要。
我总是需要它,还是不能在我的虚拟机上使用它?
bba*_*025 24
@gronostaj的评论和@ajostergaard 的回答都只讨论了 PAE/NX 的物理地址扩展 (PAE) 部分。这些都很棒,我只需要补充说明 - 事物的“为什么”。我还将讨论“NX”部分。
也许一个更完整的答案,扩展@ajostergaard的答案,是:
如果您要设置虚拟的 32 位操作系统,则需要 PAE/NX:
1) 您需要超过 4 GiB 的内存 (RAM)
或者
2)您需要能够使其部分内存不能用于可执行代码,例如,如果您有安全问题,其中包括NX 位维基百科页面(存档)中描述的攻击,
[C]某些类型的恶意软件[可以]通过将其代码插入另一个程序的数据存储区域并在此部分中运行自己的代码来控制计算机......
此外,据我所知,将任何 64 位操作系统设置为虚拟机时,您将不需要此 PAE/NX 选项。(请注意,我只使用过 Intel 和 AMD CPU - 其他处理器可能需要 PAE/NX。请务必检查!)
再往下,我将描述 PAE/NX 的 NX 部分的含义以及它与安全问题的关系。
(基本上,我一直在寻找完整的答案。谷歌把我带到这里,但我对“NX”部分挂了。我希望我的发现能帮助其他人。)
很难从PAE 维基页面(存档)的第一段获得@ajostergaard 的答案。第一段是:
在计算中,物理地址扩展 (PAE),有时也称为页面地址扩展,是 x86 架构的内存管理功能。PAE 最初由 Intel 在 Pentium Pro 中引入,后来由 AMD 在 Athlon 处理器中引入。它定义了一个三层(而不是两层)的页表层次结构,表项为每层 64 位而不是 32 位,允许这些 CPU 直接访问大于 4 GB(2 32字节)的物理地址空间。
什么?!这如何帮助我们知道是否单击“启用 PAE/NX”旁边的复选框?幸运的是,@ajostergaard告诉我们。
如果您正在虚拟化 32 位操作系统并且需要超过 4GB 的内存,您将需要 PAE。
因此,如果您的虚拟操作系统是 32 位类型(就像您想要虚拟 Windows-NT 操作系统时的情况一样),但您有 16GB 的 RAM(所有这些都是您想使用的),您需要 PAE 选项.
为什么?让我扩展一下。您需要知道内存地址(已归档)是一部分内存的标签——通常是一个字节的内存。一个 32 位(4 字节)操作系统是一种具有标签的操作系统
零 ( 0
) -- 由 32 个零以二进制表示,以十六进制表示为0x 00 00 00 00
--
到
4 294 967 295
-- 二进制:32 个,十六进制:0x FF FF FF FF
.
换句话说,我们只有不到 43 亿个内存地址,每个地址都指向一个字节的信息——指向一个字节的内存。关键是:32 位机器(使用所有 32 位进行寻址)可以寻址的最大内存量为 4 GiB。2如果您的 RAM 中有更多存储空间,那很好,但是计算机将永远无法找到数据的标签。换句话说,32 位机器不能使用超过 4 GiB 的数据。
无需深入了解可怕的细节(为时已晚?),PAE 所做的是引入一些技巧,以便可以寻址更大的内存(我们可以为更多字节的数据添加标签),因此可以使用这些更大的内存。
现在让我们考虑使用所有字节进行内存标记/寻址的 64 位机器可以寻址的数据量。标签可以从
零 ( 0
) -- 二进制的 64 个零,十六进制:0x0000000000000000
-
到
18 446 744 073 709 551 615
= 18.4 quintillion = 184 亿 - 64 个二进制,十六进制0xFFFFFFFFFFFFFFFF
。我们拥有 184 亿字节数据的地址。那是 18.4 Exabytes = 18 447
Petabytes = 近 1850 万 TB。根据Wolfram|Alpha ( screenshot_64 ),这相当于1/54
所有全局数据的信息内容。与此相比,在9/10
单层DVD的是钨| Alpha的笔记可以存储与4GiB(screenshot_32)。3
在实践中,64 位机器并不使用所有 64 位来寻址内存——它们不需要这样做,我希望这个事实可以通过1/54
-of-the-plane's-data 讨论得到说明。随着PAE维基文章指出在其第二个段落,
x86-64 CPU 使用的页表结构 [64 位机器] ...使用 64 位页表条目的最高位作为不可执行或“NX”位,表示代码不能从关联页面。
NX 位维基百科文章中有更多信息。NX 位的基本思想是,它表示可以标记由 64 位标签(_plus_NX-bit_plus_other-stuff)寻址的内存字节,以便它不能被正在运行的程序使用。除其他外,这可以防止本答案开头描述的攻击类型。
现在,让我们回到复选框用于 PAE/NX 的事实。用于使更多内存位置可访问的相同技巧也可用于添加 NX 位。再次来自 PAE 维基百科文章的第二段,
当这些 CPU 运行 32 位操作系统时,NX 功能也可在保护模式下使用,前提是该操作系统启用了 PAE。
笔记:
1)这个答案显示了我的发现过程。如果有人需要澄清或更正我写的任何内容,我会非常高兴。
2)在实际中,所有32位通常不用于内存寻址,因此32位机器可寻址的内存大小可以小于4 GiB
根据 Videomaker 的说法,“一小时的标清 DV 素材需要大约 12.7GB 的存储空间;大约每分钟 217MB。相比之下,一小时的 RAW 4K 内容需要接近 110GB 的存储空间;大约每分钟 2GB。”
因此,一台 32 位机器可以为 15 分钟的标准清晰度 DV(视频)或 2 分钟的原始 4K 视频使用足够的内存。(请注意,使用视频编解码器,在我的旧 Android 手机达到其 4GB 文件大小限制之前,我可以获得近 12 分钟的压缩 MP4 格式的 4K 视频。)
另一方面,64 位机器可以使用足够的内存来存储165 643
多年的 SD DV(视频)或19 131
多年的原始 4K 视频。
在写这个答案时,我会记下一些我觉得有用的其他参考资料。
64 位/x86_64 或 x_64(存档)VS 32 位/x86(存档),想想Windows上的Program Files (x86)
(存档)文件夹或_x86
, x86_64
,x64
您有时会在安装文件名中看到。
归档时间: |
|
查看次数: |
65000 次 |
最近记录: |