第3章存储管理 本章讲述内容: 3.1存储管理综述: 3.2固定分区存储管理; 3.3可变分区存储管理; 3.4分页式存储管理, 3.5分段式存储管理; 3.6虚拟存储与请求页式存储管理
第3章 存储管理 3.1 3.2 3.3 本章讲述内容: 3.4 存储管理综述; 固定分区存储管理; 可变分区存储管理; 分页式存储管理; 3.5 分段式存储管理; 3.6 虚拟存储与请求页式存储管理
3.1存储管理综述 ·3.1.1存储器的层次结构 。目前,计算机采用的都是以存储器为中心的体系结构。存储器负责存放整个系统 的程序与数据,是重要的系统资源。 存取速度容量价格 。在考虑计算机存储器的设计时,必须顾及 存器 “价格”、“容量”、“访问时间”这三个重 快 小 高速缓存 贵 要特性。各种实现技术间往往有以下的关系: 存取时间越快,每“位”的价格就越高;容量 越大,每“位”的价格就越低:容量越大,存 主存储器 取速顶麓整慢价格”、“容量”、“访 磁盘 慢 大 问时间”三者间寻求折中,采用存储器的 层次结构。这时,从上往下就有:每“位” 磁带 的价格递减:存储容量递增;存取时间递 增。。这种层次结构中,CPU可直接到寄存器、高速缓冲存储器、内存储器这三层上访 问数据,不能直接到磁盘和磁带上访问数据,那里的数据只有转移到内存储器后,才能 接受CPU的处理 。这种层次结构中,容量较大、价格便宜的慢速存储器(如磁盘),可作为容量较 小、价格较贵的快速存储器的后备。这正是存储管理中虚拟存储技术的实现基础
3.1 存储管理综述 • 3.1.1 存储器的层次结构 目前,计算机采用的都是以存储器为中心的体系结构。存储器负责存放整个系统 的程序与数据,是重要的系统资源。 . 磁带 磁盘 主存储器 高速缓存 寄 存器 快 慢 存取速度 小 大 容量 昂 贵 便 宜 价格 . 在考虑计算机存储器的设计时,必须顾及 “价格”、“容量”、“访问时间”这三个重 要特性。各种实现技术间往往有以下的关系: 存取时间越快,每“位”的价格就越高;容量 越大,每“位”的价格就越低;容量越大,存 取速度就越慢。 . 只能在“价格”、“容量”、“访 问时间”三者间寻求折中,采用存储器的 层次结构 。这时,从上往下就有:每“位” 的价格递减;存储容量递增;存取时间递 增。. 这种层次结构中,容量较大、价格便宜的慢速存储器(如磁盘),可作为容量较 小、价格较贵的快速存储器的后备。这正是存储管理中虚拟存储技术的实现基础。 这种层次结构中,CPU可直接到寄存器、高速缓冲存储器、内存储器这三层上访 问数据,不能直接到磁盘和磁带上访问数据,那里的数据只有转移到内存储器后,才能 接受CPU的处理。
·3.1.2高速缓冲存储器的工作原理 .在CPU与内存间,可安排“高速 缓冲存储器”,简称为“高速缓存”。 字传送 块传送 。 相对于内存,高速缓存容量小、 高速 存取速度快。在它里面只存放内存中的 CPU 缓冲存储器 主存储器 一小部分数据内容。 ·当CPU试图访问内存中的某一个字时,就总是先检查该 字是否在高速缓存中。如果在,就直接将它从高速缓存传送给 地址主存储器 CPU:如果不在,则先把内存中包含此字在内的一块数据读入 0 高速缓存,然后再把所需的字从高速缓存传送给CPU。 。内存和高速缓存间是 2 块 (K个字) 以“块”为单位传递数据的, 高速缓存与CPU之间则是以槽号 标签 高速缓冲存储器 “字”为单位传递数据的。 。当CPU需存取内存中某 2 块里的某字,而那块不在存储 槽中,就把那块传到一槽里。 高速缓存中的槽都有标签,用© 块(K个字) 块 来标识这个存储槽在当前存放 的是内存中的哪一块。 2n
• 3.1.2 高速缓冲存储器的工作原理 高速 CPU 缓冲存储器 主存储器 字传送 块传送 相对于内存,高速缓存容量小、 存取速度快。在它里面只存放内存中的 一小部分数据内容。 . 在CPU与内存间,可安排“高速 缓冲存储器”,简称为“高速缓存”。 . . 当CPU试图访问内存中的某一个字时,就总是先检查该 字是否在高速缓存中。如果在,就直接将它从高速缓存传送给 CPU;如果不在,则先把内存中包含此字在内的一块数据读入 高速缓存,然后再把所需的字从高速缓存传送给CPU。 槽号 标签 0 1 2 C-1 0 1 2 3 块 块 (K个字) 2 n -1 块(K个字) 地址 高速缓冲存储器 主存储器 内存和高速缓存间是 以“块”为单位传递数据的, 高速缓存与CPU之间则是以 “字”为单位传递数据的。 . . 当CPU需存取内存中某 块里的某字,而那块不在存储 槽中,就把那块传到一槽里。 高速缓存中的槽都有标签,用 来标识这个存储槽在当前存放 的是内存中的哪一块
。3.1.3 存储管理的功能 1.内存的分配与回收 这是存储管理必须承担的任务,它应该随时记录内存的使用情况:根据用户程序的 需要分配存储区;在用户程序运行完后,及时收回存储区,以提高内存的使用效率。 2.存储保护和共享 ·存储保护涉及两个问题,一是确保用户进程的程序不侵犯操作系统:二是确保两 个用户程序之间不相互干扰。 存储共享是指允许多个进程访问内存中的同一部分,这是提高存储利用率的一种 措施。 3.地址定位 为适应多道程序设计环境,为使内存中的程序能够移动,存储管理必须对用户程序 逻辑地址空间中的地址实施重新定位,以保证进程程序的正确运行。 4.存储扩充 存储扩充的含义是通过技术手段,给用户造成有一个非常大的内存的虚幻感觉,但 其实并没有扩大实际内存的容量。存储管理若能做到这种意义下的存储扩充,那么就能 使用户程序的规模不受内存实际容量的限制。存储扩充无疑是一件非常好的事情。这是 虚拟存储要讨论的话题
• 3.1.3 存储管理的功能 存储扩充的含义是通过技术手段,给用户造成有一个非常大的内存的虚幻感觉,但 其实并没有扩大实际内存的容量。存储管理若能做到这种意义下的存储扩充,那么就能 使用户程序的规模不受内存实际容量的限制。存储扩充无疑是一件非常好的事情。这是 虚拟存储要讨论的话题。 1. 这是存储管理必须承担的任务,它应该随时记录内存的使用情况;根据用户程序的 需要分配存储区;在用户程序运行完后,及时收回存储区,以提高内存的使用效率。 内存的分配与回收 2. 存储保护和共享 存储共享是指允许多个进程访问内存中的同一部分,这是提高存储利用率的一种 措施。 . 存储保护涉及两个问题,一是确保用户进程的程序不侵犯操作系统;二是确保两 个用户程序之间不相互干扰。 . 3. 地址定位 为适应多道程序设计环境,为使内存中的程序能够移动,存储管理必须对用户程序 逻辑地址空间中的地址实施重新定位,以保证进程程序的正确运行。 4. 存储扩充
3.2固定分区存储管理 .2.1地址重定位 1. 几个概念 。绝对地址(或物理地址) ·绝对地址空间(或物理地址空间) 。相对地址(或逻辑地址) 。相对地址空间(或逻辑地址空间) 2.地址重定位的定义 把用户程序指令中的相对地址变换成为所在绝对地址空间中的绝对地址的过程,称 为“地址重定位” 内存储器 0 内存储器 内存储器 0 操作系统 用户程序A的 操作系统 操作系统 20KB 相对地址空间 20KB 20KB 22KB 0 20KB+100 XXEXXXX 20KB+100 XXXXXX 22KB+100 XXXXXX 100 21KB 21KB 23KB IKB 22KB 22KB 24KB 2KB 20KB+3000 cal100· 20KB+3000 cal20580- 22KB+3000 cal22628- 3000 call 100 23KB 23KB 25KB 3KBL
把用户程序指令中的相对地址变换成为所在绝对地址空间中的绝对地址的过程,称 为“地址重定位”。 3.2 固定分区存储管理 • 3.2.1 地址重定位 1. 几个概念 2. 地址重定位的定义 0 100 1KB 2KB 3000 3KB XXXXXX call 100 用户程序A的 相对地址空间 XXXXXX call 100 内存储器 0 20KB 20KB+100 21KB 22KB 20KB+3000 23KB 操作系统 X XXXXXX call 20580 内存储器 0 20KB 20KB+100 21KB 22KB 20KB+3000 23KB 操作系统 XXXXXX call 22628 内存储器 0 22KB 22KB+100 23KB 24KB 22KB+3000 25KB 操作系统 20KB . 绝对地址(或物理地址) . 绝对地址空间(或物理地址空间) . 相对地址(或逻辑地址) . 相对地址空间(或逻辑地址空间)