储存管理 与 虚拟地址如何转换为物理地址

计算机系统的储存机制现在主要是 段页式储存,即分段也分页。

分页将程序分为相等的固定长且比较小的程序块,每一个程序块称为页,能分配到存储器中 分割为固定长度的储存块(称为页帧)上。

用页表来保存一些数据,保存的内容为进程中每一页的页帧地址。

逻辑地址为 在程序代码中 相对与程序起始地址的存储单元地址。转换为物理地址的操作为,根据逻辑地址的页号,找到其对应的页表中的信息,即页帧地址,然后将逻辑地址的页号改为页帧地址前部,获得完整的物理地址。


由于分页,导致了虚拟存储器的概念。即当程序加载时,外部看到的似乎整个程序已经被加载到 内存中,而事实上,其只是一部分在内存上,还有一些仍在磁盘上,则这个时候我们看到的这个加载了程序的内存称为虚拟存储器。由于分页导致抖动问题:抖动是指 处理器花费大量时间用于交换页而不是执行指令。


分段 是对程序员课件的,为组织程序和数据提供方便,并提供把特权,保护属性,与指令数据想联系的手段。分段允许程序员把存储器看成多个地址空间或段组成。段长度是可变的,是动态分配的。


对于分段分页存储器:

分段分页的地址称为虚拟地址,将其的段号解读,转换为线性地址,线性地址为整个程序作为一个整体时的地址,再转换为物理地址。

一开始的逻辑地址为段号 加 段内位移。将其查段表,计算获得线性地址,线性地址左端为 目录和页号,先在页目录表中找到对应的页表,然后再在页表中找到对应的页帧地址,与位移结合获得物理地址。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值