关于操作系统的几个重要概念(四)

Windows内存管理方式:段式存储,页式存储,段页式存储

普通的存储管理系统中,作业存储时需要占用一个连续的存储区,当一个作业的大小大于任何一个空闲存储区时,就不能将作业装入运行,即使内存中所有的空闲区之和远远大于作业的大小。如果我们可以将作业拆分成小块放入内存的碎片中,那么就可以运行了。在这个思想上,我们引入了页式存储,段式存储,段页式存储。

页式存储管理

普通页式存储管理是将内存和作业都分割成大小相同的页框和页,被分割后的作业可以不连续的放在内存的页框中,但是运行之前需要将作业全部装载到内存中。而虚拟页式存储管理(请求页式存储管理)中作业不需要一次性装入内存中,开始运行时只需要将起始页装入内存中,运行过程中发生缺页中断后,再使用请求调页或者页面置换的功能将需要的页面放入内存中。

常用的几种页面调度算法:
FIFO:先进先出算法(会出现Belady异常现象,即当分配给进程的物理页面数增加时,缺页次数反而增加)。
LRU:最不经常使用算法

段式存储管理

我们都知道,在程序存储时会分为代码段,数据段,堆栈段等。如果采用页式存储管理,代码在逻辑上会变的不清晰。这里我们就引入了段式存储管理。段式存储管理是讲作业按照功能分为大小不同的几个段,在程序执行之前,一次性将这些段按照一定的规则放入内存中。(虚拟段式原理与页式相同)

程序加载时的内存分配算法:
最先适应算法:从头开始寻找,找到第一个大于加载段的内存块放入。
下次适应算法:每次寻找时从上次放入加载段的地址开始寻找,知道找到一个大于本次加载段的内存块放入。
最佳适应算法:遍历内存块,找到大于加载段的内存块中最小的一块放入。

段页式存储管理

段页式存储管理是虚拟页式和虚拟段式的结合,他结合了两者的优点,同时克服了两者的缺点。段页式存储管理对于用户来说是以段为逻辑单位进行划分的,对于系统来说是以页来划分每一段的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值