操作系统-段页结合的实际内存管理

段、页结合:程序员希望用段,物理内存希望用页,所以、、、

从虚拟内存中割出一个区域来给这个段,段就有了映射,但是这个虚拟内存不能正真的使用,需要把虚拟内存再映射一次,这个时候虚拟内存中的段分割成固定大小的页,每一页再去映射到物理内存中

1. 段、页同时存在

段面向用户,页面向硬件

2. 段页同时存在用的重定位

也就是地址翻译

从用户的角度来看就是段的访问,从物理内存的角度就是分成一页一页

3. 一个实际的段页结合

1. 段页式内存下程序如何载入内存?
  1. 虚拟内存割出一段区域给给用户,存放数据段、代码段
  2. 把用户的数据段分割成页,再给到物理内存上

2. 从fork()开始
  1. 分配虚拟内存
  2. 建立段表

进程0、进程1、进程2的虚拟地址

3. 接下来
  1. 分配内存
  2. 建立页表

4. 子进程和父进程都指向同一页

5. 程序+虚拟内存+物理内存

6. *p=7?

父进程*p=7 ,

子进程*p=8

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值