x86 - 内核 - 程序、清理和内存覆盖
x86 - kernel - programs, cleaning and memory overwrite
我不确定某事。以linux为例;当一个程序退出时,内核负责进程后的清理。
如何确保 物理 内存永远不会从进程 A 覆盖到进程 B(不同的虚拟内存(页面条目)导致相同的物理分配)?
如何预防?
Linux 使用描述的工具 here.
为进程分配页面和释放页面。
(搜索内核源代码以获取更多详细信息。)
这意味着,内核将有关已使用页面的信息保存在某种数据结构中(例如,可以是位图),并且只有未使用的页面才可用于新进程。
这可以防止错误地将正在使用的页面分配给新进程。超出此范围的任何行为都将是一个 bug 和一个巨大的安全漏洞。
我不确定某事。以linux为例;当一个程序退出时,内核负责进程后的清理。
如何确保 物理 内存永远不会从进程 A 覆盖到进程 B(不同的虚拟内存(页面条目)导致相同的物理分配)?
如何预防?
Linux 使用描述的工具 here.
为进程分配页面和释放页面。
(搜索内核源代码以获取更多详细信息。)
这意味着,内核将有关已使用页面的信息保存在某种数据结构中(例如,可以是位图),并且只有未使用的页面才可用于新进程。
这可以防止错误地将正在使用的页面分配给新进程。超出此范围的任何行为都将是一个 bug 和一个巨大的安全漏洞。