【发布时间】:2013-11-06 08:21:58
【问题描述】:
我现在在大学里已经用 x86 汇编和 C 编程了一段时间了,在这一天,我无法理解一件事:谁阻止我开发一个将值写入 0x0 或其他地址的程序从它们的地址值来看,这似乎对我正在运行的系统很“重要”?
谁保证,首先,我能够做到这一点(我能够做到这一点,对吗?),其次,没有其他进程在实际使用 0x0 或任何其他地址的情况下出现异常行为?
这是如何管理的?
【问题讨论】:
-
您无法写入受保护的地址。部分内存受内核保护。看到这个:en.wikipedia.org/wiki/Kernel_(computing)
-
那么,我是否必须保护我的程序的地址空间不受其他进程的影响?此外,将数据写入硬编码地址(例如 0x151515)是否有意义呢?如果其中一些地址可能受到保护,我作为程序员如何知道要写入哪个地址?
标签: memory computer-science allocation