linux内核地址空间与用户地址空间的差别
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
本文仅限在i386平台下讨论一般情况。
1、用户线性地址空间范围0-3G,内核线性空间范围3G-4G。
2、内核总是立即满足内核空间的物理内存分配,并且分配结果对所有进程可见;而对于用户空间的内存分配请求,linux总是先保留用户线性地址空间的一段区域,然后修改页表项使这段线性区域都指向一页内容全为0的全局只读物理页。当进程写入这段线性区域时,将会产生一个缺页异常,这时系统才会为对应的线性地址分配物理页面,并且把物理页对应的页表项置为可写。为了保持和全局只读物理页内容一致,新分配的物理页内容也会全置为0。
3、用户线性空间是不可靠的,一般情况下它会随着进程的切换而改变(在lazy TLB切换下除外);而内核线性空间对所有的进程都一样,不会随着进程的切换而改变。
1、用户线性地址空间范围0-3G,内核线性空间范围3G-4G。
2、内核总是立即满足内核空间的物理内存分配,并且分配结果对所有进程可见;而对于用户空间的内存分配请求,linux总是先保留用户线性地址空间的一段区域,然后修改页表项使这段线性区域都指向一页内容全为0的全局只读物理页。当进程写入这段线性区域时,将会产生一个缺页异常,这时系统才会为对应的线性地址分配物理页面,并且把物理页对应的页表项置为可写。为了保持和全局只读物理页内容一致,新分配的物理页内容也会全置为0。
3、用户线性空间是不可靠的,一般情况下它会随着进程的切换而改变(在lazy TLB切换下除外);而内核线性空间对所有的进程都一样,不会随着进程的切换而改变。
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献1条内容
所有评论(0)