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

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

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

内存的描述符:

内核线程的内存描述符:

线性区数据结构:

线性区的访问权限:

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

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

请求调页

写时复制:

处理非连续内存区访问:

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

堆的管理:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值