摘要:
管理用户虚拟地址空间的方法比内核地址空间复杂一些:每个应用程序都有自己的地址空间,与所有其他应用程序分开;地址空间巨大,只有很少的段可用于各个用户空间进程,这些段之间有一定的距离,内核需要有效的管理这些分配的段;内核无法信任用户程序,必须做检查;地址空间只有极少的一部分和物理页帧直接关联,不经常使用的部分只有在必要时与页帧关联。进程由不同长度的段组成用于不同的目的:当前运行代码的二进制代码段、程序使用的动态库的代码、全局变量和动态产生的数据的堆、用于保存局部变量和实现函数调用的栈、环境变量和命令行参数、文件内容。系统中的每个进程都用一个mm_struct结构来保存内存管理信息:struct m 阅读全文