Luc*_*ini 117 memory windows-7 comparison restrictions
我知道主板、BIOS 等可能会设置我们可以在单个机器上安装或使用多少 RAM 的上限。但是,什么定义了 Windows 7 x64 的最大 RAM?
这是操作系统的基本架构限制吗?不同的 Windows 7 版本具有不同的 RAM 最大值(入门版 <= 2GB,专业版 <= 192 GB)。它是可以真正改变的东西吗?
相比之下,Ubuntu 64x 允许多达 1024GB 的 RAM。
and*_*415 184
从等式中排除硬件,它主要是人为的软件限制:
[The] 限制是通过调用名为 的函数从注册表中检索的,该函数
ZwQueryLicenseValue本身是从内部过程调用的,Microsoft 发布的符号文件名为MxMemoryLicense.
当然,即使以未记录的格式存储在注册表中的许可证数据也很容易被用户更改,因为 Microsoft 对不同的许可证收取显着不同的价格,因此他们有一些尝试尝试的动力。因此,Microsoft 有一个精心设计的计划,用于检查许可证数据是否符合 Microsoft 的要求。内核是许可数据是否被篡改的存储库,为此又导出了两个函数,
ExGetLicenseTamperState和ExSetLicenseTamperState.资料来源:软件许可
ExGetLicense 篡改状态
这个 [undocumented] 函数询问内核许可证数据是否被篡改。
内部使用是在大约每小时重复一次的计时器中。如果发现篡改状态为
4,则 Windows 停止。错误检查代码是SYSTEM_LICENSE_VIOLATION(0x9A),0x1B作为第一个参数。
假设您有一台内存为 32 GiB的计算机,并且您安装了 Windows 7 Home Premium x64(64 位)。在这种情况下,您将被限制为 16 GiB。如果您要使用Windows Anytime Upgrade并升级到更昂贵的版本,则会突然将限制设置为 192 GiB。
所有 Windows 7 版本共享相同的源代码。主要区别在于启用或禁用的功能/限制的数量。专业版和更高的客户端版本对它们可以处理的 RAM 数量没有上限,并且仅获得 Microsoft 保证支持的许可。
此外,Windows 7 EULA 明确表示您不得“将该软件用于商业软件托管服务”,暗示 Microsoft 假设如果您需要更高客户端版本许可的更多 RAM,那么您真正想要的是服务器执照。Windows 7 的服务器对应版本(即 Windows Server 2008 R2)在企业版和数据中心版中最多可以使用 2 TiB 的 RAM。
随着技术的快速发展,昨天可以接受的明天可能还不够。为了迎头赶上,Windows 8 将 Core 和 Pro/Enterprise 版本的限制分别提高到 128 GiB 和 512 GiB。不过,这仅适用于 64 位版本:32 位版本的上限仍为 4 GiB。服务器版本 Windows Server 2012 在更高版本中最多可以处理 4 TiB 的 RAM。
Dav*_*cre 53
微软以这种方式许可它。他们可能希望您为获得许可以使用更多资源运行的 Windows Server 产品付费。它与 SQL Server 等其他产品相同。SQL Server Express 对其有限制,因此如果您需要更多资源,则必须购买允许它的产品。
| 归档时间: |
|
| 查看次数: |
21427 次 |
| 最近记录: |