操作系统内存管理

连续内存管理

最优算法

寻找与所需内存最相近的快

最差内存算法

找最大的空闲块

最近内存算法

找最近的可用空闲块

碎片管理

上述三种算法均无法解决内存中出现的内碎片与外碎片问题,开头通过压缩算法与交换算法来进行缓解。

非连续内存管理

分段

通过段号与段内偏移来实现虚拟内存地址与物理内存地址之间的映射,分段算法段的大小不是固定的是可变的。

分页

正向页表

通过逻辑内存地址查找物理内存地址,即通过页号查找帧号。
通过页表来管理内存,页表中存储了页号与帧号的映射关系,CPU通过虚拟内存的页号来查找对应物理内存地址的帧号,然后加上偏移地址来获取物理内存地址
页表的大小是固定的

反向页表

通过帧号来查找页号

虚拟内存

覆盖技术

由程序员决定,哪些模块先被加载到内存中,从而实现内存使用的优化

交换技术

将不使用的程序换出道硬盘中

虚拟内存

将程序的一部分 不使用的内容放到硬盘中

最优页面置换算法

置换到下一次使用时间最长的页。因无法的值下一次使用的时间,所以该算法多用来作为衡量其他算法效果的标准

FIFO

先使用的页被最先置换

最长未使用时间算法

维护一个链表或者栈存放每一个页被使用的顺序,每次都将最长时间未被使用的页置换出去。每一次访问不同的页都将查询一次链表并更换顺序,开销较大

时钟置换算法

维护一个环形链表,每一个位置上记录某一个页表在一定时间内是否被访问,维护一个指针,没当发生页表访问时将标志位置为1表示该页表被访问过了,当发生缺页中断时,该指针按照一定方向移动,如果当前页表的标志位为1,则将其置为0,再访问下一个位置,直到找到标志位为0的页表,并将该页表置换出去。

最不常用算法

淘汰使用次数最少的页

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值