存储管理习题整理(DOC)讲课教案
- 格式:doc
- 大小:235.00 KB
- 文档页数:22
操作系统第五讲存储管理习题课在操作系统的学习中,存储管理是一个非常重要的主题。
本文将针对操作系统存储管理的习题进行探讨和解答,以帮助读者更好地理解和掌握这一知识点。
1. 什么是操作系统的存储管理?操作系统的存储管理是指对计算机系统中的内存资源进行合理分配和管理的过程。
它包括内存的分配与回收、地址映射、内存保护和虚拟内存等方面的内容。
存储管理的主要目标是提高内存利用率、提高计算机系统的性能和可靠性。
2. 请简要描述页表的作用和实现原理。
页表是一种用来管理虚拟地址和物理地址之间映射关系的数据结构。
它的作用是将虚拟地址转换为物理地址,以实现对内存的访问。
页表实现的原理是通过将虚拟地址划分为页号和页内偏移两部分,然后通过查询页表中的对应关系,将页号转换为物理地址中的页框号,并将页内偏移与页框号组合得到最终的物理地址。
3. 请解释动态重定位和链接装载的概念。
动态重定位是指在程序执行时,根据实际可用的内存空间进行地址的重新定位。
它可以将程序和数据加载到任意的物理内存地址上,从而提高内存的利用率和系统的灵活性。
链接装载是一种将程序中的模块或函数与其对应的库函数进行关联的过程。
它可以将不同的代码块链接到一起,形成可执行的程序,并在程序执行时将库函数的地址与程序中的引用关联起来。
这样做可以减少程序的内存占用和提高程序的执行效率。
4. 请简要描述虚拟内存的原理和优势。
虚拟内存是指在操作系统的支持下,利用硬盘上的一部分空间作为虚拟内存空间,将部分程序和数据从内存中换出到硬盘上进行存储和管理。
虚拟内存的实现是通过将虚拟地址和物理地址之间的转换来完成的。
虚拟内存的主要优势包括:- 扩大内存容量:虚拟内存可以扩大计算机系统的内存容量,提供更大的地址空间。
- 简化程序设计:程序可以利用虚拟内存的机制,将大量的数据和代码分散存储在硬盘上,简化程序设计和内存管理的工作。
- 提高系统性能:虚拟内存可以将部分不常用的程序和数据换出到硬盘上,从而提高内存的利用率和系统的性能。
第六章存储管理1.在一个分段存储管理系统中,其段表如下表所示。
试求表中逻辑地址对应的物理地址是什么?表1 段表段号内存起始地址段长0 210 5001 2350 202 100 903 1350 5904 1938 95表2 逻辑地址段号段内位移0 4301 102 5003 4004 1125 322.在下面的段表中对于以下逻辑地址(段号,段内位移),求对应的物理地址。
(1)0,400 (2)3,300 (3)1,20段号内存起始地址段长0 200 6001 2300 142 90 1003 1300 5801.考虑下面的访问串:1、2、3、4、2、1、5、6、2、1、2、3、7、6、3、2、1、2、3、6假定有4个页块,应用下面的页面替换算法,计算各会出现多少次缺页中断以及缺页率?(1)LRU(最近最久未使用算法);(2)FIFO(先进先出算法);(3)Optimal最佳算法4.在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、2、4、5、3、2、5、2。
试用FIFO(先进先出)和LRU(最近最久未使用)两种算法分别计算出程序访问过程中所发生的缺页次数和缺页率?5.在一个支持虚拟分页并采用请求页式调度的存储管理系统中,有一用户程序,它访问其地址空间的字地址序列是:70、74、135、276、400、300、700、266、148、560、284、172。
问:若分配给该作业的内存大小为384字,初始为空,页大小为128字,试按FIFO、LRU 页面淘汰算法,分别计算页面访问的缺页次数和缺页率?解:由题可知内存为3块,地址序列转成页面序列为:0 0 1 2 3 2 5 2 1 4 2 1。
第四章存储管理1. ______ C ______ 存储管理支持多道程序设计,算法简单,但存储碎片多。
A.段式C.固定分区2.虚拟存储技术是B 。
B.D.页式段页式A.补充内存物理空间的技术B. 补充相对地址空间的技术C.扩充外存空间的技术D. 扩充输入输出缓冲区的技术3.虚拟内存的容量只受 D 的限制。
A.物理内存的大小B. 磁盘空间的大小C.数据存放的实际地址D. 计算机地址位数4.动态页式管理中的 C 是:当内存中没有空闲页时,如何将已占据的页释放。
A.调入策略B. 地址变换C.替换策略D. 调度算法5.多重分区管理要求对每一'个作业都分配 B 的内存单兀。
A.地址连续B. 若干地址不连续C.若干连续的帧D. 若干不连续的帧6.段页式管理每取一数据,要访问 C 次内存。
A. 1B. 2C. 3D. 47.分段管理提供 B 维的地址结构。
A. 1B. 2C. 3D. 48.系统抖动是指 _______ B _______ 。
A.使用计算机时,屏幕闪烁的现象B.刚被调出内存的页又立刻被调入所形成的频繁调入调出的现象C.系统盘不干净,操作系统不稳定的现象D.由于内存分配不当,造成内存不够的现象9.在 ____ A _______ 中,不可能产生系统抖动现象。
A.静态分区管理B.请求分页式管理C.段式存储管理D.段页式存储管理10.在分段管理中 _______ A ______ 。
A.以段为单元分配,每段是一个连续存储区B.段与段之间必定不连续C.段与段之间必定连续D.每段是等长的11.请求分页式管理常用的替换策略之一有 _____________ A _。
A.LRUB. BFC. SCBFD. FPF12.可由CPU调用执行的程序所对应的地址空间为—DA.名称空间B.虚拟地址空间C.相对地址空间D.物理地址空间13.______ C _存储管理方式提供二维地址结构。
A.固定分区B.分页C.分段D.物理地址空间14.当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为B 。
《操作系统》习题集:第3章存储管理第3章存储管理-习题集⼀、选择题1.把作业空间中使⽤的逻辑地址变为内存中物理地址称为()。
【*,★,联考】A. 加载B. 重定位C. 物理化D. 逻辑化2.为了保证⼀个程序在主存中改变了存放位置之后仍能正确执⾏,则对主存空间应采⽤()技术。
【*,★,联考】A. 静态重定位B. 动态重定位C. 动态分配D. 静态分配3.分区分配内存管理⽅式的主要保护措施是()。
(注:分区包括“固定分区”和“可变分区”)【**,09考研】A. 界地址保护B. 程序代码保护C. 数据保护D. 栈保护4.分区管理要求对每⼀个作业都分配()的内存单元。
【*,★,联考】A. 地址连续B. 若⼲地址不连续C. 若⼲连续的块D. 若⼲不连续的块5.在固定分区分配中,每个分区的⼤⼩是()。
【*,联考】A. 相同B. 随作业长度变化C. 可以不同但预先固定D. 可以不同但根据作业长度固定6.在可变式分区存储管理中的拼接技术可以()。
(注:拼接是指通过移动将多个分散的⼩分区合并成⼀个⼤分区。
)【*,★,联考】A. 集中空闲分区B. 增加内存容量C. 缩短访问周期D. 加速地址转换7.可变式分区存储管理中,采⽤拼接技术的⽬的是()。
【*,联考】A. 合并空闲分区B. 合并分配区C. 增加主存容量D. 便于地址转换8.某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空),采⽤最佳适配算法,分配和释放的顺序为:分配15MB,分配30MB,释放15MB,分配8MB,分配6MB,此时主存中最⼤空闲分区的⼤⼩是()。
【**,★,10考研】A. 7MBB. 9MBC. 10MBD. 15MB9.在分页存储管理中,主存的分配是()。
【*,联考】A. 以块为单位进⾏B. 以作业的⼤⼩分配C. 以物理段进⾏分配D. 以逻辑记录⼤⼩进⾏分配10.⾸次适应算法的空闲分区是()。
【**,★,联考】A. 按⼤⼩递减顺序连在⼀起B. 按⼤⼩递增顺序连在⼀起C. 按地址由⼩到⼤排列D. 按地址由⼤到⼩排列11.最佳适应算法的空闲分区是()。
第5章一.选择题(40题)1.主存用来存放__D_。
A.程序B.数据C.微程序D.程序和数据2.下列存储器中,速度最慢的是_C__。
A.半导体存储器B.光盘存储器C.磁带存储器D.硬盘存储器3.某一SRAM芯片,容量为16KB×1位,则其地址线有__A__。
A.14根B.16K根C.16根D.32根4.下列部件中,存取速度最慢的是_B__。
A.光盘存储器B.CPU存储器C.软盘存储器D.硬盘存储器5.在主存和CPU之间增加Cache的目的是_C__。
A.扩大主存的容量B.增加CPU中通用寄存器的数量C.解决CPU和主存之间的速度匹配D.代替CPU中的寄存器工作6.计算机的存储器采用分级存储体系的目的是__D_。
A.便于读/写数据B.减小机箱的体积C.便于系统升级D.解决存储容量、价格与存取速度间的矛盾7.某SRAM芯片,其容量为1KB×8位,加上电源端和接地端后,该芯片的引出线的最少数目应为__A__。
A.23B.25C.50D.208.在Cache的地址映射中,若主存中的任意一块均可映射到Cache内的任意一块的位置上,则这种方法称为__A__。
A.全相联映射B.直接映射C.组相联映射D.混合映射9.处理机有32位地址,则它的虚拟地址空间为_B__字节。
A.2GBB.4GBC.100KBD.640KB10.虚拟内存的容量只受__D_的限制。
A.物理内存的大小B.磁盘空间的大小C.数据存放的实际地址D.计算机地址字长11.以下_B__不是段式存储管理系统的优点。
A.方便编程B.方便内存管理C.方便程序共享D.方便对程序保护12.在可变分区分配方案中,最佳适应法是将空闲块按_C__次序排序。
A.地址递增B.地址递减C.大小递增D.大小递减13.在分区存储管理方式中,如果在按地址生序排列的未分配分区表中顺序登记了下列未分配分区:1-起始地址17KB,分区长度为9KB;2-起始地址54KB,分区长度为13KB;现有一个分区被释放,其起始地址为39KB,分区长度为15KB,则系统要_C__。
第13 次课教案1. 某系统采用固定分区存储管理,除操作系统程序占用分区外,其余分区大小为8KB,20KB,25KB,70KB,126KB。
现有作业序列1KB,21KB,2KB,103KB。
试画出主存分布图并说明系统主存浪费有多大。
2. 在分区分配中,分区的回收有哪几种邻接情况?如何处理?3. 已知主存容量为512KB,其中操作系统代码占低地址部分的126KB,有作业序列如下:作业1 要求80KB作业2 要求56KB作业3 要求120KB作业1 完成;作业3 完成;作业4 要求156KB作业5 要求80KB试用首次适应法和最佳适应法处理上述作业序列,并做如下工作:(假定在存储分配时,从空闲区高低址处分割一块作为分配区)(1)画出作业1,2,3进入系统后的内存分布情况。
(2)画出作业1,3完成后内存分布情况,并画出两种算法下的空闲区队列结构。
(3)画出作业4,5进入系统后的内存分布情况。
4. 系统中有4个不邻接的空闲区,它们的容量分别是10KB、30KB、14KB和26KB。
现在有一个作业到达,要求分配40KB的内存空间,能否分配,为什么?5. 系统中按地址递增的空闲区如表所示:表按地址递增的空闲区要求:⑴按照首次适应算法画出系统空闲分区表⑵现有三个作业分别申请内存空间100K、30K及7K。
给出按首次适应算法、最佳适应算法和最坏适应算法的内存分配情况及分配后空闲分区表。
6. 有作业序列:作业A要求18K;作业B要求25K,作业C要求30K。
要求画出系统中空闲区按三种算法组成的空闲分区链。
7. 某操作系统采用可变分区分配存储管理方法,用户区为512K,始址为0,用空闲分区表管理空闲分区。
若分配时采用分配空闲区低地址部分的方案,且初始时用户区的512K空间空闲,对下述申请序列:作业1申请300K,作业2申请100K,作业1结束释放300K,作业3申请150K,作业4申请30K,作业5申请40K,作业6申请60K,作业4释放30K。
操作系统原理第五章存储管理习题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.硬盘容量1G,内存容量为1024k,那么虚拟存储器最⼤实际容量可能是( ) 。
A.1024KB.1024MC.10GD.10G+1M10.⽤空⽩链记录内存空⽩块的主要缺点是()。
A.链指针占⽤了⼤量的空间B.分配空间时可能需要⼀定的拉链时间C.不好实现“⾸次适应法”D.不好实现“最佳适应法”11.⼀般⽽⾔计算机中()容量(个数)最多.A.ROMB.RAMC.CPUD.虚拟存储器12.分区管理和分页管理的主要区别是()。
A.分区管理中的块⽐分页管理中的页要⼩B.分页管理有地址映射⽽分区管理没有C.分页管理有存储保护⽽分区管理没有D.分区管理要求⼀道程序存放在连续的空间内⽽分页管理没有这种要求。
13.静态重定位的时机是()。
A.程序编译时B.程序链接时C.程序装⼊时D.程序运⾏时14.通常所说的“存储保护”的基本含义是()A.防⽌存储器硬件受损B.防⽌程序在内存丢失C.防⽌程序间相互越界访问D.防⽌程序被⼈偷看15.能够装⼊内存任何位置的代码程序必须是( )。
存储管理练习题(一)单项选择题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.段内地址S段表中对应段的限长10.提高主存利用率主要是通过(A)实现的。
A.内存分配B.内存保护C•地址转换D.内存扩充12.可变分区存储管理时采用的地址转换公式为(C)。
A.绝对地址=界限寄存器值+逻辑地址B.绝对地址=下限寄存器值+逻辑地址C.绝对地址=基址寄存器值+逻辑地址D.绝对地址=块号x块长m页内地址13.公式“绝对地址=下限寄存器+逻辑地址”被用来在(B )中做地址转换。
A. 一个分区存储管理B.固定分区存储管理C.可变分区存储管理D.页式存储管理14.可变分区管理方式按作业需求量分配主存分区,所以(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.硬盘容量1G,内存容量为1024k,那么虚拟存储器最大实际容量可能是( ) 。
A.1024KB.1024MC.10GD.10G+1M10.用空白链记录内存空白块的主要缺点是()。
A.链指针占用了大量的空间B.分配空间时可能需要一定的拉链时间C.不好实现“首次适应法”D.不好实现“最佳适应法”11.一般而言计算机中()容量(个数)最多.A.ROMB.RAMC.CPUD.虚拟存储器12.分区管理和分页管理的主要区别是()。
A.分区管理中的块比分页管理中的页要小B.分页管理有地址映射而分区管理没有C.分页管理有存储保护而分区管理没有D.分区管理要求一道程序存放在连续的空间内而分页管理没有这种要求。
13.静态重定位的时机是()。
A.程序编译时B.程序链接时C.程序装入时D.程序运行时14.通常所说的“存储保护”的基本含义是()A.防止存储器硬件受损B.防止程序在内存丢失C.防止程序间相互越界访问D.防止程序被人偷看15.能够装入内存任何位置的代码程序必须是( )。
存储管理习题整理(D O C)1.某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。
假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:计算逻辑地址0A5C(H)所对应的物理地址(要求写出分析过程)。
解:逻辑地址0A5C(H)所对应的物理地址是125C(H)。
分析页式存储管理的逻辑地址分为两部分:页号和页内地址。
由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。
由“内存为16KB”,可知有16块,块号为4位。
逻辑地址0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100 ,根据上面的分析,下划线部分为页内地址,编码“000 10”为页号,表示该逻辑地址对应的页号为2。
查页表,得到物理块号是4(十进制),即物理块地址为:01 00 ,拼接块内地址10 0101 1100,得01 0010 0101 1100,即125C (H)。
(1分),得01 0010 0101 1100(1分),即125C(H)(1分)。
2、设某程序大小为460字,并且他有下面的存储访问序列:10、11、104、170、73、309、185、245、246、434、458、364设页面大小是100字,请给出该访问序列的页面走向,又设该程序基本可能用内存是200字,采用先进先出置换算法(FIFO),求出其缺页率。
如果采用最佳置换算法(OPT),其缺页中断率又是多少?(注:缺页率=缺页次数/访问页面总数)、现有一个作业,在段式存储管理的系统中已为其主存分配,建立的段表内容如下:计算逻辑地址(2,15),(0,60),(3,18)的绝对地址是多少?注:括号中第一个元素为段号,第二个元素为段内地址。
解:段式存储管理的地址转换过程为:(1)根据逻辑地址中的段号查段表的相应栏目;(2)根据段内地址<段长度,检查地址是否越界;(3)若不越界,则绝对地址=该段的主存起始地址+段内地址。
逻辑地址(2,15)查段表得段长度为20,段内地址15<20,地址不越界,段号2查表得段首地址为480,于是绝对地址为480+15=495。
逻辑地址(0,60)查段表得段长度为40,段内地址60>40,地址越界,系统发出“地址越界”中断。
逻辑地址(3,18)查段表得段长度为20,段内地址18<20,地址不越界,段号3查表得段首地址为370,于是绝对地址=370+18=388。
考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问:(1)逻辑地址需要多少位表示?(二进制)(2)绝对地址需要多少位表示?(二进制)解:因为页面数为8=23,故需要3位二进制数表示。
每页有1024个字节,1024=210,于是页内地址需要10位二进制数表示。
32个物理块,需要5位二进制数表示(32=25)。
(1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。
(2)页的绝对地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。
在分时系统中,可将进程不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据,称为()A、兑换技术B、虚拟技术C、物理扩充D、覆盖技术9、在页式虚拟存储管理系统中,LRU算法是指()A、以后再也不用的缺页先淘汰B、最早进入内存的页先淘汰C、近期被访问次数最少的页先淘汰D、近期最长时间以来没有被访问的页先淘汰在分页存储管理系统中,从页号到物理块号的地址映射是通过( )实现的。
A.段表 B.页表C.PCB D.JCB虚拟存储管理策略可以( )。
A·扩大物理内存容量 B.扩大物理外存容量C·扩大逻辑内存容量D.扩大逻辑外存容量在页式存储管理系统中,整个系统的页表个数是( )。
A.1个B.2个C.与页面数相同D.与主存中的进程数相同8.C 9.D把逻辑地址转变为内存物理地址的过程称作()。
A.重定位B.连接C.编译D.运行页面抖动于什么有关?好的页面置换算法能够适当降低页面置换的频率,减少缺页率,尽量避免系统抖动。
此外一般来说,随着可用内存数的增加,缺页数也将减少虚拟存储器有哪些基本特征?答:虚拟存储器的基本特征是:虚拟扩充、部分装入、离散分配、多次对换。
请求分页技术与简单分页技术之间的根本区别是什么?请求分页技术与简单分页技术之间的根本区别是:请求分页提供虚拟存储器,而简单分页系统并未提供虚拟存储器。
虚拟存储管理虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
虚拟存储技术允许把大的逻辑地址空间映射到较小的物理内存上,这样就提高了多道程序并发执行的程度,增加了CPU的利用率。
虚拟存储器的特性包括:虚拟扩充、部分装入、离散分配和多次对换等。
使用虚拟存储技术的页式管理为请求分页式存储管理。
它是根据实际程序执行的顺序,动态申请存储块。
并不是把所有页面都放入内存。
对一个程序的第一次访问将产生缺页中断,转入操作系统进行相应处理。
操作系统依据页表确定页面在外存上的位置,然后找一个空闲块,把该页面从外存上读到内存块中。
同时,修改页表有关项目,以反映这种变化,产生缺页中断的那条指令被重新启动执行。
这种方式允许一个程序即使它的整个存储映像并没有同时在内存中,也能正确运行。
只要缺页率足够低,其性能还是很好的。
请求分页可用来减少分配给一个进程的块数,这就允许更多进程同时执行,而且允许程序所需内存量超出可用内存总量。
虚拟存储器(Virtual Memory)是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
虚拟存储器的基本特征:虚拟扩充、部分装入、离散分配、多次对换。
此外,虚拟存储器的容量不是无限大的,它主要受到地址的字长和外存容量的限制常用页面置换算法当总内存的需求量超出实际内存量时,为释放内存块给新的页面,需要进行页面置换。
有各种页面置换算法可供使用。
先进先出法(FIFO)是最容易实现的,但性能不是很好。
最佳置换法(OPT)需要未来知识,仅有理论价值。
最近最少使用置换法(LRU)是OPT的近似算法,但实现时要有硬件的支持和软件开销。
最近未使用置换法(NUR)是LRU的近似算法。
置换算法的好坏直接影响系统的性能。
好的页面置换算法能够适当降低页面更换频率(减少缺页率),尽量避免系统“抖动”。
存储管理内存管理要解决的问题有:内存的分配与释放、内存扩充、地址变换、内存的保护与共享、内外存之间数据交换的控制等问题;掌握常用的内存管理方法,重点是分区存储管理和请求页式存储管理、动态分区的分配算法和请求淘汰换页算法。
1、存储管理的任务是什么(1)方便用户,使用户减少甚至摆脱对存储器使用的管理;(2)提高内存资源的利用率,关键是实现资源共享。
2、存储管理的功能是什么(1)内存区域的分配和管理:通过建表、查表、改表和回收登录内存使用情况。
系统或用户申请内存时按选定的分配算法确定分区等。
(2)内存的扩充技术:使用虚拟存储或自动覆盖技术提供比实际内存更大的空间;(3)内存储的保护技术:各道作业、任务或进程在自己所属区域中运行,不破坏别的作业或不被“别人”破坏,更不要破坏整个系统工作。
3、逻辑(相对)地址与物理(绝对)地址逻辑地址:程序中按逻辑顺序编排的代码及数据的地址称为逻辑地址。
物理地址:程序中按代码及数据在内存中实际存储位置的地址成为物理地址。
4、重定位(relocation)将逻辑地址转化为物理地址的过程称为重定位。
一般由操作系统的链接过程完成。
分为静态和动态两种。
静态链接是在链接装入时一次集中完成,动态是在指令执行中先访问内存后再重定位,一般由硬件完成地址转换。
重定位原理图见图。
5、虚拟地址和虚拟存储器编译链接程序把用户源程序编译后链接到一个以0地址为始地址的线性或多维虚地址空间。
每个指令或数据单元都在这个虚地址空间中有确定的地址,我们把这个地址称为虚拟地址(virtual address)。
我们把由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器(virtual memory store)。
6、虚拟存储的制约因素(1)虚存容量不是无限的,极端情况受计算机内、外存总和的限制;(2)虚存容量还受计算机总线长度和地址结构的限制;(3)速度和容量的“时空”矛盾,虚存容量的“扩大”是以牺牲CPU工作时间以及内、外存的交换时间为代价的。
7、分区存储管理技术的基本原理基本原理是给每一个内存中的进程划分一块适当大小的存储区,以连续存储各进程的程序和数据,使个程序得以并发执行。
按分区的时机,分区管理可以分为固定分区和动态分区两种方法。
8、*固定分区分配的原理及数据结构(1)固定分区分配(fixed-size partition)是在处理作业前,内存事先划分为若干个大小不等或相等的区域,一旦划分好则固定不变,每个作业占一个分区,作业是连续存放的。
分区的划分可以由操作系统或系统管理员决定。
(2)系统对内存的管理和控制通过数据结构—分区说明表进行,分区说明表说明各分区号、分区大小、起始地址和是否是空闲区(分区状态)。
内存的分配256K(b)内存空间固定分区分配例图(3)固定分区方法的优缺点固定分配的优点是分配回收方便,适用于用户不多的小型系统;缺点是内存使用不充分,每一分区剩余部分无法利用。
9.动态分区的原理动态分区法在作业执行前并不建立分区,而是在处理作业的过程中按需要建立分区,而且其大小可随作业或进程对内存的要求而改变。
这就改变了固定分区中小作业占据大分区的浪费现象,从而提高了系统的利用率。
10、动态分区的数据结构动态分区采用三张表对内存管理,分别为已分配区域说明表、未分配区域说明表(可用表)和资源请求表。
相互的关系如图4-3。
(c)主存空间11、动态分区的分配算法(1)首次适应法(first-fit)要求把内存中的可用分区单独组成可用分区表或可用分区自由链,按起始地址递增的次序排列。
查找的方法是每次按递增的次序向后找,一旦找到大于或等于所要求内存长度的分区,则结束查找,从找到的分区中划分所要求的内存长度分配给用户,把剩余的部分进行合并(如果有相邻的空白区存在的话),并修改可用区中的相应表项。
(2)循环适应法(circulation-fit)系统记住上一次分配区地址,每重新分配一次时,都在当前之后寻找,其目的是回收空白区。
即内存所有的线性空间可能轮流使用到。
分配的时间会快一些,“碎片”也可能会小一些。
(3)最佳适应法(best-fit)最佳适应法要求按空白区的大小,从小到大次序组成空白区表或自由链。