现代操作系统 虚拟内存

一、覆盖

把程序分割成许多片段,称为覆盖。

二、虚拟内存

虚拟内存的基本思想是:

  • 每个程序拥有自己的地址空间,这个空间被分割成多个块,每一块乘坐一页。
  • 每一页有连续的地址范围。
  • 这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行程序。
  • 当程序运行到一部分在物理内存中的地址空间时,由硬件立即执行必要的映射;
  • 当程序运行到的一部分不再物理内存中的地址空间时,由操作系统负责将缺失的部分装入物理内存并重新执行失败的命令。

三、转换检测缓冲区TLB

1.多级页表

2.倒排页表

四、页面置换算法

  • 最佳置换算法:选择淘汰的页面僵尸永不使用的,或者是最长时间内不再被访问的页面。是理论上的算法
  • 最近未使用页面置换算法:NRU算法随机地从类编号最小的非空类中挑选一个页面淘汰。
  • 先进先出页面置换算法:FIFO。性能较差
  • 时钟页面置换算法:clock
  • 最近最少使用页面置换算法:LFU置换未使用时间最长的页面。

五、局部性原理

局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。

六、页面大小

最有页面大小P=根号下2se

假设进程的平均大小是s个字节,页面大小是p个字节,每个页表项需要e个字节。

七、抖动thrashing

每隔几条指令就会导致页面错误的程序称为抖动,也成为颠簸。

一个好的置换算法,应具有较低的页面更换频率。

八、负载控制

事实上,一旦所有进程的组合工作集超出了内存容量,就可能发生颠簸。

即使使用分页,交换也是需要的。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值