第4章存储器管理(4)

合集下载

计算机操作系统第四章存储器管理复习资料

计算机操作系统第四章存储器管理复习资料

第四章存储器管理第一部分教材习题(P159)15、在具有快表的段页式存储管理方式中,如何实现地址变换?答:在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。

进行地址变换时,首先利用段号S,将它与段长TL进行比较。

若S<TL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。

在段页式系统中,为了获得一条指令或数据,须三次访问内存。

第一次访问内存中的段表,从中取得页表始址;第二次访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。

显然,这使访问内存的次数增加了近两倍。

为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。

每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。

19、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器有以下特征:多次性:一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。

多次性是虚拟存储器最重要的特征,任何其他的存储器管理方式都不具有这一特征。

因此,认为虚拟存储器是具有多次性特征的存储器系统。

对换性:允许在作业的运行过程中进行换进、换出,也即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进);甚至还允许将暂不运行的进程调至外存,待它们重又具备运行条件时再调入内存。

计算机操作系统 第四版 汤小丹 梁红兵 哲凤屏_第4章(20162017)

计算机操作系统 第四版 汤小丹 梁红兵 哲凤屏_第4章(20162017)

4.3.4 基于顺序搜索的动态分区分配算法
2. 循环首次适应(next fit ,NF)算法
在为进程分配内存空间时,不再是每次都从链首开 始查找,而是从上次找到的空闲分区的下一个空闲分 区开始查找,直至找到一个能满足要求的空闲分区, 从中划出一块与请求大小相等的内存空间分配给作业。 该算法应设置一起始查寻指针,用于指示下一次起始 查寻的空闲分区,并采用循环查找方式。
的适当位置。
0
1000 L O A D 1 ,2 5 0 0
2500 365
10000
1 1 0 0 0 L O A D 1 ,2 5 0 0
12500
365
5000 作业地址空间
15000
内存空间
把在装入时对目标程 序中指令和数据地址的 修改过程称为重定位。
地址变换通常在进程装入 时依次完成的,以后不再改 变,静态重定位。
4.2 程序的装入和链接
将一个用户源程序变为内存中的一个可执行程序,通常 有以下几个步骤:
编译,由编译程序(Compiler)将用户源代码编译成若干 个目标模块(Object Module);
链接,由链接程序(Linker)将编译后形成的一组目标模 块,以及它们所需要的库函数链接在一起,形成一个完 整的装入模块(Load Module);
4.1.2 主存储器与寄存器
1.主存储器
简称内存或主存,用于保存进程运行时的程序和数据。
CPU的控制部件只能从主存储器中取得指令和数据,数 据能够从主存储器读取并将它们装入到寄存器中,或者 从寄存器存入到主存储器。 CPU与外围设备交换的信息一般也依托于主存储器地址 空间。由于主存储器的访问速度远低于CPU执行指令的 速度,为缓和这一矛盾,在计算机系统中引入了寄存器 和高速缓存。

操作系统第17讲 习题三new

操作系统第17讲 习题三new

A,B(1)提高系统吞吐量(2)提高存储空
间的利用率(3)降低存储费用(4)提高换入换出
的速度。
10
东北大学秦皇岛分校计算机与通信工程学院
第四章 存储器管理
5、对重定位存储管理方式,应(A),当程序执行时,
是由(B)与(A)中的(C)相加得到(D),用(D)
来访问内存。
A(1)在整个系统中设置一个重定位寄存器;(2)
Ⅰ. 修改页表 Ⅱ.磁盘I/O Ⅲ.分配页框
A.仅Ⅰ、Ⅱ B.仅Ⅱ C.仅Ⅲ D.Ⅰ、Ⅱ和Ⅲ
21
东北大学秦皇岛分校计算机与通信工程学院
第四章 存储器管理
10.当系统发生抖动(thrashing)时,可用采取
的有效措施是()
Ⅰ. 撤销部分进程
Ⅱ.增加磁盘交换区的容量
Ⅲ.提高用户进程的优先级
A.仅Ⅰ B.仅Ⅱ C.仅Ⅲ D.仅Ⅰ、Ⅱ
空闲区大小递减
8
东北大学秦皇岛分校计算机与通信工程学院
第四章 存储器管理
3、在回收内存时能出现下述几种情况(1)释放区与插
入点前一分区F1相邻,此时应(A);(2)释放区与
插入点后一分区F2相临界,此时应(B);(3)释放
区不与F1和F2相邻接,此时应(C)。
A,B,C:(1)为回收分区建立一分区表项,填上分
第四章 存储器管理
1、在动态分区式内存管理中,倾向于优先使用低
地址部分的空闲区的算法是(A);能使内存空间
中空闲分区分布得较均匀的算法是(B);每次分
配时,把即能满足需要,又能最小的空间区分配给
进程的算法是(C)
A,B,C:(1)最佳适应算法;(2)最坏适
应算法;(3)首次适应算法(4)循环首次适应算

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第4章4-5节基本分页、分段存储管理方式

第4章4-5节基本分页、分段存储管理方式
页表
页号
计算公式:物理地址 块号 页面大小+块内地址 块号*页面大小 计算公式:物理地址=块号 页面大小 块内地址
0 1
块 号 2 4 6 7
逻辑地址3500:
页号:3500/1024=3 对应物理块号:7 页内地址:428
2 3
故物理地址为: 7*1024+428=7596
逻辑地址4500:
页号:4500/1024=4
第四章 存 储 器 管 理
问题:
在分页系统中,内存的利用率是不是就 可以达到100%了? 由于进程的最后一页经常装不满一块 而形成了不可利用的碎片,称之为“页内 页内 碎片”。 碎片
第四章 存 储 器 管 理
2) 页面大小 在分页系统中的页面其大小应适中: 页面 太小 太大 页面数 分配时间 多 少 长 短 内存碎片 减小 变大 内存利 用率 高 低
n
1742 外部页表
1023 0 1 2 第n页页表 1468
图 4-4 两级页表结构 1023
… … … 内存空间
114 1151468第四章 存 Nhomakorabea 器 管 理
(2)地址变换机构
外部页号 P1 外部页内地址 页内地址 P2 d
逻辑地址
外部页表寄存器

… 外部页表

… 页表
b d 物理地址
图 4-5 具有两级页表的地址变换机构
第四章 存 储 器 管 理
4.4.2 地址变换机构
假设页面大小为1K 假设页面大小为
1. 基本的地址变换机构
越界中断 逻辑地址 3100 页表寄存器
页表始址 页表长度

页号 3
页内地址 28
块号 页号 0 1 2 3 … 页表 物理地址 9244 1 3 4 9

计算机操作系统(习题集)第四章 答案

计算机操作系统(习题集)第四章 答案

第四章存储器管理一、单项选择题1、存储管理的目的是(C )。

A.方便用户B.提高内存利用率C.方便用户和提高内存利用率D.增加内存实际容量2、在( A)中,不可能产生系统抖动的现象。

A.固定分区管理B.请求页式管理C.段式管理D.机器中不存在病毒时3、当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为(B )。

A.源程序B.目标程序C.可执行程序D.非执行程序4、可由CPU调用执行的程序所对应的地址空间为(D )。

A.符号名空间B.虚拟地址空间C.相对地址空间D.物理地址空间5、存储分配解决多道作业[1C]划分问题。

为了实现静态和动态存储分配,需采用地址重定位,即把[2C]变成[3D],静态重定位由[4D]实现,动态重定位由[5A]实现。

供选择的答案:[1]:A 地址空间 B 符号名空间 C 主存空间 D 虚存空间[2]、[3]: A 页面地址 B 段地址 C 逻辑地址 D 物理地址 E 外存地址 F 设备地址[4]、[5]: A 硬件地址变换机构 B 执行程序 C 汇编程序D 连接装入程序E 调试程序F 编译程序G 解释程序6、分区管理要求对每一个作业都分配(A )的内存单元。

A.地址连续B.若干地址不连续C.若干连续的帧D.若干不连续的帧7、(C )存储管理支持多道程序设计,算法简单,但存储碎片多。

A.段式B.页式C.固定分区D.段页式8、处理器有32位地址,则它的虚拟地址空间为( B)字节。

A.2GBB.4GBC.100KBD.640KB9、虚拟存储技术是( A)。

A.补充内存物理空间的技术B.补充相对地址空间的技术C.扩充外存空间的技术D.扩充输入输出缓冲区的技术10、虚拟内存的容量只受( D)的限制。

A.物理内存的大小B.磁盘空间的大小C.数据存放的实际地址D.计算机地址字长11、虚拟存储技术与(A )不能配合使用。

A.分区管理B.动态分页管理C.段式管理D.段页式管理12、(B )是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据。

第4章存储器管理-题库及参考答案

第4章存储器管理-选择题参考答案一、选择题1.【2011统考】在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是()A.编辑B.编译C.链接D.装载2.下面关于存储管理的叙述中,正确的是()A.存储保护的目的是限制内存的分配B.在内存为M、有N个用户的分时系统中,每个用户占M/N的内存空间C.在虚拟内存系统中,只要磁盘空间无限大,作业就能拥有任意大的编址空间D.实现虚拟内存管理必须有相应硬件的支持3.在使用交换技术时,若一个进程正在(),则不能交换出主存。

A.创建B.I/O操作C.处于临界段D.死锁4.在存储管理中,采用覆盖与交换技术的目的是()A.节省主存空间B.物理上扩充主存容量C.提高CPU效率D.实现主存共享5.【2009统考】分区分配内存管理方式的主要保护措施是()A.界地址保护B.程序代码保护C.数据保护D.保护6.【2010统考】某基于动态分区存储管理的计算机,其主存容量为.55MB(初始为空),采用最佳适配算法,分配和释放的顺序为;分配15MB,分配30MB,释放15MB,分配8MB,分配6MB,此时主存中最大空闲分区的大小是()A.7MBB.9MBC.10MBD.15MB7.段页式存储管理中,地址映射表是()A.每个进程一张段表,两张页表B.每个进程的每个段一张段表,一张页表C.每个进程一张段表,每个段一张页表D.每个进程一张页表,每个段一张段表8.内存保护需要由()完成,以保证进程空间不被非法访问A.操作系统B.硬件机构C.操作系统和硬件机构合作D.操作系统或者硬件机构独立完成9.存储管理方案中,()可采用覆盖技术A.单一连续存储管理B.可变分区存储管理C.段式存储管理D.段页式存储管理10.在可变分区分配方案中,某一进程完成后,系统回收其主存空间并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是()A.无上邻空闲区也无下邻空闲区B.有上邻空闲区但无下邻空闲区C.有下邻空闲区但无上邻空闲区D.有上邻空闲区也有下邻空闲区 11.设内存的分配情况如图所示。

第4章 存储器管理_习题

第4章存储器管理4.4自测题4.4.1基本题一.判断题(正确的在括号中记√,错误的记×)1.为了减少内部碎片,页应偏小为好。

( )2.为了减少缺页中断率,页应该小一些。

( )3.为提高对换空间的利用率,一般对其使用离散的分配方式。

( )4.用户程序中出错处理部分不必常驻内存。

( )5.使用预分页的原因是每个进程在最初运行时需要一定数量的页面。

( )6.可变分区法可以比较有效地消除外部碎片,但不能消除内部碎片。

()7.分页存储管理方案易于实现用户使用内存空间的动态扩充。

( )8.LRU页面调度算法总是选择在主存驻留时间最长的页面被淘汰。

( )9.最佳适应算法比首次适应算法具有更好的内存利用率。

( )10.请求分段存储管理中,分段的尺寸要受主存空间的限制。

( )二.单项选择题,在每小题的四个备选答案中选出一个正确答案,并将其代码写在题干后面的括号内。

不选、错选或多选者该题无分。

1.在可变式分区管理中,最佳适应算法是将空白区在空白区表中按______次序排列。

A.地址递增B.地址递减C.容量递增D.容量递减2.动态重定位技术依赖于_______.A.重定位装入程序B.重定位寄存器C.地址机构D.目标程序3.请求分页存储管理方案的主要特点是__________。

A.不要求将作业装入内存B.不要求将作业全部装入内存C.不要求使用联想存储器D.不要求缺页中断的处理4.在存储管理方案中,___________可与覆盖技术配合。

A.页式管理B.段式管理C.段页式管理D.可变分区管理5.一个计算机系统虚存的最大容量是由__________决定的。

A.主存的容量B.辅存的容量C.主存容量+辅存容量D.计算机的地址机构6.在存储管理中,采用覆盖与交换技术的目的是_________。

A.节省主存空间B.物理上扩充主存容量C.提高CPU效率D.实现主存共享7.在可变式分区分配方案中,只需要进行一次比较就可以判定是否满足作业对主存空间要求的是______。

分页与分段存储管理


分页与分段存储管理
4.4 基本分段存储管理方式
4.4.1 分段存储管理方式的引入
分页与分段存储管理
引入分段存储管理方式, 主要是为了满足用户和程序员
1)
2) 信息共享
3) 信息保护
4)
5) 动态链接
分页与分段存储管理
4.4.2 分段系统的基本原理
1. 分段
分页与分段存储管理
0
作业空间 (MAIN)=0 段表
内存空间
0
3 0K 0 2 0K 0 1 5K 0
段号 段长 基址 (X)=1 0 1 2 (S)=3 3 3 0K 2 0K 4 0K 8 0K
(MAIN)=0 3 0K (X)=1 2 0K (D)=2 1 5K (S)=3 1 0K
4 0K
8 0K
(D)=2
1 5K 1 20 K 1 0K 1 50 K
分页与分段存储管理
第四章 存储器管理
4.1 程序的装入和链接
4.2 连续分配方式
4.3 基本分页存储管理方式
4.4 基本分段存储管理方式
上节回顾
1. 四种内存连续分配方式: 单一连续分配:
分页与分段存储管理
固定分区分配:
动态分区分配:FF、CF、BF分配算法 动态重定位分区分配:重定位寄存器 2. 基本分页 页与物理块 地址结构
分页与分段存储管理
4.3 基本分页存储管理方式
分页存储管理,是将一个进程的逻辑地址空间分成若干个大小 相等的片,称为页面或页,并为各页加以编号,从0开始,如 第0页、第1页等。 相应地,也把内存空间分成与页面相同大小的若干个存储块, 称为(物理)块或页框(frame), 也同样为它们加以编号,如0#块、 1 # 块等等。在为进程分配内存时,以块为单位将进程中的若 干个页分别装入到多个可以不相邻接的物理块中。

第四章 存储器管理(1-2)


物理地址空间
Load A data1
100
Load A 200
1100
Load A 1200
编译 连接
data1 3456 200 3456
地址映射
1200 3456 。 。
第四章 存 储 器 管 理
地址映射的方式
静态地址映射: 1)程序被装入内存时由操作系统的连接装入程序完成 程序的逻辑地址到内存地址的转换; 2)地址转换工作是在程序执行前由装入程序集中一次 完成。 假定程序装入内存的首地址为BR,程序地址为VR,内存 地址为MR,则地址映射按下式进行:MR=BR+VR
② 便于实现对目标模块的共享:将内存中的一个模块可 以连接到多个程序中。 ③ 要运行的程序都必须在装入时,全部连接调入内存。
第四章 存 储 器 管 理
3. 运行时动态链接(Run-time Dynamic Linking) 动态链接方式:将对某些模块的链接推迟到执行时才实施, 亦即,在执行过程中,当发现一个被调用模块尚未装 入内存时,立即由OS去找到该模块并将之装入内存, 把它链接到调用者模块上。特点如下: 特点:凡在执行过程中未被用到的目标模块,都不会被调 入内存和被链接到装入模块上,这样不仅可加快程序 的装入过程,而且可节省大量的内存空间。
硬件支持:在动态地址重定位机构中,有一个基地址寄存器BR和一 个程序地址寄存器VR,一个内存地址寄存器MR。
转换过程:MR=BR+VR
第四章 存 储 器 管 理
把程序装入起始地址为100的内存区
0 100
重定位寄存器 1000

MOV r1,[50]
0 1000 1100
… …
MOV r1பைடு நூலகம்[50]
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013-6-21 10
2013-6-21
11
2. 改进型Clock置换算法 由访问位A和修改位M可以组合成下面四种类型的页面:
1类(A=0, M=0): 表示该页最近既未被访问, 又未被修改,
是最佳淘汰页。
2类(A=0, M=1): 表示该页最近未被访问, 但已被修改,
并不是很好的淘汰页。 3类(A=1, M=0): 最近已被访问, 但未被修改, 该页有 可能再被访问。 4类(A=1, M=1): 被访问。
2013-6-21
16

程序编制方法1: for i:=1 to 100 for j:=1 to 100 A[i,j]:=0; 程序编制方法2: for j:=1 to 100 for i:=1 to 100 A[i,j]:=0;
100
100*100
2013-6-21
17
影响缺页次数的因素
(1) 分配给进程的物理块数 (2) 页本身的大小 (3) 程序的编制方法 (4) 页淘汰算法
2013-6-21
18
练习
在页式虚存管理系统中,假定占有m块的进程(初始 所有块均为空),在长为p的页访问串中具有n个不同 页号(n>m ),试给出缺页次数的上限和下限。 页故障数的上限是P,下限是n,因为FIFO淘汰掉 最先进来的页,而不管其页面以后是否会用到。 极端情况下,可能刚淘汰掉的页又接着要使用。 故页故障上限为P;而不同的页至少有一次页故障 ,故下项为n。
4
0
5000
40
R
2013-6-21 28
练习
段号 存在位 内存始址 段长 存取控制 其他信息 0 1 2 0 1 1 500 1000 3000 100 W 30 R 200 E
3 4
1 0
8000 5000
80 40
R R
(1)STORE R1,[0,70] (2) STORE R1,[1,20] (3) LOAD R1,[3,20] (4) LOAD R1,[3,100] (5) JMP [2,100]
2013-6-21
15
练习
内存分配1个物理块装数据,初始时矩阵数据均不在 内存;页面大小为100个整数;矩阵A100X100按行存放 。这两个程序执行时分别会产生多少次缺页中断? 程序编制方法1: for i:=1 to 100 for j:=1 to 100 A[i,j]:=0; 程序编制方法2: for j:=1 to 100 for i:=1 to 100 A[i,j]:=0;
段名
存在 位P
增补 位
外存 始址
20
2、缺段中断机构
检查内存中是否有足够的空闲空间 ①若有,则装入该段,修改有关数据结构, 中断返回 ②若没有,检查内存中空闲区的总和是否 满足要求,是则应采用紧缩技术,转① ; 否则,淘汰一(些)段,转①
2013-6-21
21
访问[s][w]
3. 地址变换机构
w≤ 段长? 是 符合存取方式? 是 段S在主存? 是 修改访问字段, 如写 访问, 置修改位=1
页面走向 4 3 2 4 4 3 4 3 2
1
1 3 2
4
3
5
4
5 4 3
3
2
2 4 3
1
2 1 3
5
1 4 2
1 4 3
Байду номын сангаас
2 1 5
M=4时:
页面走向 4 3 2 4 4
3 1 4 3 5 4 3 2 1 5
4
3 2
4
3 2
4
3 5
4 3 5
4
3 1
5 3 1
M=3时缺页次数为10, 缺页率为10/12;M=4时 缺页次数为8,缺页率为 8/12。增加分配给作业 的内存块数,减少了缺 页次数,降低了缺页率 。

2013-6-21
14
4.7.2 其它置换算法

2、页面缓冲置换算法(PBA) 按照FIFO算法选择需要淘汰的页面,该被淘汰的页面将放 入两个链表中的一个:若页面未被修改过,则将它放入空 闲页面链表的末尾,否则放入已修改页面的链表的末尾。 而这两个表都驻留在内存当中,当该进程以后再次访问这 些页面时,只需花费较少的开销,便可使这些页面返回该 进程的驻留集中。但当修改页面达一定数量时,再将它们 一起(即成簇)写回到磁盘,以减少磁盘的I/O的操作次数, 从而减少磁盘访问时间。
2013-6-21
24
2) 共享段的回收 当共享此段的某进程不再需要该段时,应将该段释放, 包括撤在该进程段表中共享段所对应的表项,以及执行 count∶=count-1操作。若结果为0,则须由系统回收该共 享段的物理内存,以及取消在共享段表中该段所对应的表 项, 表明此时已没有进程使用该段;否则(减1结果不为0),





共享段表

图 4-33 共享段表项
2013-6-21 23
2. 共享段的分配与回收 1) 共享段的分配
在为共享段分配内存时,对第一个请求使用该共享段的进程,由
系统为该共享段分配一物理区,再把共享段调入该区,同时将该区的始 址填入请求进程的段表的相应项中,还须在共享段表中增加一表项,填 写有关数据,把count置为1;之后,当又有其它进程需要调用该共享段 时,由于该共享段已被调入内存,故此时无须再为该段分配内存,而只 需在调用进程的段表中,增加一表项,填写该共享段的物理地址;在共 享段的段表中,填上调用进程的进程名、存取控制等,再执行 count∶=count+1操作,以表明有两个进程共享该段。
环0 调用 环1 调用 环2 返回 环2 数据访问 (a) 程序间的控制传输 (b) 数据访问 返回 环1 数据访问 环0
图 4-34 环保护机构
2013-6-21 27
练习
假如一个程序的段表如下,其中存在位为1表示段在 内存,存取控制字段中w表示可写,R表示可读,E 表示可执行。对下面的指令在执行时会产生什么样 的结果 段号 存在位 内存始址 段长 存取控制 其他信息 0 1 2 3 0 1 1 1 500 1000 3000 8000 100 W 30 80 R R 200 E
则只是取消调用者进程在共享段表中的有关记录。
2013-6-21
25
3. 分段保护
1) 越界检查
2) 存取控制检查
(1) 只读 (2) 只执行 (3) 读/写
2013-6-21
26
3) 环保护机构 一个程序可以调用驻留在相同环或较高特权环中的服务。 一个程序可以访问驻留在相同环或较低特权环中的数 据。
2013-6-21 4
2) 栈
4
7
0
7
1 1 7 0 4
0 0 1 7 4
1 1 0 7 4
4
7 4
0 7 4
7 0 4
2 2 1 0 7 4
1 1 2 0 7 4
2 2 1 0 7 4
6 6 2 1 0 7
图 4-29 用栈保存当前使用页面时栈的变化情况
2013-6-21 5
课后习题23

LRU算法:4,3,2,1,4,3,5,4,3,2,1,5,M=3时
2013-6-21
9

CLOCK算法的循环链表类似与时钟,用 一个指针指向当前最先进入内存的页面。 当发生缺页中断并要求页面淘汰时,首先 检查指针指向的页面的R位。如果它的R位 为“0”,则就把它淘汰,让新的页面进 入它原来占用的内存块,并把指针按顺时 针方向向前移动一个位置;如果它的R位 为“1”,则将其R位清为“0”,然后把 指针按顺时针方向向前移动一个位置,去 重复这一过程,直到找到一个R位为“0” 的页面为止。该算法又称为最近未用算法 (NRU)
4.7.2 最近最久未使用(LRU)置换算法

最近最久未用(LRU)置换算法的着眼点是在要进 行页面置换时,检查这些页面的被访问时间,总是 把最长时间未被访问过的页面置换出去。这是一种 基于程序局部性原理的置换算法。也就是说,该算
法认为如果一个页面刚被访问过,那么不久的将来
被访问的可能性就大;否则被访问的可能性就小。
一步,如果仍失败,必要时再重复第二步,此时就一定能找
到被淘汰的页。
2013-6-21 13
4.7.2 其它置换算法

1、最少使用(LFU)置换算法 最少使用(LFU)置换算法的着眼点是考虑内存块中页面 的使用频率,它认为在一段时间里使用得最多的页面,将 来用到的可能性就大。因此,当要进行页面淘汰时,总是 把当前使用得最少的页面淘汰出去。 要实现LFU页面淘汰算法,应该为每个内存中的页面设置 一个计数器。对某个页面访问一次,它的计数器就加1。经 过一个时间间隔,把所有计数器都清0。产生缺页中断时, 比较每个页面计数器的值,把计数器取值最小的那个页面 淘汰出去。
1
2013-6-21
4.7.2 最近最久未使用(LRU)置换算法
1. LRU(Least Recently Used)置换算法的描述
引用率 7 0 7 7 0
1 7 0 1
2 2 0 1
0
3 2 0 3
0
4 4 0 3
2 4 0 2
3 4 3 2
0 0 3 2
3
2
1 1 3 2
2
0 1 0 2
1
7 1 0 7
缺页中断 保护性中断 8020 越界中断 3100
2013-6-21 29
练习
在内存管理中,“内零头”和“外零头”各指的是 什么?在固定式分区分配、动态分区分配、页式虚 拟存储系统、段式虚拟存储系统中,存在何种零头 ?为什么?
内零头是指分配给作业的存储空间中未被利用的部分,外 零头是指系统中无法利用的小存储块。 在固定分区分配中,一个作业的大小并不一定与分区大小 相等,因此分区中有一部分存储空间被浪费掉了。所以固 定式分区分配中存在内零头。 在动态分区分配中,按照一定的分配算法从系统中找出一 个能满足作业需求的空闲分区分配给作业,如果这个空闲 分区的容量比作业申请的空间大则将该区一分为二,一部 分分配给作业,剩下的一部分仍然留作系统的空闲分区。 由此可知动态分区存在外零头。
相关文档
最新文档