gpt4 book ai didi

linux - 64 位 linux 上 32 位进程的地址空间

转载 作者:IT王子 更新时间:2023-10-29 01:14:29 28 4
gpt4 key购买 nike

this回答作者说:对于 64 位 x86_64 内核,32 位进程可以使用整个 4GB 地址空间,除了由内核管理的 4GB 地址空间末尾的几页 (8KB)。

这个内核管理内存的目的是什么?它不应该在内核空间中,以防止用户意外损坏吗?

最佳答案

引用内核源代码:“内核指针具有冗余信息,因此我们可以使用一种方案,我们可以返回错误代码或具有相同返回值的 [...] 指针。

值 -1..-4095(在 32 位模式下映射到 0xfffff000–0xffffffff)保留用于内核级 errno 值。 0xfffffe000–0xffffefff 中的其他 4KB 为 vsyscall vdso 魔法页面保留,但由于 vdso 页面自许多卫星以来是可重定位的,因此该区域仍然可能无人居住,也就是说,[stack] /proc/*/maps 中的条目始终以 0xffffdfff 结尾,无论 [vdso] 是否映射到 0xfffffe000 或其他位置。

关于linux - 64 位 linux 上 32 位进程的地址空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8547071/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com