首页 > 其他分享 >操作系统——存储器管理的功能

操作系统——存储器管理的功能

时间:2022-12-26 20:03:25浏览次数:54  
标签:存储管理 功能 对换 操作系统 存储器 算法 页表 分配 内存


一. 内容总览

操作系统——存储器管理的功能_操作系统

操作系统——存储器管理的功能_对换_02

二. 内存空间的分配和回收

为了能将用户程序装入内存,必须为它分配一定大小的内存空间。连续分配方式是最早出现的一种存储器分配方式
该分配方式为一个用户程序分配一个连续的内存空间,即程序代码或数据的逻辑地址相邻,体现在内存空间分配时物理地址的相邻

操作系统——存储器管理的功能_对换_03

①连续分配管理方式

操作系统——存储器管理的功能_页表_04

1. 单一连续分配方式

操作系统——存储器管理的功能_页表_05

2. 固定分区分配

操作系统——存储器管理的功能_页表_06

操作系统怎么记录内存中各个分区的占用或者空闲的情况呢?

操作系统——存储器管理的功能_操作系统_07

3. 动态分区分配

操作系统——存储器管理的功能_对换_08

问题一:系统要用什么样的数据结构记录内存的使用情况

操作系统——存储器管理的功能_操作系统_09

问题二:当有很多空闲分区都能满需要时,应该选择哪个分区进行分配

操作系统——存储器管理的功能_操作系统_10

选择分区时,可以通过动态分区分配算法来决定

操作系统——存储器管理的功能_操作系统_11

(1). 首次适应算法

操作系统——存储器管理的功能_存储管理_12


操作系统——存储器管理的功能_对换_13

(2). 最佳适应算法

操作系统——存储器管理的功能_存储管理_14


操作系统——存储器管理的功能_对换_15


操作系统——存储器管理的功能_页表_16

(3). 最坏适应算法

操作系统——存储器管理的功能_对换_17


操作系统——存储器管理的功能_页表_18

(4). 邻近适应算法

操作系统——存储器管理的功能_页表_19


操作系统——存储器管理的功能_操作系统_20


操作系统——存储器管理的功能_页表_21

(5). 总结

操作系统——存储器管理的功能_页表_22

问题三:如何进行分区的分配和回收操作

分配方式一

操作系统——存储器管理的功能_页表_23


分配方式二

操作系统——存储器管理的功能_对换_24


回收进程4 情况一

操作系统——存储器管理的功能_对换_25

回收进程3 情况二

操作系统——存储器管理的功能_存储管理_26


回收进程4 情况三

操作系统——存储器管理的功能_对换_27


回收进程2 情况四

操作系统——存储器管理的功能_操作系统_28

动态分区分配算法总结

操作系统——存储器管理的功能_页表_29


操作系统——存储器管理的功能_页表_30

4. 连续分配方式的缺点

操作系统——存储器管理的功能_操作系统_31

②非连续分配管理方式

如果允许将一个进程分散地装入到许多不相邻的分区中,便可充分地利用内存空间,而无需再进行紧凑
基于这个思想,产生了非连续分配方式,或者称为离散分配方式
根据离散分配时所分配的地址空间的基本单位的不同,又可以将离散分配分为三种:分页存储器管理方式、分段存储器管理方式、段页式存储器管理方式

操作系统——存储器管理的功能_页表_32

1. 基本分页存储管理

将用户程序的地址空间分为若干个固定大小的区域,称为页或页面。相应的将内存空间分为若干个物理块或页框,页和块的大小相同。这样就可以将用户程序的任一页放入任一物理块中,实现了离散分配

分页存储管理方式引入的目的:
提高内存的利用率

操作系统——存储器管理的功能_存储管理_33

(1). 非连续分配举例

操作系统——存储器管理的功能_页表_34


操作系统——存储器管理的功能_存储管理_35

(2). 分页存储管理基本概念

操作系统——存储器管理的功能_页表_36

(3). 采用分页技术之后如何实现地址转换

将进程地址空间分页之后,操作系统该如何实现逻辑地址到物理地址的转换?

操作系统——存储器管理的功能_页表_37


操作系统——存储器管理的功能_操作系统_38


操作系统——存储器管理的功能_存储管理_39

(4). 为什么将页面大小设置为2的整数幂就可以方便计算机计算?

原因:在计算机内部,地址是用二进制表示的, 如果页面大小 刚好是 2 的整数幂,则计 算机硬件可以很快速的把逻辑地址拆分 成(页号,页内偏移量)

举例1:

操作系统——存储器管理的功能_操作系统_40


举例2:

操作系统——存储器管理的功能_对换_41

(5). 逻辑地址的结构

操作系统——存储器管理的功能_存储管理_42

(6). 页表

操作系统——存储器管理的功能_存储管理_43

(7). 为什么每个页表项的长度是相同的,页号是隐含的

操作系统——存储器管理的功能_存储管理_44

(8). 基本地址变换机构

基本地址变换机构简单来说:就是用于实现逻辑地址到物理地址转换的一组硬件机构

操作系统——存储器管理的功能_存储管理_45

操作系统——存储器管理的功能_存储管理_46

操作系统——存储器管理的功能_对换_47


操作系统——存储器管理的功能_对换_48


操作系统——存储器管理的功能_页表_49


举例

操作系统——存储器管理的功能_存储管理_50


对页表项大小进一步探讨

操作系统——存储器管理的功能_存储管理_51


操作系统——存储器管理的功能_对换_52


解决办法

操作系统——存储器管理的功能_存储管理_53


注:一个进程的页表太大(页表项太多的话),那么这个进程的页表一般装到内存里面也是尽可能的然他们装在连续的内存空间里面,这样的话我们可以使用统一的计算方式,就可以得到我们想要得到的页表项存储的位置

(9). 具有快表的地址变换机构

操作系统——存储器管理的功能_存储管理_54

1. 局部性原理

操作系统——存储器管理的功能_对换_55

2. 什么是快表(TLB)

快表就是计算机组成原理里面的cache

操作系统——存储器管理的功能_操作系统_56

3. 引入快表之后,地址的变换过程

操作系统——存储器管理的功能_页表_57


查询完第一个指令(0,0)之后,查询第二个指令(0.4)的时候,发现快表已近命中,则可以通过快表内存块号和内存偏移量得到物理地址

操作系统——存储器管理的功能_存储管理_58


其中快表当中存放的是页表的一部分副本

操作系统——存储器管理的功能_页表_59


举例:

操作系统——存储器管理的功能_存储管理_60


总结:

操作系统——存储器管理的功能_存储管理_61

(10). 两级页表

操作系统——存储器管理的功能_页表_62

1. 单级页表存在什么问题?如何解决?

问题一:

操作系统——存储器管理的功能_操作系统_63


问题二:

操作系统——存储器管理的功能_存储管理_64


如何解决呢?

操作系统——存储器管理的功能_存储管理_65


操作系统——存储器管理的功能_页表_66

2. 两级页表的原理、逻辑地址结构

操作系统——存储器管理的功能_操作系统_67


操作系统——存储器管理的功能_操作系统_68

3. 如何实现地址变换?

操作系统——存储器管理的功能_页表_69

4. 两级页表问题需要注意的几个细节

操作系统——存储器管理的功能_页表_70

5. 总结

操作系统——存储器管理的功能_页表_71

2. 基本分段存储管理

主要是为了满足用户(程序员)在编程和使用上多方面的要求,把用户程序的地址空间分为若干个大小不同的段,每段可定义一组相对完整的信息。在存储器分配时,以段为单位,这些段在内存中可以不相连接,所以也实现了离散分配

分段存储管理系统引入的目的:
一方面:由于程序都可分为若干个段,如主程序、子程序段A、子程序段B、数据段、栈段,每个段都是一个独立的逻辑单位
另一方面:实现和满足信息共享、信息保护、动态链接、信息的动态增长等需要,都是以段为基本单位

操作系统——存储器管理的功能_页表_72


操作系统——存储器管理的功能_操作系统_73

(1). 什么是分段

操作系统——存储器管理的功能_存储管理_74


操作系统——存储器管理的功能_存储管理_75

(2). 什么是段表

操作系统——存储器管理的功能_存储管理_76

(3). 如何实现地址变换

操作系统——存储器管理的功能_页表_77


操作系统——存储器管理的功能_操作系统_78


操作系统——存储器管理的功能_页表_79

(4). 分段、分页管理的对比

操作系统——存储器管理的功能_页表_80


操作系统——存储器管理的功能_操作系统_81


操作系统——存储器管理的功能_对换_82


操作系统——存储器管理的功能_页表_83

3. 段页式存储管理

是分页和分段两种存储管理方式相结合的产物,它同时具有两者的优点,是现在应用比较广泛的一种存储方式

操作系统——存储器管理的功能_对换_84


操作系统——存储器管理的功能_对换_85

(1). 分页、分段管理方式中最大的优缺点

操作系统——存储器管理的功能_操作系统_86


操作系统——存储器管理的功能_存储管理_87

(2). 分段+分页的结合—段页式管理方式

操作系统——存储器管理的功能_对换_88

(3). 段页式管理的逻辑地址结构

操作系统——存储器管理的功能_存储管理_89

(4). 段表、页表

操作系统——存储器管理的功能_对换_90

(5). 如何实现地址变换

操作系统——存储器管理的功能_页表_91

三. 内存空间的扩充

操作系统——存储器管理的功能_页表_92


操作系统——存储器管理的功能_存储管理_93


操作系统——存储器管理的功能_存储管理_94

1. 覆盖技术

操作系统——存储器管理的功能_页表_95


举例:

操作系统——存储器管理的功能_存储管理_96

2. 交换技术(对换技术)

原理:当时的计算机内存特别小,系统把所有的用户作业存放在磁盘上,每次只能调入一个作业进入内存,当该作业的一个时间片用完时,将它调至外存的后备队列上等待,再从后备队列上将另一个作业调入内存

操作系统——存储器管理的功能_对换_97


操作系统——存储器管理的功能_页表_98


操作系统——存储器管理的功能_操作系统_99

(1). 对换的类型

  • 类型一:整体对换
又称为处理机的中级调度或者是进程对换
因为是以进程为单位进行对换的
  • 类型二:部分对换
又叫页面(分段)对换:以进程的一个页面/分段为单位
主要用于虚拟存储器系统中的请求分页和请求分段式存储器管理

(2). 为实现进程对换,系统需实现的功能

  1. 对换空间的管理(包括文件区和对换区)
  2. 对换区空闲盘块管理中的数据结构
  3. 对换空间的分配和回收
  4. 进程的换入换出

3. 虚拟存储技术

虚拟存储器作为现代操作系统中存储器管理的一项重要技术,实现了内存扩充的功能。
这个功能并不是从物理上实际的扩大内存容量,而是在逻辑上实现对内存容量的扩充
用户感觉内容容量比实际内存容量大得多,也可让比内存空间更大的程序运行

①虚拟内存的基本概念

操作系统——存储器管理的功能_存储管理_100

(1). 传统存储管理方式的特征、缺点

操作系统——存储器管理的功能_页表_101

(2). 局部性原理

操作系统——存储器管理的功能_对换_102

(3). 虚拟内存的定义和特征

当用户看到自己的程序能在系统中正常运行时,他会认为,该系统所具有的内存容量一定比自己的程序大
所谓虚拟存储器:指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统
其逻辑容量由内存容量和外存容量之和一起决定的,其运行的速度接近内存,每位价格接近外存

操作系统——存储器管理的功能_操作系统_103

操作系统——存储器管理的功能_页表_104

(4). 如何实现虚拟内存技术

操作系统——存储器管理的功能_操作系统_105

②请求分页存储管理方式

操作系统——存储器管理的功能_操作系统_106


操作系统——存储器管理的功能_对换_107

1. 知识总览

操作系统——存储器管理的功能_存储管理_108

2. 页表机制

操作系统——存储器管理的功能_页表_109

3. 缺页中断机构

操作系统——存储器管理的功能_操作系统_110

情况一:内存中有空闲块

操作系统——存储器管理的功能_页表_111

情况二:内存中没有空闲块

操作系统——存储器管理的功能_操作系统_112


操作系统——存储器管理的功能_页表_113


操作系统——存储器管理的功能_页表_114


操作系统——存储器管理的功能_对换_115

4. 地址变换机构

操作系统——存储器管理的功能_存储管理_116


操作系统——存储器管理的功能_对换_117


操作系统——存储器管理的功能_对换_118

5. 页面置换算法

操作系统——存储器管理的功能_存储管理_119

(1). 最佳置换算法(OPT)

操作系统——存储器管理的功能_存储管理_120


操作系统——存储器管理的功能_存储管理_121


操作系统——存储器管理的功能_存储管理_122


操作系统——存储器管理的功能_操作系统_123

(2). 先进先出置换算法(FIFO)

操作系统——存储器管理的功能_操作系统_124


操作系统——存储器管理的功能_页表_125


操作系统——存储器管理的功能_存储管理_126


操作系统——存储器管理的功能_存储管理_127

(3). 最近最久未使用置换算法(LRU)

操作系统——存储器管理的功能_对换_128


操作系统——存储器管理的功能_对换_129


注:该算法的实现需要专门的硬件支持,虽然算法性能,但是实现困难,开销大

(4). 时钟置换算法(CLOCK)

操作系统——存储器管理的功能_页表_130


操作系统——存储器管理的功能_页表_131


操作系统——存储器管理的功能_存储管理_132

(5). 改进型的时钟置换算法

操作系统——存储器管理的功能_对换_133


情况一:

操作系统——存储器管理的功能_操作系统_134

情况二:

操作系统——存储器管理的功能_存储管理_135


情况三:

操作系统——存储器管理的功能_操作系统_136


情况四:

操作系统——存储器管理的功能_对换_137


操作系统——存储器管理的功能_对换_138

(6). 以上算法总结

操作系统——存储器管理的功能_页表_139

6. 页面分配策略

在为进程分配内存的时候,涉及三个问题:

  1. 为保证进程正常运行,所需的最小物理块数的确定
  2. 在为每个进程分配物理块时,应该采取什么样的分配策略,即所分配的物理块是固定的还是可变的
  3. 为不同进程所分配的物理块数,是采取平均分配算法还是根据进程的大小按比例分配

操作系统——存储器管理的功能_页表_140


操作系统——存储器管理的功能_页表_141

(1). 驻留集

操作系统——存储器管理的功能_存储管理_142

(2). 页面分配、置换策略

操作系统——存储器管理的功能_操作系统_143

综上存在3种页面分配、置换策略

1. 固定分配局部置换

操作系统——存储器管理的功能_对换_144

2. 可变分配全局置换

操作系统——存储器管理的功能_操作系统_145

3. 可变分配局部置换

操作系统——存储器管理的功能_操作系统_146

4. 三种置换策略的比较

操作系统——存储器管理的功能_存储管理_147

(3).调入页面的时机

操作系统——存储器管理的功能_存储管理_148

(4). 从何处调页

操作系统——存储器管理的功能_操作系统_149


操作系统——存储器管理的功能_操作系统_150


操作系统——存储器管理的功能_存储管理_151

(5). 抖动(颠簸)现象

操作系统——存储器管理的功能_对换_152


抖动预防的方法

  1. 采取局部置换策略
  2. 把工作集算法融入到处理机调度中
  3. 利用L=S准则调节缺页率
  4. 选择暂停的进程
(6). 工作集

操作系统——存储器管理的功能_对换_153

③请求分段存储管理方式

④请求段页式存储管理方式

四. 地址转换

五. 存储保护


标签:存储管理,功能,对换,操作系统,存储器,算法,页表,分配,内存
From: https://blog.51cto.com/u_15923298/5970757

相关文章

  • SQL Server——自动化功能
    不管是任何地方,数据备份都是很重要的一个环节,需要定时对数据库指定数据备份,为它设计一个备份的策略。但是如果指定某个人定时定点的进行备份这是很麻烦的,这时我们就可以使用......
  • 抓包工具 -- burpsuite(Repeater功能)
    一、安装java环境二、下载burpsuite三、运行后的界面四、我们点击Proxy模块,查看Options信息,记住这个代理地址和端口五、打开浏览器(360),设置代理六、返回burpsuite软件,......
  • 登录功能和添加功能
    list.jsp页面调整:<%@pagecontentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><!......
  • 多功能采集仪VH03接口使用说明
    传感器接口传感器接口须使用设备专门配备的测线,一端为DB9一端为用颜色区分的多个鳄鱼夹,线(鳄鱼夹)颜色和功能定义详见“设备组成和接口定义”。充电和通讯接口VH03使用标......
  • 多功能采集仪VH03
    河北稳控科技手持振弦传感器VH03型多功能采集仪,是专用的多类型传感器手持式读数仪,主测传感类型为单弦式振弦传感器,辅测传感类型为电压、电流传感。采用32位ARM处理器和大尺......
  • 实现app短信验证码功能这样做就很简单!
    现在大多数app短信验证码服务都是由第三方服务商提供的,企业不需要对接运营商就可以让app具备三网发送短信功能,现在app短信验证码使用场景很多,比如说注册、登陆、支付等场景,a......
  • 麒麟操作系统更改默认PIN码
    麒麟操作系统更改默认开机PIN码的操作过程​1、点击左下角的开始菜单,找到终端安全登录2、打开终端安全登录系统以后,点击修改PIN码,输入原PIN码(默认12345678),开机密码为新PIN......
  • Linux mv命令格式及功能详解!
    与其它操作系统不同,在Linux系统中大部分操作都可以通过命令来完成,只要我们熟练掌握各种各样的命令,使用linux系统时就会变得游刃有余。那么Linux系统中mv命令的作用是什......
  • Adobe photoshop CS5 新功能官方视…
    3DRepoussePart1ContentAwareFillNewHDRProHDRSingleImageCameraRawNoiseRemovalCameraRawProcess......
  • 完美的文字彩色化功能:comment styler
     这是我自己的使用案例,把文字标记为红色,非常方便重点阅读理解。支持所有编程语言和非编程语言。我很喜欢。 ......