您的位置:首页 > 运维架构 > Linux

深入理解Linux内核-进程地址空间

2015-08-12 09:37 513 查看
给内核分配内存和给用户态进程分配内存是有区别的:
1、内核的优先级最高,如果某个内核函数请求动态内存,不会被延时
2、内核信任自己,不必保护措施
3、用户态进程对动态内存的请求被认为不是紧迫的,总是被尽量推迟分配
4、用户进程总是不可信任的

进程的地址空间:
1、由允许进程使用的全部线性地址组成。
2、每个进程的线性地址集合是不同的。
3、每个进程允许有65536个不同的线性区
4、线性区由链表和红黑数保存
5、

内存的描述符:

内核线程的内存描述符:

线性区数据结构:

线性区的访问权限:

线性区的查找、插入、分配、释放

缺页异常处理:
1、处理地址空间以外的错误地址
2、处理地址空间以内的错误地址

请求调页

写时复制:

处理非连续内存区访问:

创建和删除进程的地址空间:

堆的管理:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: