第十二课 虚拟存储器

分区方式

image.png
image.png

分页方式

image.png

虚拟存储器

image.png
只需要保证同时需要载入的页的大小是低于主存的大小就行。对于同一个任务,其实是每个时刻只会执行部分代码段,所以只需要载入部分页进入内存就行
image.png

  1. 所有的任务的所有的页放入硬盘的特定区域中,也就是虚拟内存
  2. 每个任务正在使用的页载入主存当中
  3. 没命中时主存从硬盘中加载;有修改时,硬盘也会从主存加载
  4. 页表:对每个任务生成一个页表,记录页的状态

image.png

  • 全相联映射:命中率更高
  • 写回:避免像写直达一样,多次对硬盘进行操作

分页式虚拟存储器

image.png

  • 编写程序时,默认自己有一个很大的、连续的空间,所以记录在页表中的地址都是虚拟地址。
  • 程序真正被启动时,会产生很多页面,载入硬盘中
  • 把要用的页面真正载入主存中,由页表来记录
  • 页表也存在主存中
过程

image.png

页表

物理页和虚拟页的大小是一样的。所以页内偏移量是一致的
image.png

  • null磁盘没有存储VP0 VP4,对应的位置存储了其他信息A959A7B612035ABFFB13EF2EC4BE03A8.png
  • PP0物理页号:说明在主存中有载入
  • 指针:说明在磁盘存储器中有,但是没有载入主存中。
  • 虚拟地址比物理地址更长,虚拟空间比物理空间更大,虚拟页号比物理页号的长度更长;存放位置时的指针长度比物理地址小
  • 不需要额外用空间记录虚拟页号,因为是按顺序排放的
  • **存放位置的长度是按照最长的物理地址存放的 **
问题

image.png

快表

image.png

CPU访存过程

image.png
image.png
image.png

  1. 访问的是主存中的数据,因为在Cache中miss了
  2. 访问的是主存中的页表,数据仍然在Cache中
  3. 出现缺页情况,访问硬盘和访问主存速度差距非常大
  4. TLB中有,页表中也一定有

分段式虚拟存储器

物理地址= 段号左移4位+段内偏移量
image.png
分页式:对权限管理很混乱,每一个页都要单独记录权限
分段式:

  • 会有重复地址
  • 长度不固定

image.png

总结

image.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值