第五章 存储管理(三)

第五章  存储管理(三)
第五章  存储管理(三)

第五章存储管理(三)

§5.4 页式管理

一、问题提出:

分区管理的优劣:

优:实现方式简单。

劣:①碎片问题;

②分区内,作业或进程连续,作业或进程大小受分区大小限制;

③不利程序段和数据的共享。

二、页式管理的思想:作业分若干个相等的“页”,内存分成相等的“块”,使“页”的大小等于“块”。以“页”为单位,将作业的“页”装入内存的“块”中。

特点:①可以不连续地使用内存;

②实现内外统一管理。

三、分页管理的地址结构:

系统从一维的逻辑地址分出页,地址的高位部分定义成页号,低位部分定义成页内位移量。

页号p 位移量d

(页面地址页内地址)

四、静态页面管理:

1、思想:作业/进程开始执行前,把作业/进程的程序和数据全部装入内存的“块”中,并通过地址变换机构实现了虚

拟地址到内存物理地址的地址映射。

2、分页管理所需的数据结构:

①基本页表:一个作业/进程一张,描述作业/进程的“页”与内存的“块”的对应关系。

内容包括:(页号,块号)。

②请求表:整个系统一张。描述所有作业或进程需求内存的情况(起始、长度)和状态。

内容包括:(作业/进程号,请求页面数,页表起址,长度,状态)。

③存储页面表:整个系统一张。描述内存空间的“块”的使用情况。

位示图法:每位对应一个“块”;该位为“1”,表示对应的“块”已分;该位为“0”,表示对应的“块”未分。

④控制寄存器:记录页表的起始地址和页表的长度。

3.分配算法:

装入程序时查请求表,已知内存需求大小查存储页面表,找出满足需求的空闲分区分配之(不满足,不能分配)建立基本页表,修改请求表,查存储页面表将对应的位改为“已分”。

4.地址变换:

例:执行指令load 1,2500的过程。

①进程运行时将页表的起始地址、长度写入控制寄存器。

②CPU执行到指令load 1,2500时,将逻辑地址2500分解为p=2(页面地址),w=452(位移量或页内地址)。

③查页表,找到“页”2所对应的“块”号为8。

④将“块”号8与位移量w=452并接,形成访问内存的绝对地址:8号×1024/块+452=8644

⑤从8644号单元中取出数据送寄存器1。

优:解决了碎片多的问题,管理简单。

劣:①取一个数据或指令要两次以上访问内存:一次访问页表以确定所取数据或指令的地址;另一次是根据这个地址去取数据或指令。

②一次性调入,受内存可用“块”的限制。

五、动态页面管理:

1.思想:静态页面管理分两类:预调入式和请求调入式。

①请求调入式:

a.当需要执行某条指令而又不在内存时;

b. 当执行某条指令要访问的指令或数据不在内存时;

系统发生一次缺页中断,将外存中相应的页面调入内存。

②预调入式:系统对那些在外存的页进行预调入顺序的估算,估计这些指令或数据被执行或被访问的顺序,依此顺序把相应的页面调入内存。

2.动态页面管理的数据结构:

需解决的两个问题:

①当要访问的页面不在内存-----产生一次缺页中断,将外存中相应的页面调入内存。

②当把需要的页面调入内存,但内存没空----淘汰某些页面。扩充页表:

①增设中断位:表示该页是否在内存。

该位为1----表示该页不在内存;

该位为0----表示该页在内存。

②增设改变位:表示该页是否被修改够,被修改过,当淘汰时要写回外存,未被修改过,当淘汰时不要写回外存。

该位为1----表示该页被修改过;

该位为0----表示该页未被修改过。

③增设引用位:表示该页是否被访问过,被访问过,下次可能还要被访问;未被访问过,久未用的页面可能要淘汰。

该位为1----表示该页被访问过;

该位为0----表示该页未被访问过。

④增设外存地址:表示该页在外存的起始地址。

内容包括:(页号,块号,中断位,改变位,引用位,外存地址)。

页号块号中断位改变位引用位外存地址

3.

3.淘汰算法:

①随机淘汰算法(random glongram):随机地选择某个用户的页面将其淘汰。

②轮转法(round robin):轮流换出内存可用区的页面。

③先进先出(FIFO---first input first output):为调入内存的每一页,以递增方式标明调入顺序,淘汰时选择次序值最小的那一页。

特点:效率不高,存在异常现象----Relady现象。

④最近最少使用(LRU---least frequently used):在发生本次缺页中断之前的最近一段时间内少被使用,在最近的将来被使用的可能性最小,所以可以淘汰。

实现:在页表中增设访问计数器,每访问过一次计数器加1,计数值小的页面被淘汰。

⑤最近未使用(NUR—not used recently):④最近一段时间内没被访问过,在最近的将来被使用的可能性最小,所以可以淘汰。

实现:增加引用位,该位为1----表示该页被访问过;该位为0----表示该页未被访问过。系统周期性地对所有引用位清0。

六、存储保护:

①地址越界保护:页表控制寄存器中的长度与要访问的虚地址进行比较实现。

②页表控制操作:在页表中增加保护位实现。

七、分页管理的优劣:

优:①不要求连续存放,解决碎片问题;

②动态页式管理提供内、外存统一管理的虚存实现方式,提高主存利用率。

劣:①需硬件支持;

②增加系统开销;如缺页中断。

③会产生抖动现象;

④每个作业或进程的最后一页总有一部分空间没被利用。

磁盘存储器管理习题分析

1、系统中磁头停留在磁道号为100的磁道上,这时先后有4个进程提出了磁盘访问请求,要访问磁盘的磁道号按申请到达的先后顺序依次为:55、120、39、110。移动臂的运动方向:沿磁道号递减的方向移动。若分别采用FCFS磁盘调度算法、SSTF算法、SCAN算法时,所需寻道长度分别为多少? FCFS算法:100-55+ 120-55+ 120-39+ 110-39 = 262 SSTF算法:110-100 +120-110 + 120-55 + 55-39 = 101 SCAN算法: 100-55+ 55-39 +110-39 + 120-110 = 142 2、假设磁盘有200个磁道,磁盘请求队列中是一些随机请求,它们照到达的次序分别处于55、58、39、18、90、160、150、38、184号磁道上,当前磁头在100号磁道上,并向磁道号增加的方向上移动。请给出按FCFS、SSTF、SCAN及CSCAN算法进行磁盘调度时满足请求的次序,并计算它们的平

1、在FAT16文件系统中,且每个盘块的大小是512字节, 1)如果每个簇可以有4个盘块,可以管理的最大分区空间是多少? 2)如果每个簇可以有64个盘块,可以管理的最大分区空间又是多少? 答: 1)216 * 4 * 512 = 128M 2)216 * 64 * 512 = 2G 2、某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理盘块空间,试问: 1)位示图需要多少个字? 2)如果b(盘块号), i, j从1开始计数,第i字第j位对应的块号是多少? 3)如果b(盘块号), i, j 从0开始计数,第i字第j位对应的块号是多少? 答: 1)[500/32] =16 2) b = 32* (i-1) +j 3)b= 32*i+j 3、有3200个磁盘块可用来存储信息,如果用字长为16位的字来构造位示图,若位示图部分内容如图所示。 1)位示图共需多少个字? 2)若某文件长度为3200B,每个盘块为512个字节,采用链接结构且盘块从1开始计数,系统将为 其分配哪些磁盘块? 3)试具体说明分配过程。 4)若要释放磁盘的第300块,应如何处理? 1)3200/16=200 2)3200/512 =7 ; 20、24、25、26、27、37和38 3)顺序检索位示图,从中找到第一个值为0的二进制位,得到行号i=2,列号j=4 ;计算出找到的第一个盘块是 B1 = (2-1)*16+4=20 第二个值为0的二进制位,得到行号i=2,列号j=8. ;计算出找到的第一个盘块是 B2=(2-1)*16+8=24 …………. 修改位示图,令Map[2,4]=Map[2,8] = …..=1,并将对应块20、24……. 分配出去。 4)计算出磁盘第300块所对应的二进制位的行号i和列号j : i = (300-1)/16 + 1 = 19 j = (300-1)MOD16 + 1= 12 修改位示图,令Map[19,12]=0,表示对应块为空闲块。

分存储器管理

实验7分页存储器管理 实验性质:验证+设计 建议学时:2学时 一、实验目的 学习i386处理器的二级页表硬件机制,理解分页存储器管理原理。 查看EOS应用程序进程和系统进程的二级页表映射信息,理解页目录和页表的管理方式。 编程修改页目录和页表的映射关系,理解分页地址变换原理。 二、预备知识 阅读本书第6章。了解i386处理器的二级页表硬件机制,EOS操作系统的分页存储器管理方式,以及进程地址空间的内存分布。 三、实验内容 准备实验 按照下面的步骤准备本次实验: 1. 启动OS Lab。 2. 新建一个EOS应用程序项目。 查看EOS应用程序进程的页目录和页表 使用OS Lab打开本实验文件夹中的和文件(将文件拖动到OS Lab窗口中释放即可打开)。仔细阅读这两个文件中的源代码和注释,main函数的流程图可以参见图16-1。 按照下面的步骤查看EOS应用程序进程的页目录和页表: 1. 使用文件中的源代码替换之前创建的EOS应用程序项目中文件中的 源代码。

2. 右键点击“项目管理器”窗口中的“源文件”文件夹节点,在弹出 的快捷菜单中选择“添加”中的“添加新文件”。 3. 在弹出的“添加新文件”对话框中选择“asm 源文件”模板。 4. 在“名称”中输入文件名称“func”。 5. 点击“添加”按钮添加并自动打开文件。 6. 将文件中的源代码复制到文件中。 7. 按F7生成修改后的EOS应用程序项目。 8. 按F5启动调试。 9. 应用程序执行的过程中,会将该进程的二级页表映射信息输出到虚 拟机窗口和OS Lab“输出”窗口中,输出内容如图16-2(a)。 10. 将“输出”窗口中的内容复制到一个文本文件中。 图16-2:(a)EOS应用程序进程的二级页表映射信息(b)有应用程序进程时,系统进程的二级页表映射信息图16-2(a)中第一行是CR3寄存器的值,也就是页目录所在的页框号。第一列是页目录中有效的PDE,第二列是PDE映射的页表中有效的PTE(详细的格式可以参考源代码中的注释)。注意,在标号为0x200的PDE对应的页表中,所有的1024个PTE都是有效的,所以在图中省略了一部分。 根据图16-2(a)回答下面的问题: 应用程序进程的页目录和页表一共占用了几个物理页页框号分别是多少 映射用户地址空间(低2G)的页表的页框号是多少该页表有几个有效的PTE,或者说有几个物理页用来装载应用程序的代码、数据和堆栈页框号分别是多少 查看应用程序进程和系统进程并发时的页目录和页表 需要对EOS应用程序进行一些修改: 1. 结束之前的调试。 2. 取消第121行语句的注释(该行语句会等待10秒)。

第4章存储器管理练习答案

第四章存储器管理 一、单项选择题 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.2GB B.4GB C.100KB D.640KB 9、虚拟存储技术是( A)。 A.补充内存物理空间的技术 B.补充相对地址空间的技术 C.扩充外存空间的技术 D.扩充输入输出缓冲区的技术 10、虚拟内存的容量只受( D)的限制。 A.物理内存的大小 B.磁盘空间的大小 C.数据存放的实际地址 D.计算机地址字长 11、虚拟存储技术与(A )不能配合使用。 A.分区管理 B.动态分页管理 C.段式管理 D.段页式管理

操作系统第五章存储管理测试题

存储管理测试题 一、单项选择题,在四个备选答案中选一个合适的答案 1.属于内存连续分配方式的是(A )。 A.固定分区分配方式B.分段存储管理方式 C.分页存储管理方式D.段页式存储管理方式 2.为进程分配连续内存的是(C )。 A.分页存储管理B.分段存储管理 C.可变分区管理D.段页式存储管理 3.可变分区管理中的(B )算法,空闲区按其大小递增次序组成链。 A.首次适应B.最佳适应C.下次首次适应D.最坏适应 4.关于分段存储管理说法错误的是(C )。 A.便于编程B.便于分段共享C.便于内存分配D.能动态链接 5.在下面的页面置换算法中,(D)是实际上难以实现的 A.先进先出置换算法B.最近最久未使用置换算法 C.clock 置换算法D.最佳置换算法 6.以下不是存储管理处理的功能有(D)。 A.为每个程序安排内存空间B.保护运行程序不受干扰 C.将运行中程序的地址转换成物理地址D.决定哪个进程的程序和数据切换到内存中 二、填空题 1.在分区存储管理中,存储保护有两种方法:界限寄存器法和__存储保护键法_________。2.在分页存储管理方式中,地址结构有页号P和位移量W组成,地址转换时页号P与页表长度L进行比较,如果___ P≥L ________,则产生越界中断。 3.分区存储管理中存在内零头的是___固定分区________分配方式。 4.请求分页存储管理方式中,调入页面的时机可采用两种策略,预先调页和___请求式调页________。 5.动态地址重定位是在___程序的执行________过程中完成地址变换的。 6.一个用户程序中含有代码段A、代码段B和数据段,当该程序在段页式管理机构中运行时,系统至少为该用户程序建立________1___个段表。 三、判断改错题 判断下列各题正误,正者打“√”,误者打“×”,并将具体修改内容写在该题的下面,但有下划线部分不能改。 1.页面最佳置换算法是一种性能最好,且容易实现的算法。 [答案]:×,将“且容易实现”改成“但实际上不能实现”。 2.采用静态重定位方式装入内存的程序可以在内存中被移动。 [答案]:×,将“可以”改成“不可以”。 3.可变式分区分配方式为某作业分配内存时,分配给的区域大小往往大于该作业的大小。[答案]:×,将“往往大于”改成“等于”。 4.请求分页系统中的页表表项中修改位,表示该页调入内存后是否允许修改。 [答案]:×,将“允许修改”改成“已经修改”。 四、简答题 1.什么是动态重定位?它有什么好处? [答案]:动态重定位是指在程序执行过程中进行的地址重定位,即可使装配模块不加任何修

存储器管理练习及参考答案

存储器管理练习及参考答案 一、单项选择题: 1、存储管理的目的是( C )。 A.方便用户 B.提高主存空间的利用率 C.方便用户和提高主存空间的利用率 D.增加主存实际容量 2、( A )存储管理不适合多道程序设计。 A.单一连续分区 B.固定分区存储管理 C.可变分区存储管理 D.页式存储管理 3、静态重定位是在作业的(B )进行的,动态重定位是在作业的( D )进行的。 A.编译过程中 B.装入过程中 C.修改过程中 D.执行过程中 4、提高主存利用率主要是通过( A )实现的。 A.内存分配 B.内存保护 C.地址映射 D.内存扩充 5、多道程序环境中,使每道程序能在不受干扰的环境下运行,主要是通过(C )功能实现的。 A.内存分配 B.地址映射 C.内存保护 D.内存扩充 6、最佳适应分配算法的空闲区是(B )。 A.按大小递减顺序排序 B.按大小递增顺序排序 C.按地址由小到大排列 D.按地址由大到小排列 7、地址重定位的对象是(B )。 A.源程序 B.目标程序 C.编译程序 D.汇编程序 8、采用可变分区存储管理方式管理主存时,使用移动技术可以(B )。 A.加快作业执行速度 B.集中分散的空闲区 C.扩大主存容量 D.加快地址转换 9、如下存储管理方式中,(A )一般采用静态重定位方式进行逻辑地址到物理地址的转换。 A.固定分区存储管理方式 B.段式存储管理方式 C.可变分区存储管理方式 D.页式存储管理方式 10、很好地解决了内存零头问题的存储管理方法是( A )。 A.页式存储管理 B.段式存储管理 C.多重分区管理 D.可变式分区管理 11、设基址寄存器的内容为1000,在采用动态重定位的系统中,当执行指令“Load A,2000”时,操作数的实际地址是( C )。 A.1000 B.2000 C.3000 D.4000 12、对主存的研究可归纳为:主存的分配与回收、地址重定位、存储空间的共享与保护、( B )。 A.地址映射 B.虚拟存储 C.分区管理 D.物理存储器的扩充 13、地址转换或叫重定位的工作是将( C ) A.绝对地址转换为逻辑地址 B.逻辑地址转换为浮动地址 C.逻辑地址转换为绝对地址 D.绝对地址转换为浮动地址 14、段式存储管理中,用于记录作业每个分段在主存中的起始地址和长度的是(B )。 A. 基址寄存器和限长寄存器 B.段表 C. 界限寄存器 D.上、下限寄存器

第4章-存储器管理练习答案

第4章-存储器管理练习答案

第四章存储器管理 一、单项选择题 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.2GB B.4GB C.100KB D.640KB 9、虚拟存储技术是( A)。 A.补充内存物理空间的技术 B.补充相对地址空间的技术

第五章虚拟存储器附答案

第五章虚拟存储器 一、单项选择, 1.虚拟存储器的最大容量______ 。 *A.为内外存容疑之和 B.由计算机的地址结构决定(((实际容量 C.是任意的 D.由作业的地址空间决定 虚拟存储器是利用程序的局部性原理,一个作业在运行之前,没有必要全部装入内存,而只将 当前要运行那部分页面或段装入便可以运行,英他部分放在外部存储器内,需要时再从外存调 入内存中运行,首先它的容虽必然受到外存容量的限制,其次寻址空间要受到计算机地址总线 宽度限制。最大容量(逻借容量)收内外存容捲之和决左,实际容虽受地址结构决泄。 2.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先岀页而淘汰算法, 当执行访问页号序列为1、2、3、4. 1. 2. 5. 1, 2, 3、4. 5. 6时,将产生__________________ 次缺 页中断。(开始为空,内存中无页而,3块物理块一开始会发生三次缺页。) A. 7 B. 8 C. 9 D. 10 3.实现虚拟存储器的目的是______ . A.实现存储保护 B.实现程序浮动 C.扩充辅存容量 D.扩充主存容量 4.______________________________________________________ 作业在执行中发生了缺页中断,经操作系统处理后,应让其执行_________________________ 指令.(书本158页, (2)最后一句话) A.被中断的前一条 B.被中断的 C.被中断的后一条 D.启动时的第一条 5.在请求分页存储管理中,若采用FIFO页而淘汰算法,则当分配的页面数增加时,缺页中 断的次数 _______ c(在最后一题做完后再作答)?F黎祸汉选抒:D A.减少 B.增加 C.无影响 D.可能增加也可能减少 6.虚拟存储管理系统的基础是程序的_________ 理论. A.局部性 B.全局性 C.动态性 D.虚拟性 7.下述______ 页而淘汰算法会产生Belady现象. A.先进先出* B.最近最少使用 C.最近不经常使用 D.最佳 所谓Belady现彖是指:在分页式虚拟存储器管理中,发生缺页时的置换算法采用FIFO (先 进先岀)算法时,如果对一个进程未分配它所要求的全部页而,有时就会出现分配的页而数增 多但缺页率反而提高的异常现象。 二.填空题 1.假设某程序的页面访问序列为1. 2. 3. 4. 5. 2. 3. 1. 2. 3.4. 5. 1. 2. 3.4且开始执行时主存中 没有页而,则在分配给该程序的物理块数是3且采用FIFO方式时缺页次数是—13—;在

chapter4存储器管理(答案)

1.多进程能在主存中彼此互不干扰的环境下运行,操作系统是通过B来实现的。 A.内存分配 B.内存保护 C.内存扩充 D.地址映射 2.动态重定位是在作业的中进行的。 A.编译过程 B.装入过程 C.连接过程 D.执行过程 3.在可变式分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲表,造成空闲数减1的情况是D。 A.无上邻空闲区,也无下邻空闲区 B.有上邻空闲区,但无下邻空闲区 C.有下邻空闲区,但无上邻空闲区 D.有上邻空闲区,也有下邻空闲区 4.什么叫重定位?采用内存分区管理时,如何实现程序运行时的动态重定位?查课本 那么,逻辑地址(2,88)对应的物理地址是178,逻辑地址(4,100)对应的物理地址是产生越界中断。 6.最佳适应算法的空白区是B。 A.按大小递减顺序排列 B.按大小递增顺序排列 C.按地址由小到大排列 D.按地址由大到小排列 7.某页式存储管理系统中,地址寄存器长度为24位,其中页号占14位,则主存的分块大小应该是A字节,程序最多占有D页。 A.210 B.10 C.14 D.214 E.24 F.224 8.设有8页的逻辑空间,每页有1024字节,它们被映射到32块的物理存储区中。那么,逻辑地址的有效位是13位,物理地址至少是15位。 9.外部碎片出现在D。 A.固定分区分配 B.分页存储系统 C.段页式存储系统 D.动态分区分配 E.段式存储系统 10.在采用页式存储管理的系统中,某作业J(或某进程P)的逻辑地址空间位4页(每页2048字节),且已知该作业的页面映像表(即页表)如下表所示。 11位的页表索引和12位的页偏移量。请问:页面长度是多少?在虚地址空间中最多有多少页面(均要求具体的数值)?页面长度:212,虚拟地址空间中最多有211个页面 12.在存储器的可变分区管理中,作业装入内存时,采用的是静态重定位方式。 13.(2002,华中科技大学)某操作系统采用分区存储管理技术。操作系统在低地址占用了100KB的空间,用户区主存从100KB处开始占用512KB。初始时,用户区全部为空闲,分配时截取空闲区的低地址部分作为已分配区。在执行了如下申请、释放操作序列后:

储存器管理复习题.doc

Cache,主存储器,外存储器 主存储器,外存储器,Cache 外存储器,主存储器,Cache 主存储器,Cache,外存储器 第三章存储器管理 单选题 1?在计算机系统中为解决存储器在速度、容量和价格方面的矛盾,采用了多级存储装置, 在层次上组 成一个速度由快到慢,容量由小到大的多层结构。根据速度的由快到慢, 以下正确的序列是—。 A. B ? C ? D ? 2. ______________________________________ 在多道程序系统中,以下说法错误的是 _________________________________________ 。 3?可由CPU 调用执行的程序所对应的地址空间称为 _____ o 4. 程序中由符号名组成的空间称为 ____ 。 5. 程序经编译与链接后,相对地址集合而成的空间称为 ____ o 6?所谓动态重定位,地址变换是发生在__。 A. 程序装入时 B. 程序执行时 C. 程序执行前 D. 程序链接时 A _ 壬命 砧殆RR 宙如詞 EferKfr —L B ] J 口扌 IXw/TJ 口 U 坦卅〒电植存储竪苗梵种 _审户命和杓倚笛 不田知1苗确件 J ? [ ? / 『厂八J y 1 JTM 丁 >!XCT1 D 共亨程序的单—副本比较容易 & 用重定位寄存器方式进行动态重定位,如果寄存器中的地址为1000,指令中的逻辑地 址 是5()0, CPU 执行到该指令时,实际访问的物理地址是 _______ O y H 丁 八 J p A 戸坛珂住 ? I—I TAJ'q-t/ J —源程序 序 D ?执行程序

第五章虚拟存储器附答案

第五章虚拟存储器 一、单项选择题 1. 虚拟存储器的最大容量___。 *A. 为内外存容量之和 B. 由计算机的地址结构决定(((实际容量 C. 是任意的 D. 由作业的地址空间决定 虚拟存储器是利用程序的局部性原理,一个作业在运行之前,没有必要全部装入内存,而只将当前要运行那部分页面或段装入便可以运行,其他部分放在外部存储器内,需要时再从外存调入内存中运行,首先它的容量必然受到外存容量的限制,其次寻址空间要受到计算机地址总线宽度限制。最大容量(逻辑容量)收内外存容量之和决定,实际容量受地址结构决定。2.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1﹑2﹑3﹑4﹑1﹑2﹑5﹑1﹑2﹑3﹑4﹑5﹑6时,将产生___次缺页中断。(开始为空,内存中无页面,3块物理块一开始会发生三次缺页。) A. 7 B. 8 C. 9 D. 10 3. 实现虚拟存储器的目的是___. A.实现存储保护 B.实现程序浮动 C.扩充辅存容量 D.扩充主存容量 4. 作业在执行中发生了缺页中断,经操作系统处理后,应让其执行___指令.(书本158页,(2)最后一句话) A.被中断的前一条 B.被中断的 C.被中断的后一条 D.启动时的第一条 5.在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数________。(在最后一题做完后再作答)答案错误选择:D A.减少 B. 增加 C. 无影响 D. 可能增加也可能减少 6. 虚拟存储管理系统的基础是程序的________理论. A. 局部性 B. 全局性 C. 动态性 D.虚拟性

操作系统原理-第五章 存储管理习题

5.3 习题 5.3.1 选择最合适的答案 1.分页存储管理的存储保护是通过( )完成的. A.页表(页表寄存器) B.快表 C.存储键 D.索引动态重定 2.把作业地址空间中使用的逻辑地址变成内存中物理地址称为()。 A、加载 B、重定位 C、物理化 D、逻辑化 3.在可变分区存储管理中的紧凑技术可以()。 A.集中空闲区 B.增加主存容量 C.缩短访问时间 D.加速地址转换 4.在存储管理中,采用覆盖与交换技术的目的是( )。 A.减少程序占用的主存空间 B.物理上扩充主存容量 C.提高CPU效率 D.代码在主存中共享 5.存储管理方法中,( )中用户可采用覆盖技术。 A.单一连续区 B. 可变分区存储管理 C.段式存储管理 D. 段页式存储管理 6.把逻辑地址转换成物理地址称为()。 A.地址分配 B.地址映射 C.地址保护 D.地址越界 7.在内存分配的“最佳适应法”中,空闲块是按()。 A.始地址从小到大排序 B.始地址从大到小排序 C.块的大小从小到大排序 D.块的大小从大到小排序 8.下面最有可能使得高地址空间成为大的空闲区的分配算法是()。 A.首次适应法 B.最佳适应法 C.最坏适应法 D.循环首次适应法 9.那么虚拟存储器最大实际容量可能是( ) 。 A.1024K B.1024M C.10G D.10G+1M 10.用空白链记录内存空白块的主要缺点是()。 A.链指针占用了大量的空间 B.分配空间时可能需要一定的拉链时间 C.不好实现“首次适应法” D.不好实现“最佳适应法” 11.一般而言计算机中()容量(个数)最多. A.ROM B.RAM C.CPU D.虚拟存储器 12.分区管理和分页管理的主要区别是()。 A.分区管理中的块比分页管理中的页要小 B.分页管理有地址映射而分区管理没有

实验四存储器管理系统

实验四存储器管理 1、目的与要求 本实验的目的是让学生熟悉存储器管理的方法,加深对所学各种存储器管理方案的了解;要求采用一些常用的存储器分配算法,设计一个存储器管理模拟系统,模拟内存空间的分配和释放。 2、实验内容 ①设计一个存放空闲块的自由链和一个内存作业分配表,存放内存中已经存在的作业。 ②编制一个按照首次适应法分配内存的算法,进行内存分配。 ③同时设计内存的回收以及内存清理(如果要分配的作业块大于任何一个空闲块,但小于总的空闲分区,则需要进行内存的清理,空出大块的空闲分区)的算法。 3.实验环境 ①PC兼容机 ②Windows、DOS系统、Turbo c 2.0 ③C语言 4.实验提示 一、数据结构 1、自由链 内存空区采用自由链结构,链首由指针freep指向,链中各空区按地址递增次序排列。初启动时整个用户内存区为一个大空区,每个空区首部设置一个区头(freearea)结构,区头信息包括: Size 空区大小 Next 前向指针,指向下一个空区

Back 反向指针,指向上一个空区 Adderss 本空区首地址 2、内存分配表JOBMAT 系统设置一个MAT,每个运行的作业都在MAT中占有一个表目,回收分区时清除相应表目,表目信息包括: Name 用户作业名 Length 作业区大小 Addr 作业区首地址 二、算法 存储分配算法采用首次适应法,根据指针freep查找自由链,当找到第一块可满足分配请求的空区便分配,当某空区被分配后的剩余空闲空间大于所规定的碎片最小量mini时,则形成一个较小的空区留在自由链中。 回收时,根据MAT将制定分区链入自由链,若该分区有前邻或后邻分区,则将他们拼成一个较大的空区。 当某个分配请求不能被满足,但此时系统中所有碎片总容量满足分配请求的容量时,系统立即进行内存搬家,消除碎片。即将各作业占用区集中下移到用户内存区的下部(高地址部分),形成一片连续的作业区,而在用户内存区的上部形成一块较大的空闲,然后再进行分配。 本系统的主要程序模块包括:分配模块ffallocation,回收模块ffcollection,搬家模块coalesce及命令处理模块menu,menu用以模拟系统的输入,通过键盘命令选择进行分配模块、回收模块、内存查询以及退出的操作。 程序运行的流程如下图:

操作系统考研资料:第五章 存储器管理学习辅导资料

1 第五章 存储器管理 5.1 知识点汇总 1、存储器的层次 操作系统的内存管理功能,使之操作系统中负责管理内存使用的那部分功能子集,又称主存管理。 在现代计算机系统中,存储器是信息外理的来源与归宿,占据重要位置。但是,在现有 技术条件下,任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。 图5-1 三级存储器结构 2、内存管理的目的 ? 主存的分配和管理:当用户需要内存时,系统为之分配相应的存储空间;不需要时,及 时回收,以供其它用户使用。 ? 提高主存储器的利用率:不仅能使多道程序动态地共享主存,提高主存利用率, 最好还

能共享主存中某个区域的信息。 ?“扩充”主存容量:为用户提供比主存物理空间大得多的地址空间,以至使用户感觉他 的作业是在这样一个大的存储器中运行。(虚拟内存技术) ?存储保护:确保多道程序都在各自分配到存储区域内操作,互不干扰,防止一道程序破 坏其它作业或系统文件的信息。 程序的各个阶段:编辑―――编译―――链接―――装入―――运行 1). 编辑阶段:创建源文件 2). 编译阶段:生成目标文件 3). 连接阶段:生成可执行文件 4). 装入阶段:重定位,装入内存 5). 运行阶段:得到结果 图5-2 程序的各个阶段 3、存储器管理的功能 2

存储器管理的功能:内存分配、地址映射、内存保护、内存扩充。 4、存储器有关概念 地址空间:程序用来访问信息所用地址单元的集合。逻辑(相对)地址的集合。由编译程序生成 存储空间:主存中物理单元的集合物理(绝对)地址的集合由装配程序等生成 (1)逻辑地址(相对地址,虚地址)用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。不能用逻辑地址在内存中读取信息 (2)物理地址(绝对地址,实地址):内存中各物理单元的地址是从统一的基地址顺序编址。 (3)重定位:把作业地址空间中使用的逻辑地址变换成内存空间中的物理地址的过程。又称地址映射。 1)绝对装入:编译后,装入前已产生了绝对地址(内存地址),装入时不再作地址重定位。 绝对地址的产生:(1)由编译器完成,编程时使用符号地址(2)由程序员编程完成。 程序中所使用的绝对地址,可在编译或汇编时给出,也可由程序员直接赋予。但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。 3

存储管理习题

存储管理练习题 (一)单项选择题 1.存储管理的目的是(C) A.方便用户 B.提高主存空间利用率 C.方便用户和提高主存利用率 D.增加主存实际容量 2为了实现存储保护,对共享区域中的信息( B )。 A.既可读,又可写 B.只可读,不可修改 C.能执行,可修改 D.既不可读,也不可写 3.单连续存储管理时,若作业地址空间大于用户空间,可用( D) 把不同时工作的段轮流装入主存区执行。 A对换技术 B.移动技术C 虚拟存储技术 D.覆盖技术 4.把一个分区的存储管理技术用于系统时,可采用(B ) 让多个用户作业轮流进入主存储器执行。 A.存储技术

B.对换技术 C.覆盖技术D 虚拟存储技术 5.动态重定位是在作业的(D )中进行的。 A.编译过程 B.装入过程 C.修改过程D 执行过程 6.(A ) 要求存储分配时具有连续性。 A.固定分区存储管理 B.可变分区存储管理 C.段式存储管理 D.段页式存储管理 7.固定分区存储管理一般采用(D ) 进行主存空间的分配。 A.最先适应分配算法 B.最优适应分配算法 C.最坏适应分配算法 D.顺序分配算法 8.(C ) 存储管理支持多道程序设计,算法简单,但存储碎片多。

A.段式 B.页式 C.固定分区 D.段页式 9.固定分区存储管理中存储保护用( B) 关系式进行核对。 A.逻辑地址≤限长寄存器值 B.下限寄存器值≤绝对地址≤上限寄存器值 C.界限地址≤绝对地址≤主存最大地址 D.段内地址≤段表中对应段的限长 10.提高主存利用率主要是通过(A ) 实现的。 A.内存分配 B.内存保护 C.地址转换 D.内存扩充 12.可变分区存储管理时采用的地址转换公式为(C )。A.绝对地址=界限寄存器值+逻辑地址 B.绝对地址=下限寄存器值+逻辑地址 C.绝对地址=基址寄存器值+逻辑地址 D.绝对地址=块号×块长÷页内地址

操作系统存储器管理

存储器管理(固定分区、可变分区与分页式分配算法) 一、目的 本课题实验的目的是,使学生实验存储器管理系统的设计方法;加深对所学各种存储器管理方案的了解;要求采用一些常用的存储器分配算法,设计一个存储器管理模拟系统并调试运行。 二、实验内容 模拟固定分区分内存的动态分配和回收,并编程实现。 三、要求及提示 (1)建立相关的数据结构,作业控制块、已分配分区及未分配分区 (2)实现一个固定分区分配算法(实现多个分区只设置一个后备作业队列, 而每个分区设置一个后备作业队列 ,留给大家实现) (3)实现一个分区回收算法 (4)要求采用一种常用的存储器分配算法,设计一个存储器管理模拟系统。允许进行多次的分配和释放,并可向用户反馈分配和释放情况及当前内存的情况;采用“命令菜单”选择和键盘命令输入的会话方式,根据输入请求调用分配模块,或回收模块,或内存查询模块,或最终退出系统。 (5)编程实现。 (6)工具:C语言或其它高级语言 四、实验报告 1、列出调试通过程序的清单,并附上文档说明。 2、总结上机调试过程中所遇到的问题和解决方法及感想。 五参考代码: // memdos.cpp : 定义控制台应用程序的入口点。 //以下代码为4种分区,8K分区四块,16K分区3块,32分区2块, 64分区1块, 共10块 #include "stdafx.h" #include #include //#include #define TRUE 1 #define FALSE 0 void InitCSolid( ); void ExitSolid(); int MallocArea(int nSize,char* sName);//申请一个分区函数 int FreeArea(char *sName); //释放一个分区函数 void ShowArea( );//显示所有分区状态函数

第四章 存储器管理

第四章存储器管理 单选题 ——存储基本概念—— 1.在计算机系统中为解决存储器在速度、容量和价格方面的矛盾,采用了多级存储装置, 在层次上组成一个速度由快到慢,容量由小到大的多层结构。根据速度的由快到慢,以下正确的序列是_____。 A.Cache,主存储器,外存储器 B.主存储器,外存储器,Cache C.外存储器,主存储器,Cache D.主存储器,Cache,外存储器 2.在多道程序系统中,以下说法错误的是_____。 A.主存空间除装入操作系统核心外,其余部分为多个用户所分享 B.当一个用户程序真正被装入时,才能根据主存的分配情况确定程序被装入的位置 C.一个程序如多次被调入主存,主存的分配状态很不可能相同 D.程序设计是以物理地址来存取数据的,而程序执行必须以逻辑地址来存取数据 3.可由CPU调用执行的程序所对应的地址空间称为_____。 A.作业的地址空间 B.物理存储空间 C.名空间 D.虚拟地址空间 4.程序中由符号名组成的空间称为_____。 A.作业的地址空间 B.物理存储空间 C.名空间 D.虚拟地址空间 5.程序经编译与链接后,相对地址集合而成的空间称为_____。 A.作业的地址空间 B.物理存储空间 C.名空间 D.虚拟地址空间 6.所谓动态重定位,地址变换是发生在_____。 A.程序装入时 B.程序执行时 C.程序执行前 D.程序链接时 7.用重定位寄存器方式进行动态重定位,如果寄存器中的地址为1000,指令中的逻辑地 址是500,CPU执行到该指令时,实际访问的物理地址是_____。 A.1000 B.500 C.1500

D.以上都不对 8.下面所列的存储管理方案中,_____实行的不是动态重定位。 A.固定分区 B.可变分区 C.分页式 D.请求分页式 ——页式存储管理—— 9.在一个页式存储管理的系统中,逻辑地址是3654,页的大小为1K,那么,该逻辑地址 的页号和页内地址分别为_____。 A.3,582 B.3,654 C.4,582 D.4,654 10.逻辑地址是162H,在页式存储管理系统中,页和块的大小均为1K,第0页装入第1 块,第1页装入第4块。那么,在程序执行时,CPU将访问的地址是_____H。 A.1162 B.562 C.1378 D.354 11.关于页式存储管理,以下说法错误的是_____。 A.程序的地址空间是连续的,而其运行的存储空间可以是不连续的 B.页表作为一个数据结构存放在主存,会影响程序执行的速度 C.地址空间的分页大小必须和主存空间的分块的大小一样 D.页表是以映象方式实现动态重定位的重要数据结构 12.页表重定位方式几乎以降低计算速度一半为代价来获取分页存储管理的好处,这是因 为_____。 A.要将逻辑地址换算成页号和页内地址 B.用户程序被装入了不连续的内存块中 C.如果被访问的页不在内存时,必须装入新的页 D.访问内存地址的同时必须访问主存中的页表 13.实现分页存储管理的系统中,分页是由_____完成的。 A.程序员 B.用户 C.操作员 D.系统 14.在一个分页式存储管理系统中,页表的内容如下,若页面大小为4K,则地址转换机构 将相对地址0 A.8192

《存储器管理》word版

第四章存储器管理 4.1 程序的装入和链接 将一个用户源程序变为一个可执行程序,通常都要经过以下几个步骤: 编译:由编译程序(Compiler)将用户源代码编译成若干个目标模块(Object Module); 链接:由链接程序(Linker)将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成一个完整的可装入模块(Load Module)。 4.1.1 程序的装入 将一个装入模块装入内存时,可以有以下两种方式: 绝对地址装入方式(Absolute Loading Mode) 可重定位装入方式(Relocation Loading Mode) 动态运行时装入方式(Dynamic Run-time Loading) 1. 绝对装入方式 在编译时,如果知道程序将驻留在内存的什么位置,那么,编译程序将产生绝对地址的目标代码。 装入模块被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,故不须对程序和数据的地址进行修改。 程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。 此种程序一般有特殊用途,比如启动程序。 2.可重定位装入方式 绝对装入方式只能将目标模块装入到内存中事先指定的位置。在多道程序环境下,编译程序不可能预知所编译的目标模块应放在内存的何处,因此,绝对装入方式只适用于单道程序环境。 在多道程序环境下,所得到的目标模块的起始地址通常是从0开始的,程序中的其它地址也都是相对于起始地址计算的。此时应采用可重定位装入方式,根据内存的当前情况,将装入模块装入到内存的适当位。 示例 在用户程序的1000号单元处有一条指令LOAD 1,2500,该指 令的功能是将2500单元中的整数365取至寄存器1。 静态地址重定位 把在装入时对目标程序中指令和数据的修改变换过程称为重定 位。又因为地址变换通常是在装入时一次完成的,装入以后不再改 变,故称为静态地址重定位。 静态地址重定位装入方式,可将装入模块装入到内存中任何允许的位置,故可用于多道程序环境;但并不允许程序运行时在内存中移动位置。 3. 动态运行时装入方式 动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址。 4.1.2 程序的链接 源程序经过编译后,可得到一组目标模块,再利用链接程序将这组目标模块链接形成装入

习题解答——第5章存储管理

第5章思考与练习题 7.在一个分区存储管理系统中,按地址排列的内存空闲分区的大小是:10KB、4KB、20KB、18KB、7KB、9KB、12KB和15KB。对于以下的请求 a) 12KB b) 10KB c) 9KB (1)如果采用首次适应法将分配到哪些空闲分区 (2)采用最佳适应法又如何 解答: (1)首次适应法空闲链情况 10KB→4KB→20KB→18KB→7KB→9KB→12KB→15KB (a)满足12K请求,分配20KB的空闲块,分配后的链表情况 10KB→4KB→8KB→18KB→7KB→9KB→12KB→15KB (b)满足10K请求,分配10KB的空闲块,分配后的链表情况 4KB→8KB→18KB→7KB→9KB→12KB→15KB (c)满足9K请求,分配18KB的空闲块,分配后的链表情况 4KB→8KB→9KB→7KB→9KB→12KB→15KB (2)最佳适应法空闲链情况 4KB→7KB→9KB→10KB→12KB→15KB→18KB→20KB (a)满足12K请求,分配12KB的空闲块,分配后的链表情况 4KB→7KB→9KB→10KB→15KB→18KB→20KB (b)满足10K请求,分配10KB的空闲块,分配后的链表情况 4KB→7KB→9KB→15KB→18KB→20KB (c)满足9K请求,分配9KB的空闲块,分配后的链表情况 4KB→7KB→15KB→18KB→20KB

首次适应法最佳适应法(a)12K20K12K (b)10K10K10K (c)9K18K9K 8.某虚拟存储器的用户地址空间有32个页面,每页大小为1KB。内存的大小为16KB。 假设某用户的页表如下: 页号存储块号 05 110 24 37 试将虚拟地址0x0A5C和0x093C变换为物理地址。 解答: 页大小为1K,页内位移占10位。 虚拟地址0X0A5C: 0X0A5C0000 页号为2,查页表得到存储块号为4。 0000X125C 虚拟地址0X093C: 0X093C0000 页号为2,查页表得到存储块号为4。 0000X113C

第五章存储管理

单多项选择题 判断题 填空题 名词解释 1物理地址 内存中各存储单元的地址由统一的基地址顺序编址,这种地址称为物理地址。 2逻辑地址 用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为逻辑地址。 3逻辑地址空间 由程序中逻辑地址组成的地址范围叫做逻辑地址空间。 4物理地址空间 由内存中的一系列存储单元所限定的地址范围称作内存空间。 5重定位 把逻辑地址转变为内存物理地址的过程叫做重定位。 6静态重定位 在目标程序装入内存时所进行的重定位。 7动态重定位 在程序执行期间,每次访问内存之前进行的重定位。 8内部碎片 在一个分区内部出现的碎片(即被浪费的空间)称作内部碎片。如固定分区法会产生内部碎片。 9外部碎片 在所有分区之外新产生的碎片称作外部碎片,如在动态分区法实施过程中出现的越来越多的小空闲块,由于它们太小,无法装入一个小进程,因而被浪费掉。 10碎片

在分区法中,内存出现许多容量太小、无法被利用的小分区称作“碎片”。 11紧缩 移动某些已分区的内容,使所有作业的分区紧挨在一起,而把空闲区留在另一端,这种技术称为紧缩。 12可重定位地址 当含有它的程序被重定位时,将随之被调整的一种地址。 13固定分区法 内存中分区的个数固定不变,各个分区的大小也固定不变,但不同分区的大小可以不同,每个分区只可装入一道作业。 14动态分区法 各个分区是在相应作业要求进入内存时才建立的,使其大小恰好适应作业的大小。 15可再入代码 也称纯代码,是指那些在其执行过程本身不做任何修改的代码,通常由指令和常数组成。 16虚拟存储器 虚拟存储器是用户能作为可编程内存对待的虚拟存储空间,在这种计算机系统中实现了用户逻辑存储器与物理存储器的分离,它是操作系统给用户提供的一个比真实内存空间大得多的地址空间。 17抖动 页面抖动是系统中频繁进行页面置换的现象。即如果一个进程没有一定数量的内存块,它很快就发生缺页。此时,它必须淘汰某页。由于所有这些页面都正在使用,所以刚被淘汰出去的页很快又被访问,因而要把它重新调入。可是调入不久又再被淘汰出去,这样再访问,再调入,如此反复,使得整个系统的页面替换非常频繁,以致大部分机器时间都用在来回进行的页面调度上,只有一小部分时间用于进程的实际运算方面。 18工作集 工作集是一个进程在某一小段时间内访问页面的集合。利用工作集模型可防止抖动,也可以进行页面置换。 19程序局部性原理 在相对短的一段时间内,进程集中在一组子程序或循环中之行,导致所有的存储器访问局限于进程地址空间的一个固定子集。这种现象就叫做程序局部性原理。 20快表 又叫“联想存储器”。在分页系统中,由于页表是存放在主存中的,因此cpu存取一个数据时要访问两次主存。这样使计算机的处理速度降低约一倍。为了提高地址变换速度,在地址变换机构中增设一个具有并行查找能力的高速缓冲存储器,用以存放当前访问的页表项。这样的高速缓冲存储器就是快表。

相关文档
最新文档