操作系统存储管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统原理
Principles of Operating System
第4章 存储管理
存储器是计算机的记忆部件,计算机系统的主要 用途是执行程序,在执行程序时,这些程序及其 所访问的数据必须在内存里。由于内存通常太小 不足以永久地容纳所有数据和程序,因此计算机 系统必须提供外存(如硬盘)以扩充内存的技术。
区,其中一个分区为要求的大小并标记为“已分配”,
将该分区分配给进程,而另一个分区为余下部分并标
记为“空闲”。当进程运行完成时,回收进程释放分
区时要考虑一个重要问题,就是将相邻的空闲分区合
并成一个大的空闲分区。
12
1.空闲分区链表
8Baidu Nhomakorabea
4.2 分区式存储管理
内存分配方式可分为连续分配方式和离散分配方 式,本节将讨论连续分配方式。分区式存储管理 是连续分配方式,为一个进程分配一个连续的存 储空间。分区式存储管理支持多道程序系统和分 时系统,但内存分配存在不可利用的内存空间, 即碎片问题。碎片一般可分为内碎片和外碎片。 前者是指分区内不可利用的内存空间,后者是指 分区之间难以利用的小空闲分区。内碎片和外碎 片都可以降低内存的利用率,但外碎片对系统的 危害更大。关于碎片问题将在各种内存分配方式 中详细讨论。
9
4.2.1单一连续分配
单一连续分配内存分配优缺点 如下:
优点:实现简单,不需要复杂 的软、硬件支持。
缺点:存在内碎片问题。资源 利用率低,由于存储资源利用 率低而造成其他资源利用率低 (如CPU、外设等),特别是 不允许多个进程并发运行,这 是不容忽视的缺点。CP/M和 DOS2.0以下的版本就是采用 此种方式。
6
优点:简单,无需增加硬件就 可以实现。
缺点:要求连续的内存存储空 间,程序装入内存后就不可移 动,且难以做到程序和数据的 共享,内存的利用率差。
②动态重定位 如图4-3所示,进程装入内存
时不定位,在指令执行期间 CPU每次访问内存时进行重定 位,这种定位方法需要硬件的 支持,系统中需设置一个地址 变换机构。
合。物理地址空间也叫存储空间,存储空间与地址空间既相互关 联,又相互独立,是内存管理的核心概念。
5
4.1.4 重定位
为使程序正确执行。一个程 序装入内存,要进行逻辑地 址到物理地址的重定位,实 现从逻辑地址到物理地址的 变换,重定位可分为静态重 定位和动态重定位。
①静态重定位
进程装入内存时,由装入程 序对进程中的指令和数据的 地址进行修改,将程序中的 逻辑地址变换成物理地址。 即物理地址=基址+逻辑地 址。
编排的地址。逻辑地址也叫相对地址或虚拟地址。 ②逻辑地址空间 逻辑地址空间就是某程序的逻辑地址的集合,逻辑地址空间可简
称为地址空间。 ③物理地址 物理地址就是进程中的指令和数据在内存中的地址,指令和数据
存放在内存中的内存单元编号。物理地址也叫绝对地址或实地址。 ④物理地址空间 物理地址空间是指进程在内存中一系列存储信息的物理单元的集
10
4.2.2固定分区分配
固定分区(fixed partitioning)也叫静态 分区,固定分区存储管理是实现多道 程序设计和分时系统的简单存储管理 技术。如图4-5所示,固定分区就是预 先把内存空间分割成若干个连续区域, 我们称为分区。每个分区的大小可以 相同也可以不同,但分区大小固定不 变,操作系统占用一个分区,其余每 个分区只能存储一个进程,而且进程 也只能在它所驻留的分区中运行。固 定分区的优缺点
内容。为用户提供比内存物理空间大得多的地址空间。 比较典型的内存扩充是虚拟存储器。 4.地址映射 地址映射就是将进程的逻辑地址变换为内存中的物理地 址。我们需要实现从逻辑地址到物理地址的变换,即实 现从虚地址到实地址的变换。这种变换就是重定位。
4
几个重要的概念
①逻辑地址 逻辑地址就是指令在程序中的地址,源程序经编译(或解释)后
优点:易于实现,开销小,内存分配 和回收算法简单,支持多任务。
缺点:存在内碎片问题,造成内存的 浪费。分区总数固定,限制了并发执 行的进程数目。
11
4.2.3 动态分区
动态分区分配是根据进程的实际需要动态创建分区, 为之分配连续的存储空间。分区大小正好适合进程的 需要,可谓“量体裁衣”。与固定分区相比较,动态 分区的优点是没有内碎片。但却引入了另一种碎片, 即外碎片。
(secondary storage)
3
4.1.2 存储管理的功能
1.内存分配和回收 内存的利用率与内存分配的技术、方式和策略有直接关
系。 2.内存保护 内存保护就是确保多个进程都在各自分配到内存区域内
操作,互不干扰,防止一个进程破坏其他进程的信息。 3.内存扩充 内存“扩充”包含了存储器利用的提高和扩充两方面的
在现代计算机系统中,内存是一个关键性的资源。 能否合理而有效地使用它,在很大程度上反映了 操作系统的性能,并直接影响整个计算机系统作 用的发挥。所以,存储管理是目前人们研究操作 系统的中心问题之一。本章我们将讨论多种不同 存储管理方法
2
4.4.1 存储器的层次
三级存储器结构 高速缓存(cache)—内存(primary storage)—外存
系统启动后,初始化程序将内存空间分为两个区域:
系统区和用户区。以后每当有进程申请进入,系统就
划出一个大小合适的区域给进程。每当一个进程完成
后,系统就收回该区域。经过一段时间运行,系统就
产生了多个动态分区。这时动态分区的分区分配方式
就是寻找某个空闲分区,其大小需大于或等于进程的
要求。若是大于进程要求,则将该分区分割成两个分
7
优点:内存空间的占有量可以改变,容易实现共 享。
缺点:需硬件支持,成本增加。
动态重定位是一种允许进程在执行过程中在内存 中移动的技术,必须获得硬件地址变换机构的支 持。在多任务操作系统中,多个进程在内存中并 发执行,进程的创建与撤消,多个进程之间频繁 的上下文切换,其内存分配呈现动态性和随机性。 静态重定位仅适应于连续分配,不能满足多任务 操作系统动态性和随机性的要求,因此多任务操 作系统存储管理适合采用离散分配,必须采用动 态重定位。
Principles of Operating System
第4章 存储管理
存储器是计算机的记忆部件,计算机系统的主要 用途是执行程序,在执行程序时,这些程序及其 所访问的数据必须在内存里。由于内存通常太小 不足以永久地容纳所有数据和程序,因此计算机 系统必须提供外存(如硬盘)以扩充内存的技术。
区,其中一个分区为要求的大小并标记为“已分配”,
将该分区分配给进程,而另一个分区为余下部分并标
记为“空闲”。当进程运行完成时,回收进程释放分
区时要考虑一个重要问题,就是将相邻的空闲分区合
并成一个大的空闲分区。
12
1.空闲分区链表
8Baidu Nhomakorabea
4.2 分区式存储管理
内存分配方式可分为连续分配方式和离散分配方 式,本节将讨论连续分配方式。分区式存储管理 是连续分配方式,为一个进程分配一个连续的存 储空间。分区式存储管理支持多道程序系统和分 时系统,但内存分配存在不可利用的内存空间, 即碎片问题。碎片一般可分为内碎片和外碎片。 前者是指分区内不可利用的内存空间,后者是指 分区之间难以利用的小空闲分区。内碎片和外碎 片都可以降低内存的利用率,但外碎片对系统的 危害更大。关于碎片问题将在各种内存分配方式 中详细讨论。
9
4.2.1单一连续分配
单一连续分配内存分配优缺点 如下:
优点:实现简单,不需要复杂 的软、硬件支持。
缺点:存在内碎片问题。资源 利用率低,由于存储资源利用 率低而造成其他资源利用率低 (如CPU、外设等),特别是 不允许多个进程并发运行,这 是不容忽视的缺点。CP/M和 DOS2.0以下的版本就是采用 此种方式。
6
优点:简单,无需增加硬件就 可以实现。
缺点:要求连续的内存存储空 间,程序装入内存后就不可移 动,且难以做到程序和数据的 共享,内存的利用率差。
②动态重定位 如图4-3所示,进程装入内存
时不定位,在指令执行期间 CPU每次访问内存时进行重定 位,这种定位方法需要硬件的 支持,系统中需设置一个地址 变换机构。
合。物理地址空间也叫存储空间,存储空间与地址空间既相互关 联,又相互独立,是内存管理的核心概念。
5
4.1.4 重定位
为使程序正确执行。一个程 序装入内存,要进行逻辑地 址到物理地址的重定位,实 现从逻辑地址到物理地址的 变换,重定位可分为静态重 定位和动态重定位。
①静态重定位
进程装入内存时,由装入程 序对进程中的指令和数据的 地址进行修改,将程序中的 逻辑地址变换成物理地址。 即物理地址=基址+逻辑地 址。
编排的地址。逻辑地址也叫相对地址或虚拟地址。 ②逻辑地址空间 逻辑地址空间就是某程序的逻辑地址的集合,逻辑地址空间可简
称为地址空间。 ③物理地址 物理地址就是进程中的指令和数据在内存中的地址,指令和数据
存放在内存中的内存单元编号。物理地址也叫绝对地址或实地址。 ④物理地址空间 物理地址空间是指进程在内存中一系列存储信息的物理单元的集
10
4.2.2固定分区分配
固定分区(fixed partitioning)也叫静态 分区,固定分区存储管理是实现多道 程序设计和分时系统的简单存储管理 技术。如图4-5所示,固定分区就是预 先把内存空间分割成若干个连续区域, 我们称为分区。每个分区的大小可以 相同也可以不同,但分区大小固定不 变,操作系统占用一个分区,其余每 个分区只能存储一个进程,而且进程 也只能在它所驻留的分区中运行。固 定分区的优缺点
内容。为用户提供比内存物理空间大得多的地址空间。 比较典型的内存扩充是虚拟存储器。 4.地址映射 地址映射就是将进程的逻辑地址变换为内存中的物理地 址。我们需要实现从逻辑地址到物理地址的变换,即实 现从虚地址到实地址的变换。这种变换就是重定位。
4
几个重要的概念
①逻辑地址 逻辑地址就是指令在程序中的地址,源程序经编译(或解释)后
优点:易于实现,开销小,内存分配 和回收算法简单,支持多任务。
缺点:存在内碎片问题,造成内存的 浪费。分区总数固定,限制了并发执 行的进程数目。
11
4.2.3 动态分区
动态分区分配是根据进程的实际需要动态创建分区, 为之分配连续的存储空间。分区大小正好适合进程的 需要,可谓“量体裁衣”。与固定分区相比较,动态 分区的优点是没有内碎片。但却引入了另一种碎片, 即外碎片。
(secondary storage)
3
4.1.2 存储管理的功能
1.内存分配和回收 内存的利用率与内存分配的技术、方式和策略有直接关
系。 2.内存保护 内存保护就是确保多个进程都在各自分配到内存区域内
操作,互不干扰,防止一个进程破坏其他进程的信息。 3.内存扩充 内存“扩充”包含了存储器利用的提高和扩充两方面的
在现代计算机系统中,内存是一个关键性的资源。 能否合理而有效地使用它,在很大程度上反映了 操作系统的性能,并直接影响整个计算机系统作 用的发挥。所以,存储管理是目前人们研究操作 系统的中心问题之一。本章我们将讨论多种不同 存储管理方法
2
4.4.1 存储器的层次
三级存储器结构 高速缓存(cache)—内存(primary storage)—外存
系统启动后,初始化程序将内存空间分为两个区域:
系统区和用户区。以后每当有进程申请进入,系统就
划出一个大小合适的区域给进程。每当一个进程完成
后,系统就收回该区域。经过一段时间运行,系统就
产生了多个动态分区。这时动态分区的分区分配方式
就是寻找某个空闲分区,其大小需大于或等于进程的
要求。若是大于进程要求,则将该分区分割成两个分
7
优点:内存空间的占有量可以改变,容易实现共 享。
缺点:需硬件支持,成本增加。
动态重定位是一种允许进程在执行过程中在内存 中移动的技术,必须获得硬件地址变换机构的支 持。在多任务操作系统中,多个进程在内存中并 发执行,进程的创建与撤消,多个进程之间频繁 的上下文切换,其内存分配呈现动态性和随机性。 静态重定位仅适应于连续分配,不能满足多任务 操作系统动态性和随机性的要求,因此多任务操 作系统存储管理适合采用离散分配,必须采用动 态重定位。