内存管理

操作系统的内存管理主要是做什么?
操作系统的内存管理主要负责内存的分配与回收( malloc 函数:申请内存, free 函数:
释放内存),另外地址转换也就是将逻辑地址转换成相应的物理地址等功能也是操作系统内存管
理做的事情。
 
操作系统的内存管理机制了解吗?内存管理有哪⼏种⽅式 ?
简单分为 连续分配管理⽅式 ⾮连续分配管理⽅式 这两种。连续分配管理⽅式是指为⼀个⽤户程
序分配⼀个连续的内存空间,常⻅的如 块式管理 。同样地,⾮连续分配管理⽅式允许⼀个程序
使⽤的内存分布在离散或者说不相邻的内存中,常⻅的如 ⻚式管理 段式管理
 
块式管理 : 远古时代的计算机操系统的内存管理⽅式。将内存分为⼏个固定⼤⼩的块,每
个块中只包含⼀个进程。如果程序运⾏需要内存的话,操作系统就分配给它⼀块,如果程序
运⾏只需要很⼩的空间的话,分配的这块内存很⼤⼀部分⼏乎被浪费了。这些在每个块中未
被利⽤的空间,我们称之为碎⽚。
⻚式管理 :把主存分为⼤⼩相等且固定的⼀⻚⼀⻚的形式,⻚᫾⼩,相比于块式管理的 划分⼒度更⼤,提⾼了内存利⽤率,减少了碎⽚。⻚式管理通过⻚表对应逻辑地址和物理地址。
段式管理 : ⻚式管理虽然提⾼了内存利⽤率,但是⻚式管理其中的⻚实际并⽆任何实际意
义。 段式管理把主存分为⼀段段的,每⼀段的空间⼜要⽐⼀⻚的空间⼩很多 。但是,最重
要的是段是有实际意义的,每个段定义了⼀组逻辑信息,例如 , 有主程序段 MAIN 、⼦程序段
X 、数据段 D 及栈段 S 等。 段式管理通过段表对应逻辑地址和物理地址。
 
段⻚式管理机制结合
了段式管理和⻚式管理的优点。简单来说段⻚式管理机制就是把主存先分成若⼲段,每个段⼜分
成若⼲⻚,也就是说 段⻚式管理机制 中段与段之间以及段的内部的都是离散的。

 

⻚⾯置换算法
⻚⾯置换算法的作⽤ ? 常⻅的⻚⾯置换算法有哪些 ?
 
地址映射过程中,若在⻚⾯中发现所要访问的⻚⾯不在内存中,则发⽣缺⻚中断 。
 
缺⻚中断 就是要访问的 不在主存,需要操作系统将其调⼊主存后再进⾏访问。 在这个时
候,被内存映射的⽂件实际上成了⼀个分⻚交换⽂件。

 

当发⽣缺⻚中断时,如果当前内存中并没有空闲的⻚⾯,操作系统就必须在内存选择⼀个⻚⾯将
其移出内存,以便为即将调⼊的⻚⾯让出空间。⽤来选择淘汰哪⼀⻚的规则叫做⻚⾯置换算法,
我们可以把⻚⾯置换算法看成是淘汰⻚⾯的规则。

 

 

OPT ⻚⾯置换算法(最佳⻚⾯置换算法) :最佳 (Optimal, OPT) 置换算法所选择的被淘汰
⻚⾯将是以后永不使⽤的,或者是在最⻓时间内不再被访问的⻚⾯ , 这样可以保证获得最低的
缺⻚率。但由于⼈们⽬前⽆法预知进程在内存下的若千⻚⾯中哪个是未来最⻓时间内不再被
访问的,因⽽该算法⽆法实现。⼀般作为衡量其他置换算法的⽅法。
FIFO First In First Out ) ⻚⾯置换算法(先进先出⻚⾯置换算法) : 总是淘汰最先进⼊内
存的⻚⾯,即选择在内存中驻留时间最久的⻚⾯进⾏淘汰。
LRU Least Currently Used )⻚⾯置换算法(最近最久未使⽤⻚⾯置换算法) LRU
法赋予每个⻚⾯⼀个访问字段,⽤来记录⼀个⻚⾯⾃上次被访问以来所经历的时间 T ,当须
淘汰⼀个⻚⾯时,选择现有⻚⾯中其 T 值最⼤的,即最近最久未使⽤的⻚⾯予以淘汰。
LFU Least Frequently Used )⻚⾯置换算法(最少使⽤⻚⾯置换算法) : 该置换算法选
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值