操作系统 鸵鸟策略 内存管理 虚拟内存

在这里插入图片描述

1.系统发生死锁时不会对用户造成多大影响,或者系统很少发生死锁时允许采用鸵鸟策略。解决死锁的问题通常代价很大,这样开销比不允许发生死锁及检测和解除死锁的小。因此鸵鸟策略是平衡性能和复杂性的一种方法。

  1. 在这里插入图片描述

连续分配

单一连续分配:

内存在此方式下分为系统区和用户区,系统区仅供操作系统使用,通常在低地址部分;用户区是为用户提供的、除系统区之外的内存空间。这种方式无需进行内存保护,因为内存中永远只有一道程序,因此肯定不会因为访问越界而干扰其他程序。

这种方式的优点是简单、无外部碎片,可以采用覆盖技术,不需要额外的技术支持。

缺点是只能用于单用户单任务的操作系统中,有内部碎片,存储器的利用率极低。

固定分区分配

固定分区分配是最简单的一种多道程序存储管理方式,它将用户内存空间划分为若干固定大小的区域,每个分区只装入一道作业。当有空闲分区时,便可再从外存的后备作业队列中选择适当大小的作业装入该分区,如此循环。

优点:简单、无外部碎片。

缺点:有内部碎片,不能实现多进程共享一个贮存区,存储空间利用率低。

动态分区分配

进程装进内存时,根据进程的大小动态地建立分区,并使分区的大小正好适合进程的需要。

优点:分区大小和数目可变,无内部碎片。

缺点:随着时间的推移会产生外部碎片。

非连续分配

页式存储:

把主存空间划分为大小相等且固定的块,每个进程也以块为单位进行划分,进程在执行时,以块为单位逐个申请主存中的块空间。进程中的块称为页,内存中的块称为页框,页和页框一一对应。

优点:没有外部碎片,每个进程平均只产生半个块大小的内部碎片。

缺点:每次访存操作都需要进行逻辑地址到物理地址的转换,地址转换过程必须要快,否则访存速度会降低;每个进程引入页表,用于存储映射机制,页表不能太大,否则内存利用率会降低。

段式存储:

按照用户进程中的自然段划分逻辑空间。与页式管理不同,段式管理不能通过给出一个整数便确定对应的物理地址,因为每段的长度是不固定的,无法通过整数除法得出段号,无法通过求余得出段内偏移,所以段号和段内偏移一定要显式给出,因此分段管理的地址空间是二维的。

优点:考虑了用户和程序员,以满足方便编程、信息保护与共享、动态增长及动态链接等多方面的需要。

缺点:有外部碎片。

段页式存储:

作业的地址空间被分成若干逻辑段,每段都有自己的段号,然后将每段分成若干大小固定的页。对内存空间的管理人仍然和分页存储管理一样,将其分成若干和页面大小相同的存储块,对内存的分配以存储块为单位。

传统存储管理方式特征

一次性:作业必须一次性全部装入内存后,才能开始运行。会导致两种情况:一是作业很大而不能全部被装入内存时,将使作业无法运行;二是当大量作业要求运行时,由于内存不足以容纳所有作业,只能使少数作业先运行,导致多道程序度的下降。

驻留性:作业被装入内存后,就一直驻留在内存中,其任何部分都不会被换出,直至作业运行结束。运行中的进程会因为等待I/O而被阻塞,可能出于长期等待状态。

由以上分析可知,许多在程序运行中不用或暂时不用的程序占据了大量的内存空间。而一些需要运行的作业又无法装入运行,显然浪费了宝贵的内存资源。

局部性原理

时间局部性:程序中的某条指令一旦执行,不久后该指令可能再次执行;某数据被访问过,不久后可能被再次访问。产生时间局部性的典型原因是程序中存在着大量的循环操作。

空间局部性:一旦程序访问了某个存储单元,不久后其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组、表等形式簇聚存储的。

时间局部性通过将近来使用的指令和数据保存到高速缓冲存储器中,并使用高速缓存的层次结构实现。空间局部性通常使用较大的高速缓存,并将预取机制集成到高速缓存控制逻辑中实现。虚拟内存技术实际上建立了“内存—外存”的两级存储器结构,利用局部性原理实现高速缓存。

虚拟存储器

基于局部性原理,在程序装入时,将程序的一部分装入内存,而将其余部分留在外存,就可启动程序执行。在程序执行过程中,当所访问的信息不在内存时,由操作系统将所需要的部分调入内存,然后继续执行程序。另一方面,操作系统将内存中暂时不使用的内容换出到外存上,从而腾出空间存放将要调入内存的信息。这样,系统好像为用户提供了一个比实际内存大得多的存储器,称为虚拟存储器。

虚拟内存

虚拟内存使用外存上的空间来扩充内存空间,通过一定的换入换出,使得整个系统在逻辑上能够使用一个远远超出其物理内存大小的内存容量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yitahutu79

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值