计算机操作系统第四章
- 格式:doc
- 大小:52.00 KB
- 文档页数:9
第四章中文Windows XP操作系统练习题一中文Windows基本知识一、单项选择题1.在Windows环境下,右击桌面上的一个对象时,。
(A)弹出该对象所对应的快捷菜单(B)打开该对象(C)关闭该对象(D)无任何反应2.用鼠标把一个文件拖到回收站,则。
(A)复制该文件到回收站(B)删除该文件,且不能恢复(C)删除该文件,但是可以恢复(D)系统提示“执行非法操作”3.以下关于操作系统的说法错误的是。
(A)按运行环境将操作系统分为实时操作系统、分时操作系统和批处理操作系统(B)分时操作系统具有多个终端(C)实时操作系统是对外来信号及时做出反应的操作系统(D)批处理操作系统指利用CPU的空余时间处理成批的作业4.MS_DOS是基于的操作系统。
(A)多用户多任务(B)单用户多任务(C)多用户单任务(D)单用户单任务5.目前,微软推出的最新Windows XP是位操作系统。
(A)32 (B)64(C)8 (D) 166.Windows XP是一种操作系统。
(A)单任务字符方式(B)单任务图形方式(C)多任务字符方式(D)多任务图形方式7.下列关于操作系统的叙述,正确的是。
(A)操作系统是源程序开发系统(B)操作系统用于执行用户键盘操作(C)操作系统是系统软件的核心(D)操作系统可以编译高级语言程序8.在Windows XP中,画图、记事本等应用程序,一般情况在“开始”菜单的程序组下找到。
(A)“程序”→“附件”(B)“程序”→“启动”(C)“设置”→“附件”(D)“运行”9.Windows XP启动时按键,是以安全模式启动Windows。
(A)F2 (B)F5(C)F6 (D)F810.系统启动后,操作系统常驻。
(A)硬盘(B)内存(C)外存(D)CPU11.Windows XP是一个多任务操作系统,这是指。
(A)它可以用不同身份访问(B)它可以管理许多外设和内部程序(C)它可以同时运行多个应用程序(D)它的效率很高12.Windows系统操作的特点是。
注意: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 知道什么是段页式存储。
需要补充说明的是:教材说过,分段方便编程,主要是指方便汇编语言程序员,和设计高级语言编译器的程序员。
对使用高级语言进行应用编程的程序员来说,段是透明的,一般不能用高级语言代码去操作段。
第四章1.一个作业从提交给计算机系统到执行结束退出系统,一般都要经历提交、收容、执行和完成四个状态。
一个作业在其处于从输入设备进入外部存储设备的过程成为提交状态。
处于提交状态的作业,因其信息尚未全部进入系统,所以不能被调用程序选取。
收容状态也称为后备状态,输入管理系统不断地将作业输入到外存中对应部分(或称输入井,即专门用来存放待处理作业信息的一组外存分区)。
若一个作业的全部信息已全部被输入进输入井,那么,在它还未被调度去执行之前,该作业处于收容状态。
作业调度程序从后备作业中选取若干作业到内存投入运行。
它为被选中作业建立进程并分配必要的资源,这时,这些被选中的作业处于执行状态。
当作业运行完毕,但它所占用的资源尚未全部被系统收回时,该作业处于完成状态。
一般来说,处理机调度可分为4级:作业调度、交换调度、进程调度、线程调度。
作业调度:又称宏观调度或高级调度,其主要任务是按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存、输入输出设备等必要的资源,并建立相应的根程序,以使该作业的进程获得竞争处理机的权利,另外,当该作业执行完毕时,还负责回收系统资源。
交换调度:又称中级调度,其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或就绪等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。
交换调度主要涉及内存的管理和扩充,一般将它归在存储管理之中。
进程调度:又称微观调度或低级调度,其主要任务是按照某种策略和方法选取一个处于就绪状态的进程占用处理机。
只有在多道批处理系统中才有作业调度,而在分时和实时系统中一般只有进程调度、交换调度和线程调度。
这是因为在分时和实时系统中,为了缩短响应时间或为了满足用户需求的截止时间,作业不是建立在外存中,而是直接建立在内存中。
2.作业调度作业调度的功能:(1)记录系统中各作业的状况,包括执行阶段的有关情况。
通常,系统为每个作业建立一个作业控制表JCB记录这些有关信息。
第四章存储器管理第一部分教材习题(P159)15、在具有快表的段页式存储管理方式中,如何实现地址变换?答:在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。
进行地址变换时,首先利用段号S,将它与段长TL进行比较。
若S<TL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。
在段页式系统中,为了获得一条指令或数据,须三次访问内存。
第一次访问内存中的段表,从中取得页表始址;第二次访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。
显然,这使访问内存的次数增加了近两倍。
为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。
每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。
19、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器有以下特征:多次性:一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。
多次性是虚拟存储器最重要的特征,任何其他的存储器管理方式都不具有这一特征。
因此,认为虚拟存储器是具有多次性特征的存储器系统。
对换性:允许在作业的运行过程中进行换进、换出,也即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进);甚至还允许将暂不运行的进程调至外存,待它们重又具备运行条件时再调入内存。
第四章存储器管理第0节存储管理概述一、存储器的层次结构1、在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。
但是,在现有技术条件下,任何一种存储装置,都无法从速度、容量、是否需要电源维持等多方面,同时满足用户的需求。
实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。
2、各种存储器•寄存器、高速缓存Cache:少量的、非常快速、昂贵、需要电源维持、CPU可直接访问;•内存RAM:若干(千)兆字节、中等速度、中等价格、需要电源维持、CPU可直接访问;•磁盘高速缓存:存在于主存中;•磁盘:数千兆或数万兆字节、低速、价廉、不需要电源维持、CPU 不可直接访问;由操作系统协调这些存储器的使用。
二、存储管理的目的1、尽可能地方便用户;提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。
(注意cpu和主存储器,这两类资源管理的区别)2、存储管理的主要功能:•地址重定位•主存空间的分配与回收•主存空间的保护和共享•主存空间的扩充三、逻辑地址与物理地址1、逻辑地址(相对地址,虚地址):用户源程序经过编译/汇编、链接后,程序内每条指令、每个数据等信息,都会生成自己的地址。
●一个用户程序的所有逻辑地址组成这个程序的逻辑地址空间(也称地址空间)。
这个空间是以0为基址、线性或多维编址的。
2、物理地址(绝对地址,实地址):是一个实际内存单元(字节)的地址。
●计算机内所有内存单元的物理地址组成系统的物理地址空间,它是从0开始的、是一维的;●将用户程序被装进内存,一个程序所占有的所有内存单元的物理地址组成该程序的物理地址空间(也称存储空间)。
四、地址映射(变换、重定位)当程序被装进内存时,通常每个信息的逻辑地址和它的物理地址是不一致的,需要把逻辑地址转换为对应的物理地址----地址映射;地址映射分静态和动态两种方式。
1、静态地址重定位是程序装入时集中一次进行的地址变换计算。
物理地址= 重定位的首地址+ 逻辑地址•优点:简单,不需要硬件支持;•缺点:一个作业必须占据连续的存储空间;装入内存的作业一般不再移动;不能实现虚拟存储。
第四章存储器管理一、单项选择题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 )是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据。
第四章处理机调度一、选择题: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、进程D、线程7、当作业运行完毕,但它所占有的资源尚未全部被系统回收时,该作业处于()状态。
A、提交B、收容C、执行D、完成8、一个作业在其处于从输入设备进入外部存储设备的过程称为()状态。
A、提交B、收容C、执行D、完成9、当一个作业的全部信息已全部被输入进输入井但还未被调度去执行,此时该作业处于()状态。
A、提交B、收容C、执行D、完成10、()状态也称为后备状态。
A、提交B、收容C、执行D、完成11、一种既有利于短小作业又兼顾到长作业的作业调度算法是()A、先来先服务 B 、轮转C、最高响应比优先D、均衡调度12、作业调度程序是从处于()状态的作业中选取一个作业并把它装入主存。
A、输入B、收容C、执行D、完成13、下列选项中哪一个不属于作业调度算法的评价因素()A、单位时间内运行尽可能多的作业B、使各种I/O设备得以充分利用C 、对所有的作业都是公平合理的 D、使处理机尽可能保持“空闲”。
14、下列选项中哪一项不属于JCB的主要内容()A 作业名B 作业类型C 资源要求D 作业完成时间15、作业调度程序为选中作业建立进程并为这些进程分配的系统资源不包括下列哪一项()A、内存B、外存C、外设D、虚拟内存16、在操作系统中,JCB是指()。
A、作业控制块B、进程控制块C、文件控制块 D 程序控制块17、作业调度算法包括下列选项中的那些种()。
第四章存储器管理1. 为什么要配置层次式存储器?这是因为:a.设置多个存储器可以使存储器两端的硬件能并行工作。
b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。
增加CPU中寄存器的数量,也可大大缓解对存储器的压力。
2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
3. 何为静态链接?何谓装入时动态链接和运行时动态链接?a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。
b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS 去找到该模块并将之装入内存,把它链接到调用者模块上。
4. 在进行程序链接时,应完成哪些工作?a.对相对地址进行修改b.变换外部调用符号6. 为什么要引入动态重定位?如何实现?a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。
引入重定位的目的就是为了满足程序的这种需要。
b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。
程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
一、单项选择题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.缩短访问周期D.加速地址转换7.页式存储管理中的页表是由()建立的。
A.操作员B.系统程序员C.用户D.操作系统8.采用页式存储管理时,重定位的工作是由()完成的。
A.操作系统B.用户C.地址转换机构D.主存空间分配程序9.采用段式存储管理时,一个程序如何分段是在()决定的。
A.分配主存时B.用户编程时C.装人作业时D.程序执行时10.采用段式存储管理时,一个程序可以被分成若干段,每一段的最大长度是由()限定的。
A.主存空闲区的长度B.硬件的地址结构C.用户编程时D.分配主存空间时11.实现虚拟存储器的目的是()。
A.扩充主存容量B.扩充辅存容量C.实现存储保护D.加快存取速度12.LRU页面调度算法是选择()的页面先调出。
A.最近才使用B.最久未被使用C.驻留时间最长D.驻留时间最短13.若进程执行到某条指令时发生了缺页中断,经操作系统处理后,当该进程再次占用处理器时,应从()指令继续执行。
第四章 存储器管理1、对如图所示的内存分配情况(其中,阴影部分表示已占用块,空白部分表示空闲块),若要申请一块40KB 的内存,对于最佳适应算法,给出分配区域的首地址( )。
A 、100KBB 、190KBC 、330KBD 、410KB2、如右图所示中,若要申请一块40KB 的内存,使首地址最大的分配算法()。
A 、首次适应算法B 、最佳适应算法C 、最坏适应算法D 、循环首次适应算法3、下列算法中产生“抖动”现象的是( )。
A 、先进先出页面置换算法(FIFO)B 、最近最久未使用(LRU)置换算法C 、最不经常使用(LFU)置换算法D 、最佳(Optimal)置换算法4、存储管理是对内存中( )区域进行管理。
A 、整个内存B 、供用户使用的C 、供系统使用的D 、供程序使用的5、下面是关于存储器管理功能的论述,正确的论述是( )和( )。
A 、内存分配最基本的任务是为每道程序分配内存空间,其他追求的主要目标是提高存储空间的利用率。
B 、为了提高内存保护的灵活性,内存保护通常由软件实现。
C 、对换技术已不是现代操作系统中常用的一种技术。
D 、地址映射是指将程序空间中的逻辑地址变为内存空间的物理地址。
E 、虚拟存储器是在物理上扩充内存容量。
6、在下列存储管理方案中,不适用于多道程序的是( )。
A 、单一连续分配B 、固定分区分配C 、动态重定位分区分配D 、段页式存储分配7、在固定分区存储管理中,每个分区的大小是( )。
A 、相同的B 、可以不同但作业长度固定C 、可以不同但预先固定D 、根据用户要求而定0KB100KB 180KB 190KB 280KB 330KB 390KB410KB 512KB8、在固定分区管理中,为了提高内存的利用率,可采用如下技术()。
A、按经常出现的作业大小来划分分区B、划分分区都相同C、不同请求队列中的作业可以申请相同的分区D、大作业可以申请多个分区9、采用固定分区管理的最大缺点是()。
第四章1.为什么说多级反馈队列调度算法能较好地满足各类用户的需要(来自百度):答案一:多级反馈队列调度算法能较好地满足各种类型用户的需要。
对终端型作业用户而言,由于他们所提交的大多属于交互型作业,作业通常比较短小,系统只要能使这些作业在第1级队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于短批处理作业用户而言,他们的作业开始时像终端型作业一样,如果仅在第1级队列中执行一个时间片即可完成,便可以获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第2级队列和第3级队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长批处理作业用户而言,它们的长作业将依次在第1,2,…,直到第n级队列中运行,然后再按时间片轮转方式运行,用户不必担心其作业长期得不到处理。
答案二:(惠州学院操作系统课后题)与答案一基本相似,可看做精简版。
答:(1)终端型作业用户提交的作业大多属于较小的交互型作业,系统只要使这些作业在第一队列规定的时间片内完成,终端作业用户就会感到满足。
(2)短批处理作业用户,开始时像终端型作业一样,如果在第一队列中执行一个时间片段即可完成,便可获得与终端作业一样的响应时间。
对于稍长作业,通常只需在第二和第三队列各执行一时间片即可完成,其周转时间仍然较短。
(3)长批处理作业,它将依次在第1 ,2 ,…,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。
所以,多级反馈队列调度算法能满足多用户需求。
2.分别对以上两个进程集合,计算使用先来先服务(FCFS)、时间片轮转法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第1个队列的时间片为1,第i(i<1)个队列的时间片q=2(i-1))算法进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间,及所有进程的平均周转时间和平均带权周转时间。
计算机操作系统主讲教师:王晓晔E-mail:wangxye@第四章存储器管理4.1 存储器的层次结构4.2 程序的装入和连接4.3 连续分配方式4.4 基本分页存储管理方式4.5 基本分段存储管理方式4.6 虚拟存储器的基本概念4.7 请求分页存储管理方式4.8 页面置换算法4.9 请求分段存储管理方式4.1 存储器的层次结构4.1.1 多级存储器结构4.1.2 主存储器与寄存器▪主存储器▪寄存器4.1.3 高速缓存和磁盘缓存▪高速缓存▪磁盘缓存4.2 程序的装入和链接4.2.1 程序的装入1. 绝对装入方式(Absolute Loading Mode)程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。
但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。
因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。
3. 动态运行时装入方式(Denamle Run-time Loading)动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。
因此,装入内存后的所有地址都仍是相对地址。
3. 运行时动态链接(Run-time Dynamic Linking)近几年流行起来的运行时动态链接方式,是对上述在装入时链接方式的一种改进。
这种链接方式是将对某些模块的链接推迟到执行时才执行,亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。
4.3 连续分配方式4.3.1 单一连续分配这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。
采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间,提供给用户使用。
4.3.2 固定分区分配1. 划分分区的方法(1) 分区大小相等,即使所有的内存分区大小相等。
(2) 分区大小不等。
(1) 首次适应算法FF。
(2) 循环首次适应算法,该算法是由首次适应算法演变而成的。
(3) 最佳适应算法。
(4) 最坏适应算法(5) 快速适应算法4.3.4 伙伴系统伙伴系统规定,无论已分配分区或空闲分区,其大小均为2的k次幂,k为整数,1<=k<=m,其中:21表示分配的最小分区的大小,2m表示分配的最大分区的大小,通常2m是整个可分配内存的大小。
假设系统的可利用空间容量为2m个字,则系统开始运行时,整个内存区是一个大小为2m的空闲分区。
在系统运行过程中,由于不断的划分,可能会形成若干个不连续的空闲分区,将这些空闲分区根据分区的大小进行分类,对于每一类具有相同大小的所有空闲分区,单独设立一个空闲分区双向链表。
这样,不同大小的空闲分区形成了k个空闲分区链表。
当需要为进程分配一个长度为n的存储空间时,首先计算一个i值,使2i-1<=n<= 2i,然后在空闲分区大小为为2i的空闲分区链表中查找。
若找到,即把该空闲分区分配给进程。
否则,表明长度为2i的空闲分区已经耗尽,则在分区大小为2i+1的空闲分区链表中寻找。
若存在2i+1的一个空闲分区,则把该空闲分区分为相等的两个分区,这两个分区称为一对伙伴,其中的一个分区用于分配,而把另一个加入分区大小为2i的空闲分区链表中。
若大小为2i+1的空闲分区也不存在,则需要查找大小为2i+2的空闲分区,若找到则对其进行两次分割:第一次,将其分割为大小为2i+1的两个分区,一个用于分配,一个加入到大小为2i+1的空闲分区链表中;第二次,将第一次用于分配的空闲区分割为2i的两个分区,一个用于分配,一个加入到大小为2i的空闲分区链表中。
若仍然找不到,则继续查找大小为2i+3的空闲分区,以此类推。
由此可见,在最坏的情况下,可能需要对2k的空闲分区进行k次分割才能得到所需分区。
与一次分配可能要进行多次分割一样,一次回收也可能要进行多次合并,如回收大小为2i的空闲分区时,若事先已存在2i的空闲分区时,则应将其与伙伴分区合并为大小为2i+1的空闲分区,若事先已存在2i+1的空闲分区,又应继续与其伙伴分区合并为大小为2i+2的空闲分区,以此类推。
4.3.5 哈希算法哈希算法就是利用哈希快速查找的优点,以及空闲分区在可利用空间表中的分布规律,建立哈希函数,构造一张以空闲分区大小为关键字的哈希表,该表的每一个表项记录了一个对应的空闲分区链表表头指针。
当进行空闲分区分配时,根据所需空闲分区大小,通过哈希函数计算,即得到在哈希表中的位置,从中得到相应地空闲分区链表,实现最佳分配策略。
4.3.7 对换(Swapping)1. 对换的引入所谓“对换”,是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据,调入内存。
对换是提高内存利用率的有效措施。
2. 对换空间的管理为了能对对换区中的空闲盘块进行管理,在系统中应配置相应的数据结构,以记录外存的使用情况。
其形式与内存在动态分区分配方式中所用数据结构相似,即同样可以用空闲分区表或空闲分区链。
在空闲分区表中的每个表目中应包含两项,即对换区的首址及其大小,它们的单位是盘块号和盘块数。
3. 进程的换出与换入(1) 进程的换出。
每当一进程由于创建子进程而需要更多的内存空间,但又无足够的内存空间等情况发生时,系统应将某进程换出。
其过程是:系统首先选择处于阻塞状态且优先级最低的进程作为换出进程,然后启动盘块,将该进程的程序和数据传送到磁盘的对换区上。
若传送过程未出现错误,便可回收该进程所占用的内存空间,并对该进程的进程控制块做相应的修改。
4.4 基本分页存储管理方式4.4.1 页面与页表1. 页面▪1) 页面和物理块▪分页存储管理,是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0 开始,如第0 页、第1 页等。
相应地,也把内存空间分成与页面相同大小的若干个存储块,称为( 物理) 块或页框(frame) ,也同样为它们加以编号,如0 #块、1 #块等等。
在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。
由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。
例题3:设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048字节,内存总共有8个存储块,试问逻辑地址至少应为多少位?内存空间有多大?例题4:在一分页存储管理系统中,逻辑地址长度为16位,页面大小2048字节,对应的页表如下表所示.现有两逻辑地址为0A5CH和2F6AH,经过地址变换后所对应的物理地址各是多少?例题5:在某个采用页式存储管理的系统中,现有J1,J2,J3共3个作业同驻内存.其中J2有4个页面,被分别装入到主存的第3、4、6、8块中。
假定页面和存储块的大小均为1024字节,主存容量为10KB字节。
(1)写出J2的页面映像表;(2)当J2在CPU上运行时,执行到其他地址空间第500号处遇到一条传送指令:MOV 2100,3100请用地址变换图计算MOV指令中两个操作数的物理地址。
4.5 基本分段存储管理方式4.5.1 分段存储管理方式的引入引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要:1) 方便编程2) 信息共享3) 信息保护4) 动态增长5) 动态链接例题:在一个段式存储管理系统中,其段表如表(1)所示,试求表(2)中的逻辑地址所对应的物理地址是什么?例题:一台计算机含有65536字节的存储空间,这一空间被分成许多长度为4096B的页。
有一个程序,其代码段为32768B,数据段为16386B,栈段为15870B。
试问该机器的主存空间适合这个进程吗?如果将每页改成512B,适合吗?解答:当存储空间为4096B 时,共可分成16 块。
其中:程序段为:32768/4096=8 块数据段为:16386/4096=5 块栈段为:15870/4096=4 块合计:8+5+4=17 块该机器的主存空间不适合这个作业。
例题:如图所示,是一种段页式管理配置方案,一页大小为1KB.(1)根据给出的虚地址写出物理地址.(2)描述地址变换过程.4.6 虚拟存储器的基本概念 4.6.1 虚拟存储器的引入1. 常规存储器管理方式的特征(1) 一次性。
(2) 驻留性4.7 请求分页存储管理方式4.8 页面置换算法例题:设某分页系统中,页面大小为100字。
一个程序大小为1200字,可能的访问序列如下:10,205,110,735,603,50,815,314,432,320,225,80,130,270系统分别采用FIFO和Optimal算法。
当为其分配4个主存块时,给出该作业驻留的各个页的变化情况及页故障数。
例题:考虑下面的页访问串:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 假定有4,5,6个页块,应用下面的页面替换算法,计算各会出现多少次缺页中断。
(1)LRU (2)FIFO (3)Optimal由访问位A和修改位M可以组合成下面四种类型的页面:1类(A=0, M=0): 表示该页最近既未被访问,又未被修改,是最佳淘汰页。
2类(A=0, M=1):表示该页最近未被访问,但已被修改,并不是很好的淘汰页。
3类(A=1, M=0):最近已被访问,但未被修改,该页有可能再被访问。
4类(A=1, M=1): 最近已被访问且被修改,该页可能再被访问。
例题:一进程已分配到4个页面,如表所示(所有数字都为十进制数,且以0开始)。
当进程访问第4页时,产生缺页中断,请分别用FIFO(先进先出)、LRU(最近最久未使用)、NRU(最近未用)、改进CLOCK算法,决定缺页中断服务程序选择换出的页面。
4.9 请求分段存储管理方式练习题。