为什么在大多数操作系统中,任何地址为 0:1000 的进程中的第一个虚拟页都受到操作系统的保护

问题描述 投票:0回答:1

我知道NULL指针有特殊含义,如果指针指向虚拟地址0那么它会是相同的。那么这是保护第一个虚拟页面的主要原因吗?

我尝试用固定的虚拟地址映射内存

pointers operating-system virtual-memory qnx data-protection
1个回答
0
投票

唯一的原因是捕获涉及未初始化指针的常见编程错误。这样做会使指向 0 的指针不指向任何内容(NULL、NIL)。请记住,大多数操作系统允许用户将第一个逻辑内存页映射到地址空间(如果他们确实想要这样做)。

© www.soinside.com 2019 - 2024. All rights reserved.