计算机操作系统(第三版) 第4章

合集下载

计算机操作系统(第三版)汤小丹第4章

计算机操作系统(第三版)汤小丹第4章

注意:1)“本章要点”部分,用红字标注的不是期末考试出题范围。

2)“习题部分”用蓝字标注的是重点习题,期末考试50%的题目是这些习题的原题。

红字标注的习题期末考试不考,仅供考研的同学参考。

3)大部分习题答案只给出要点,同学们可以自行适当补充,但一定要简明扼要。

4)如“本章要点”部分用红字标注的非考试内容,在“习题”部分有相关的重点习题,则对该部分内容只需做该习题即可。

------------------------------------------------------------第四章存储器管理要点4.1 存储器的层次结构理解P116图4-1的存储器层次结构,知道这种结构从经济上考虑,具有好的性能/价格比。

了解P117-118高速缓存CACHE和磁盘缓存,知道它们使用的淘汰算法与虚拟内存的页面置换算法是基本相同的。

4.2 程序的装入和链接这一小节的内容是一些重要的专业常识。

应了解本小节介绍的各种装入和链接方法,要求结合Windows操作系统及C 语言的实际去理解上述装入和链接方法(联系实际部分可上网查询)。

4.3 连续分配方式通用操作系统大都不用连续分配方式,有些嵌入式OS可能使用这种分配方式。

这一小节只需阅读P121-124即可。

4.4 基本分页存储管理方式这是本章最重要的一小节,要求全读。

重点理解页面、物理块、页表、页表的访存、物理地址、逻辑地址、快表(TLB)等概念及相互关系。

4.5 基本分段存储管理方式阅读4.5.1,知道为什么要分段。

阅读4.5.2 知道分段的原理。

考研的同学要知道段表、地址变换,知道分段和分页的主要区别。

阅读4.5.3 知道分段有利于信息共享,知道“纯代码”的概念。

阅读4.5.4 知道什么是段页式存储。

需要补充说明的是:教材说过,分段方便编程,主要是指方便汇编语言程序员,和设计高级语言编译器的程序员。

对使用高级语言进行应用编程的程序员来说,段是透明的,一般不能用高级语言代码去操作段。

《操作系统》第三版第四章课后答案

《操作系统》第三版第四章课后答案
设备驱动程序是驱动外部设备和相应的控制器等,使其可以直接和内存进行I/O操作的子程序的集合。它是I/O进程与设备控制器之间的通信程序
2、Spooling技术
也备的技术
六、简答题
1、操作系统设备管理的目标是什么?
*提高I/O设备和CPU的利用率
*提高I/O速度
*为用户使用设备提供方便、统一的界面
3、引入Spooling系统有哪些好处
*提高了I/O速度,将独占设备改造成共享设备,实现了虚拟设备功能,提高了系统的并行性,减少了用户进程的等待时间,提高了进程的推进速度。
5、什么是设备独立性?引入设备独立性有哪些好处?
*设备独立性也称设备无关性,指应用程序与实际使用的物理设备无关,亦即它独立于具体的物理设备。用户程序中使用逻辑设备,由操作系统完成逻辑设备到物理设备的映射
第四章(与磁盘相关不做)
一、填空题
1:字符、块、字符
2:设备驱动
3:缓冲
5:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程
6:中断源
7:中断、DMA、通道
二、单项选择题
1、B
2、B C
6、C
7、A
三、多项选择题
1、BC
2、AB
3、AB DE
四、判断题
1、×
2、√
3、√
4、×
五、名词解释
1、设备驱动程序
*好处:设备分配时的灵活性、易于实现I/O重定向、方便用户编程

计算机操作系统第四章-存储器管理

计算机操作系统第四章-存储器管理

第四章存储器管理第0节存储管理概述一、存储器的层次结构1、在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。

但是,在现有技术条件下,任何一种存储装置,都无法从速度、容量、是否需要电源维持等多方面,同时满足用户的需求。

实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。

2、各种存储器•寄存器、高速缓存Cache:少量的、非常快速、昂贵、需要电源维持、CPU可直接访问;•内存RAM:若干(千)兆字节、中等速度、中等价格、需要电源维持、CPU可直接访问;•磁盘高速缓存:存在于主存中;•磁盘:数千兆或数万兆字节、低速、价廉、不需要电源维持、CPU 不可直接访问;由操作系统协调这些存储器的使用。

二、存储管理的目的1、尽可能地方便用户;提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。

(注意cpu和主存储器,这两类资源管理的区别)2、存储管理的主要功能:•地址重定位•主存空间的分配与回收•主存空间的保护和共享•主存空间的扩充三、逻辑地址与物理地址1、逻辑地址(相对地址,虚地址):用户源程序经过编译/汇编、链接后,程序内每条指令、每个数据等信息,都会生成自己的地址。

●一个用户程序的所有逻辑地址组成这个程序的逻辑地址空间(也称地址空间)。

这个空间是以0为基址、线性或多维编址的。

2、物理地址(绝对地址,实地址):是一个实际内存单元(字节)的地址。

●计算机内所有内存单元的物理地址组成系统的物理地址空间,它是从0开始的、是一维的;●将用户程序被装进内存,一个程序所占有的所有内存单元的物理地址组成该程序的物理地址空间(也称存储空间)。

四、地址映射(变换、重定位)当程序被装进内存时,通常每个信息的逻辑地址和它的物理地址是不一致的,需要把逻辑地址转换为对应的物理地址----地址映射;地址映射分静态和动态两种方式。

1、静态地址重定位是程序装入时集中一次进行的地址变换计算。

物理地址= 重定位的首地址+ 逻辑地址•优点:简单,不需要硬件支持;•缺点:一个作业必须占据连续的存储空间;装入内存的作业一般不再移动;不能实现虚拟存储。

计算机操作系统第三版课后答案汤子瀛等著全部的

计算机操作系统第三版课后答案汤子瀛等著全部的
3.程序并发执行为什么会产生间断性?
因为程序在并发执行过程中存在相互制约性.
4.程序并发执行为何会失去封闭性和可再现性?
因为程序并发执行时,多个程序共享系统中的各种资源,资源状态需要多个程序来改变,即存在资源共
享性使程序失去封闭性;而失去了封闭性导致程序失去可再现性.
5.在操作系统中为什么要引入进程概念?它会产生什么样的影响?
---多道批处理系统则具有调度性,无序性和多道性的特点;
b.单道批处理系统是在解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾中形成的,旨在提高系统
资源利用率和系统吞吐量,但是仍然不能很好的利用系统资源;
---多道批处理系统是对单道批处理系统的改进,其主要优点是资源利用率高,系统吞吐量大;缺点是
---进程通信的任务是实现在相互合作进程之间的信息交换.
---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个
作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新
进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.
14设备管理有哪些主要功能?其主要任务是什么?
a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于
描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行
的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.
b.在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别
证明:
R(S2)={x,a}, W(S2)={b}, R(S3)={x}, W(S3)={c};

《计算机操作系统教程》第三版答案

《计算机操作系统教程》第三版答案

第一章操作系统概述课后习题1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处 ? 答:便于设计安全可靠的操作系统。

管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。

通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。

如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。

2. 何为特权指令?举例说明之。

如果允许用户执行特权指令,会带来什么后果?答:只能在态下才能执行的指令称为特权指令。

如开关中断、置程序状态寄存器等。

如果允许用户执行特权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。

3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ? 答:中断向量在机器中的位置是由硬件确定的。

例如,在 INTEL 80x86 CPU 中,内存空间0x00000——0x003ff为中断向量空间。

4. 中断向量的内容是由操作系统程序确定的还是由用户程序确定的?答:中断向量的内容是由操作系统程序确定的。

向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。

5. 中断向量内的处理机状态位应当标明是管态还是目态 ? 为什么? 答:应当标明是管态。

该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。

6. 中断和程序并发之间的关系是什么?答:中断是程序并发的必要条件。

如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。

7. 说明“栈”和“堆”的差别.答:栈是一块按后进先出(FIFO)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。

计算机操作系统第三版全部

计算机操作系统第三版全部

3.1.2 进程的定义
• 进程与程序的区别与联系: ★进程是一个动态概念,程序是一个静态概念。 ★进程具有并发特征,而程序没有。 ★进程是竞争计算机系统资源的基本单位。 ★不同的进程可以包含同一程序,只要该程序所
对应的数据集不同。
Redhat Linux 9.0的窗口界面
2.4.1Linux的命令控制界面
Linux的命令一般包含9类: 1 系统维护与管理命令 2 文件操作与管理命令 3 进程管理命令 4 磁盘及设备管理命令 5 用户管理命令 6 文档操作命令 7 网络通信命令 8 程序开发命令 9 X Windows管理命令
操作系统原理 Operating System
第1章 操作系统绪论
• 操作系统的概念 • 操作系统的历史 • 操作系统的特性 • 操作系统的基本类型 • 操作系统的功能 • 计算机硬件简介 • 算法的描述 • 研究操作系统的观点
1.1 操作系统概念
• 操作系统的地位 • 引入操作系统的目的 • 操作系统定义
• 操作系统的产生
– 手工操作阶段 – 成批处理阶段 – 执行系统阶段
• 操作系统的完善
– 多道批处理系统 – 分时系统 – 实时处理系统 – 通用操作系统
• 操作系统的发展
– 网络操作系统 – 分布式操作系统 – 多处理机操作系统 – 单用户操作系统 – 面向对象操作系统 – 嵌入式操作系统 – 智能卡操作系统
1.4.6 网络操作系统
建立在宿主操作系统之上,提供网络通讯、网 络资源共享、网络服务的软件包。
host1 NOS1
DOS3 host3
host2 NOS2
Printer
网络操作系统的目标
• 相互通讯
• 资源共享(信息,设备)

计算机操作系统第三版课后习题答案

第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统进行比较。

答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。

(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。

不像分时系统那样能向终端用户提供数据和资源共享等服务。

(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。

因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。

13.OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。

第二章6.试从动态性,并发性和独立性上比较进程和程序?答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。

进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。

(2)并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。

(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。

对于未建立任何进程的程序,不能作为独立单位参加运行。

7.试说明PCB的作用,为什么说PCB是进程存在的惟一标志?答:PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

第4章存储管理ppt课件计算机操作系统第三版


第4章 存储管理
4.2.1 单一连续分区存储管理 单一连续分区存储管理把整个内存空间的最低端
和最高端作为操作系统区,中间作为用户程序区。在 DOS操作系统中就采用了这种方法,如图4.7所示。
第4章 存储管理
0xFFF… 操作系统
0xFFF… ROM中 的 设 备
驱动程序
分配给用户 作业的空间
用户程序
动态地址再定位的优点是:程序在执行期间可以换 入和换出内存,这样可以缓解内存紧张的矛盾;可以把 内存中的碎片集中起来,以充分利用空间;不必给程序 分配连续的内存空间,可以较好地利用较小的内存块; 若干用户可以共享同一程序。
动态地址再定位的缺点:需要附加的硬件支持, 而且实现存储管理的软件算法比较复杂。
未用 0
用户程序
位 于 RAM中 的 操作系统 0
图4.7 单一连续分区存储管理的分配方式
第4章 存储管理
这种存储分配思想将内存分为两个区域:系统区 和用户区。应用程序装入到用户区,可使用用户区全 部空间。
单一连续分区的优点是:简单,适用于单用户、 单任务的操作系统(比如CP/M和DOS操作系统),不需 要复杂的硬件支持。
静态重定位示意图
0
0
100 LOAD 1,500
5 000
500 12 345
5 100LOAD 1,5 500
700 程 序 A的 地 址 空 间
5 500
12 345
5 700
程 序 A的 存 储 空 间
第4章 存储管理
静态地址再定位的优点是:无需硬件地址变化机 构支持,容易实现;无需硬件支持,它只要求程序本 身是可再定位的;它只对那些要修改的地址部分做出 某种标识,再由专门设计的程序来完成。在早期的操 作系统中大多数都采用这种方法。

os4-计算机操作系统原理分析(第三版)-丁善镜-清华大学出版社

常见的原则有:时间片原则、优先级原则、任务紧迫性、重要性原则等等。
进程调度方式实现进程之间的轮流交替的一个方面。
4.进程调度算法 ➢ 先来先服务算法(FCFS) ➢ 时间片轮转算法(RR)
RR算法需要设计一个定时器,定时器的值为0时将产生一个中断。系统 用分配给进程的时间片设置定时器的初值,之后进程开始执行。进程运 行过程有三种可能情况:
同时到达。已知它们都是纯计算性的简单任务,运行时需要占用处理器时间分别 是10、3、2和5。把到达时间(提交时间)设为0。
TA=10,TB=13,TC=15,TA=20,TB=3,TC=5,
TD=20;
TD=10;
T=( TA+ TB+ TC+ TD)/4 T=( TA+ TB+ TC+TD)/4
• 一个作业的响应比R是
作业等待时间 作业大小
其中,作业等待时间 = 系统当前时间 - 作业提交时刻
• HRN思想 • HRN特点
• 综合了先来先服务算法(FCFS)和短作业优先算法(SJF) • 响应比R与作业的大小成反比,体现SJF算法 • 响应比R与作业的等待时间成正比,体现FCFS算法
4.作业调度算法例子
例4-3:假定某分时系统有3个同时依次到达的进程A、B和C,它们的任务如下:
进程A: 2ms CPU 10ms I/O 2ms CPU
进程B: 9ms CPU 5ms I/O 2ms CPU
进程C: 8ms CPU
在采用简单RR算法,时间片为3ms时,请画出RR算法的调度图。
➢ 响应时间
简单RR算法,假设就绪队列中的进程数为n,时间片为T,那么,响 应时间R,则
9:00
0.8

精品文档-计算机操作系统(第三版)汤小丹-第4章


第四章 存储器管理
0 模块 A CALL B;
L-1 Return;
0 M-1
模块 B CALL C; Return;
0 模块 C
N-1 Return; (a) 目标模块
0 模块 A JSR“L”
L-1 Return; L 模块 B JSR“L+ M”
L+M-1 Return; L+M 模块 C
L+M+-N1 Return;
第四章 存储器管理

编译程序 产生的目 标模块
内存
链接 程序
装入模块
装入 程序

第一步
第二步
第三步
图4-2 对用户程序的处理步骤
第四章 存储器管理
4.2.1 程序的装入
1.绝对装入方式(Absolute Loading Mode)
在编译时,如果知道程序将驻留在内存的什么位置,那么, 编译程序将产生绝对地址的目标代码。例如,事先已知用户程 序(进程)驻留在从R处开始的位置,则编译程序所产生的目标模 块(即装入模块)便从R处开始向上扩展。绝对装入程序按照装入 模块中的地址,将程序和数据装入内存。装入模块被装入内存 后,由于程序中的逻辑地址与实际内存地址完全相同,故不须 对程序和数据的地址进行修改。
第四章 存储器管理
CPU寄 存 器 主存
辅存
寄存器 高速缓存
主存 磁盘缓存
磁盘 可移动存储介质
图4-1 计算机系统存储层次示意
第四章 存储器管理
4.1.2 主存储器与寄存器
1.主存储器
主存储器(简称内存或主存)是计算机系统中一个主要部件, 用于保存进程运行时的程序和数据,也称可执行存储器,其容 量对于当前的微机系统和大中型机,可能一般为数十MB到数GB, 而且容量还在不断增加,而嵌入式计算机系统一般仅有几十KB 到几MB。CPU的控制部件只能从主存储器中取得指令和数据,数 据能够从主存储器读取并将它们装入到寄存器中,或者从寄存 器存入到主存储器。CPU与外围设备交换的信息一般也依托于主 存储器地址空间。由于主存储器的访问速度远低于CPU执行指令 的速度,为缓和这一矛盾,在计算机系统中引入了寄存器和高 速缓存。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内存

编译程序产 生的目标模 块
链接 程序
装入模块
装入 程序

第一步
第二步
第三步
图 4-1 对用户程序的处理步骤
第四章 存 储 器 管 理
4.1.1 程序的装入
1. 绝对装入方式(Absolute Loading Mode)
程序中所使用的绝对地址,既可在编译或汇编时给 出, 也可由程序员直接赋予。 但在由程序员直接给出绝对 地址时, 不仅要求程序员熟悉内存的使用情况,而且一旦 程序或数据被修改后,可能要改变程序中的所有地址。因 此,通常是宁可在程序中采用符号地址,然后在编译或汇 编时,再将这些符号地址转换为绝对地址。
第四章 存 储 器 管 理
4.2.4 可重定位分区分配
1. 动态重定位的引入
操作系统 用户程序1
10 KB 用户程序3
30 KB 用户程序6
14 KB 用户程序9
26 KB
操作系统 用户程序1 用户程序3 用户程序6 用户程序9
80 KB
(a) 紧凑前
(b) 紧凑后
图 4-8 紧凑的示意
第四章 存 储 器 管 理
现代的大多数计算机系统,都支持非常大的逻辑地址空 间(232~264)。在这样的环境下,页表就变得非常大,要占用相 当大的内存空间。例如,对于一个具有32位逻辑地址空间的 分页系统,规定页面大小为4 KB即212 B,则在每个进程页表 中的页表项可达1兆个之多。又因为每个页表项占用一个字 节, 故每个进程仅仅其页表就要占用4 KB的内存空间,而且 还要求是连续的。 可以采用这样两个方法来解决这一问题: ① 采用离散分配方式来解决难以找到一块连续的大内存空间 的问题:② 只将当前需要的部分页表项调入内存, 其余的页 表项仍驻留在磁盘上,需要时再调入。
第四章 存 储 器 管 理
(2) 进程的换入。 系统应定时地查看所有进程的状态,从中找出“就绪” 状态但已换出的进程,将其中换出时间(换出到磁盘上)最 久的进程作为换入进程,将之换入,直至已无可换入的进 程或无可换出的进程为止。
第四章 存 储 器 管 理
4.3 基本分页存储管理方式
4.3.1 页面与页表
第四章 存 储 器 管 理
第四章 存储器管理
4.1 程序的装入和链接 4.2 连续分配方式 4.3 基本分页存储管理方式 4.4 基本分段存储管理方式 4.5 虚拟存储器的基本概念 4.6 请求分页存储管理方式 4.7 页面置换算法 4.8 请求分段存储管理方式
第四章 存 储 器 管 理
4.1 程序的装入和链接
第四章 存 储 器 管 理
4.2 连续分配方式
4.2.1 单一连续分配
这是最简单的一种存储管理方式,但只能用于单用户、 单任务的操作系统中。采用这种存储管理方式时,可把内 存分为系统区和用户区两部分,系统区仅提供给OS使用, 通常是放在内存的低址部分;用户区是指除系统区以外的 全部内存空间, 提供给用户使用。
3. 进程的换出与换入
(1) 进程的换出。
每当一进程由于创建子进程而需要更多的内存空间, 但又无足够的内存空间等情况发生时,系统应将某进程换 出。 其过程是:系统首先选择处于阻塞状态且优先级最低 的进程作为换出进程,然后启动盘块,将该进程的程序和 数据传送到磁盘的对换区上。若传送过程未出现错误,便 可回收该进程所占用的内存空间,并对该进程的进程控制 块做相应的修改。
页表 页号 块号
02 13 26 38 49 5
… …

n页
图 4-11 页表的作用
内存
0 1 2 3 4 5 6 7 8 9 10
第四章 存 储 器 管 理
4.3.2 地址变换机构
1. 基本的地址变换机构 越界中断
页表寄存器
页表始址 页表长度

逻辑地址L 页号(3) 页内地址

页号
块号
0
1
1
2
3
请求分配 u.size 分区
检索空闲分区链(表)
无法分配

返回
空闲分区 总和≥u.size?
是 进行紧凑形 成连续空闲区
修改有关的 数据结构

找到大于u.size
的可用区否?
按动态分区方式 进行分配
修改有关的 数据结构
图 4-10 动态分区分配算法流程图
返回分区号 及首批
第四章 存 储 器 管 理
3. 动态运行时装入方式(Denamle Run-time Loading)
动态运行时的装入程序,在把装入模块装入内存 后,并不立即把装入模块中的相对地址转换为绝对地 址,而是把这种地址转换推迟到程序真正要执行时才进 行。因此, 装入内存后的所有地址都仍是相对地址。
第四章 存 储 器 管 理
4.1.2 程序的链接
第四章 存 储 器 管 理
4.2.2 固定分区分配
1. 划分分区的方法 (1) 分区大小相等, 即使所有的内存分区大小相等。 (2) 分区大小不等。
第四章 存 储 器 管 理
2. 内存分配
图 4-4 固定分区使用表
第四章 存 储 器 管 理
4.2.3 动态分区分配
1. 分区分配中的数据结构
(1) 空闲分区表。 (2) 空闲分区链。
第四章 存 储 器 管 理
2. 可重定位装入方式(Relocation Loading Mode)
0
1000 LOAD 1,2500
2500 365
5000 作业地址空间
10000 11000 LOAD 1,2500
12500
365
15000
内存空间
图 4-2 作业装入内存时的情况
第四章 存 储 器 管 理
第四章 存 储 器 管 理
2) 页面大小
在分页系统中的页面其大小应适中。页面若太小,一方 面虽然可使内存碎片减小,从而减少了内存碎片的总空间, 有利于提高内存利用率,但另一方面也会使每个进程占用较 多的页面,从而导致进程的页表过长,占用大量内存; 此 外,还会降低页面换进换出的效率。然而,如果选择的页面 较大,虽然可以减少页表的长度,提高页面换进换出的速 度,但却又会使页内碎片增大。因此,页面的大小应选择得 适中,且页面大小应是2的幂,通常为512 B~8 KB。
1) 方便编程 2) 信息共享 3) 信息保护 4) 动态增长 5) 动态链接
1. 页面
1) 页面和物理块
分页存储管理,是将一个进程的逻辑地址空间分成若干个 大小相等的片,称为页面或页,并为各页加以编号,从0开 始,如第0页、第1页等。相应地,也把内存空间分成与页面相 同大小的若干个存储块,称为(物理)块或页框(frame), 也同样 为它们加以编号,如0#块、1#块等等。在为进程分配内存 时,以块为单位将进程中的若干个页分别装入到多个可以不相 邻接的物理块中。由于进程的最后一页经常装不满一块而形成 了不可利用的碎片,称之为“页内碎片”。








N
N个字节可用 N


2
2
00ຫໍສະໝຸດ 图 4-5 空闲链结构第四章 存 储 器 管 理
2. 分区分配算法 (1) 首次适应算法FF。 (2) 循环首次适应算法,该算法是由首次适应算法演变而成的。 (3) 最佳适应算法。
第四章 存 储 器 管 理
从头开始查表
3. 分区分配操作
1) 分配内存


0 1 2 3 4 5 6 7
114 115
1468
内存空间
第四章 存 储 器 管 理
逻辑地址
外部页号 外部页内地址 页内地址
P1
P2
d
外部页表寄存器 +

… …
外部页表
页表
b
d
物理地址
图 4-15 具有两级页表的地址变换机构
第四章 存 储 器 管 理
2. 多级页表
对于32位的机器,采用两级页表结构是合适的;但对于 64位的机器,如果页面大小仍采用4 KB即212 B,那么还剩 下52位, 假定仍按物理块的大小(212位)来划分页表,则将 余下的42位用于外层页号。此时在外层页表中可能有4096 G个页表项, 要占用16384 GB的连续内存空间。 必须采用 多级页表,将外层页表再进行分页,也是将各分页离散地 装入到不相邻接的物理块中,再利用第2级的外层页表来映 射它们之间的关系。
1. 静态链接方式(Static Linking)
0 模块A
0
CALL B;
L-1 Return;
L-1
模块 A
JSR“L” Return;
0 模块B
L
模块 B
M-1
CALL C; Return;
0 模块C
JSR“L+M” L+M-1 Return;
L+M 模块C
N-1 Return;
L+M+N-1 Return;
对于64位的计算机,如果要求它能支持264(=1844744 TB)规模的物理存储空间,则即使是采用三级页表结构也是 难以办到的;而在当前的实际应用中也无此必要。
第四章 存 储 器 管 理
4.4 基本分段存储管理方式
4.4.1 分段存储管理方式的引入
引入分段存储管理方式, 主要是为了满足用户和程序员 的下述一系列需要:
2. 动态重定位的实现
0 100
LOAD1,2500
2500 365
相对地址 2500
重定位寄存器 10000
10000 10100
LOAD1,2500

12500
365
5000 作业J
15000
处理机一侧 存储器一侧
主存
图 4-9 动态重定位示意图
相关文档
最新文档