操作系统的主存储器空间地分配和回收
- 格式:doc
- 大小:308.88 KB
- 文档页数:19
操作系统-存储管理(4)段页式虚拟存储物理地址:⼜称绝对地址,即程序执⾏所使⽤的地址空间(处理器执⾏指令时按照物理地址进⾏)逻辑地址:⼜称相对地址,即⽤户编程所使⽤的地址空间,从0开始编号,有两种形式:⼀维逻辑地址(地址)⼆维逻辑地址(段号:段内地址)主存储器空间的分配与去配:分配:进程装⼊主存时,存储管理软件进⾏具体的主存分配操作,并设置⼀个表格记录主存空间的分配情况去配:当某个进程撤离或主动归还主存资源时,存储管理软件要收回它所占⽤的全部或者部分存储空间,调整主存分配表信息主存储器空间的共享:多个进程共享主存储器资源:多道程序设计技术使若⼲个程序同时进⼊主存储器,各⾃占⽤⼀定数量的存储空间,共同使⽤⼀个主存储器多个进程共享主存储器的某些区域:若⼲个协作进程有共同的主存程序块或者主存数据块多道程序设计需要复⽤主存:按照分区复⽤:主存划分为多个固定/可变尺⼨的分区,⼀个程序/程序段占⽤⼀个分区按照页架复⽤:主存划分成多个固定⼤⼩的页架,⼀个程序/程序段占⽤多个页架装载程序/加载器(loader)把可执⾏程序装⼊内存的⽅式有:绝对装载可重定位装载动态运⾏时装载地址转换:⼜称重定位,即把可执⾏程序逻辑地址转换成绝对地址,可分为:静态地址重定位:由装载程序实现装载代码模块的加载和地址转换(⽆需硬件⽀持),把它装⼊分配给进程的内存指定区域,其中所有指令代码和数据的逻辑地址在执⾏前⼀次全部修改为内存物理地址。
早期单任务单⽤户OS使⽤。
动态地址重地位:由装载程序实现装载代码模块的加载,把它装⼊进程的内存在指定区域,但对链接程序处理过的应⽤程序逻辑地址不做修改,程序内存起始地址被置⼊重定位寄存器(基址寄存器)。
程序执⾏过程中每当CPU访问程序和数据引⽤内存地址时,由硬件地址转换机构截取此逻辑地址并加上重定位寄存器的值。
运⾏时链接地址重定位存储保护:为避免主存中的多个进程相互⼲扰,必须对主存中的程序和数据进⾏保护。
一、单项选择题1.联想存储器在计算机系统中是用于______的。
A.存储文件信息B.与主存交换信息C.内存地址变换D.内存管理信息2.作业在执行中发生了缺页中断,经操作系统处理后,应该执行的指令是______。
A.被中断的前一条B.被中断的后一条C.作业的第一条D.被中断的指令在请求分页存储管理中,当指令的执行所需要的内容不在内存中时,发生缺页中断,当缺页调入内存后,应执行被中断指令。
另:缺页中断作为中断与其它中断一样要经历如保护CPU环境,分析中断原因,转入缺页中断处理程序进行处理,恢复CPU环境等几个步骤,但缺页中断又是一种特殊的中断,它与一般中断相比,有着明显的区别,主要表现在下面两个方面:(1)缺页中断是在指令执行期间产生和处理中断信号的。
(2)一条指令的执行期间,可能产生多次缺页中断。
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. 在可变分区分配方案中,将空白分区按地址递增次序排列是要采用______。
操作系统原理试题题库含答案(7)1、在I/O子系统中,I/O请求的排队时间为10ms,而请求的服务时间为40ms,则I/O请求的总响应时间为()A、 10msB、 50msC、 30msD、 40ms正确答案: B2、下列哪项不是进行存储管理的目的( )。
A、提高存储利用率B、防止用户破坏操作系统C、防止用户相互干扰D、为了使用Spooling正确答案: D3、进程的基本状态转换中,哪一种是不可能发生。
A、就绪态变为阻塞态B、就绪态变为执行态C、阻塞态变为就绪态D、执行态变为阻塞态正确答案: A4、进程的动态、并发等特征是利用____________表现出来的。
A、程序B、数据C、程序和数据D、进程控制块正确答案: D5、要求进程一次性申请所需的全部资源,是破坏了死锁必要条件中的____条件。
A、不可剥夺B、互斥C、请求与保持D、环路等待正确答案: C6、在下面的I/O控制方式中,需要CPU干预最少的方式是()A、程序I/O控制方式B、中断驱动I/O控制方式C、直接存储器访问(DMA)控制方式D、 I/O通道控制方式正确答案: D7、在操作系统中,只能在系统态下运行的指令是()。
A、读时钟指令B、置时钟指令C、取数指令D、寄存器清零指令正确答案: D8、下列选项中,导致创建新进程的操作是()I.用户登录成功 II.设备分配 III.启动程序执行A、仅I和IIB、仅II和IIIC、仅I和IIID、 I、II和III正确答案: B9、某一作业8:00到达系统,估计运行时间为2小时,若11:00开始执行该作业,其响应比是()。
A、 3.5B、 3C、 2.5D、 2正确答案: C10、在外围设备和内存之间开辟直接的数据通道的是()。
A、程序直接控制B、 DMAC、通道控制D、中断正确答案: B11、在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数( )。
A、减少B、增加C、无影响D、可能增加也可能减少正确答案: D12、哪个属于抢占式调度___A、时间片轮转法;B、短作业优先调度;C、先来先服务;D、高响应比优先调度;正确答案: A13、在存储管理中,采用地址变换机构的目的是()A、加快进程空间寻址B、提高CPU效率C、进程空间保护和内存共享D、便于有效分配内存正确答案: A14、MS-DOS中的文件物理结构采用_________。
2022年济南大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件上、文件主的伙伴、其他用户:访问权限分为5类:完全控制、执行、修改、读取、写入。
若文件控制块中用:进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为()。
A.5B.9C.12D.202、操作系统为了管理文件,设计了文件控制块(FCB),文件控制块的建立是().A.在调用create()时B.在调用open()时C.在调用read()时D.在调用write()3、在下列操作系统的各个功能组成部分中,一定需要专门硬件配合支持的是()。
I.地址映射II.进程调度III.中断系统IV.系统调用A.IB.I、IIIC. I、III、IVD.II、II4、中断扫描机构是()扫描次中断寄存器。
A.每隔一个时间片B.每条指令执行周期内最后时刻C.每当进程释放CPUD.每产生一次中断5、一个进程的读磁盘操作完成后,操作系统针对该进程必做的是(),A.修改进程状态为就绪态B.降低进程优先级C.给进程分配用户内存空间D.增加进程时间片大小6、总体上说,“按需调页”(Demand-Paging)是个很好的虚拟内存管理策略。
但是,有些程序设计技术并不适合于这种环境,例如()A.堆栈B.线性搜索C.矢量运算D.分法搜索7、假设页的大小为4KB,页表的每个表项占用4B。
对于一个64位地址空间系统,采用多级页表机制,至少需要()级页表(本题默认字长为1B)。
A.3B.4C.5D.68、下列观点中,不是描述操作系统的典型观点的是()。
A.操作系统是众多软件的集合B.操作系统是用户和计算机之间的接口C.操作系统是资源的管理者D.操作系统是虚拟机9、操作系统提供了多种界面供用户使用,其中()是专门供应用程序使用的一种界面。
A.终端命令B.图形用户窗C.系统调用D.作业控制语言10、程序员利用系统调用打开I/O设备时,通常使用的设备标识是(),A.逻辑设备名B.物理设备名C.主设备号D.从设备号11、用户程序发出磁盘1/0请求后,系统的正确处理流程是()A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序12、缓存技术的缓冲池在()中。
1、简述操作系统的基本特征。
答:(1)并发。
在单处理机、多道程序环境下并发是指一段时间内,宏观上多个程序同时运行、微观上交替运行的情形。
OS中引入进程的概念就是为了实现并发;(2)共享。
是指系统中并发执行的多个进程共享系统资源。
根据资源属性可以有互斥共享和同时访问两种方式;(3)虚拟。
OS会通过虚拟技术实现系统功能的扩充。
(4)异步性。
并发执行的多个进程由于资源的限制会出现“走走停停”的运行模式。
2、试分析引起进程阻塞和唤醒的事件主要有哪些。
答:(1)请求系统服务。
当正在执行的进程请求系统提供服务而系统无法满足其请求时,进程阻塞等待;由释放服务的进程唤醒阻塞进程。
(2)启动某种操作。
当进程启动某种I/O操作后阻塞以等待操作完成;由中断处理程序唤醒阻塞进程。
(3)新数据尚未到达。
相互合作的进程中,消费者进程阻塞等待数据到达;生产者进程在数据到达后唤醒阻塞进程。
(4)无新工作可做。
系统进程没有新工作可做时阻塞等待;当有进程发出请求时唤醒阻塞进程。
3、简述在操作系统中引入缓冲的主要原因。
答:(1)缓和CPU与I/O设备间速度不匹配的矛盾。
(2)减少对CPU的中断频率,放宽对中断响应时间的限制。
(3)提高CPU和I/O设备之间的并行性。
4、以独占设备为例简述设备分配的过程。
答:(1)设备的分配。
根据物理设备名,查找SDT;找出该设备的DCT,得该设备的状态:忙则将进程的PCB排入设备队列中等待;闲则分配设备给进程。
(2)控制器的分配。
根据设备的DCT找到与之相连的控制器的COCT,从中得到控制器的状态:忙则将进程的PCB排入控制器的等待队列中;闲则分配控制器给进程。
(3)通道的分配。
如果系统有通道,则根据控制器的COCT找到与之相连的通道的CHCT,从中得到通道的状态:忙则将进程的PCB挂入通道的等待队列中;否则分配通道给进程。
只有在三者都分配成功时,设备分配才算成功。
1、名词解释(1)虚拟存储器;虚拟存储器:由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。
操作系统实验指导书实验1 存储管理1、实验目的存储管理的主要功能之一是合理地分配空间。
请求页式管理是一种常用的虚拟存储管理技术。
本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的技术特点,掌握请求页式存储管理的页面置换算法。
2、实验内容(1)通过随机数产生一个指令序列,共320条指令。
指令的地址按下述原则生成:①50%的指令是顺序执行的;②50%的指令是均匀分布在前地址部分;③50%的指令是均匀分布在后地址部分。
具体的实施方法是:①在 [0,319] 的指令之间随即选取一起点m;②顺序执行一条指令,即执行地址为m+1的指令;③在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m′;④顺序执行一条指令,其地址为 m′+ 1;⑤在后地址[m′+ 2,319]中随机选取一条指令并执行;⑥重复上述步骤①-⑤,直到执行320次指令。
(2)将指令序列变换为页地址流设:①页面大小为1k;②用户内存容量为4页到32页;③用户虚存容量为32k。
在用户虚存中,按每k存放10条指令排在虚存地址,即320条指令在虚存中的存放方式为:第0条-第9条指令为第0页(对应虚存地址为[0,9]);第10条-第19条指令为第一页(对应虚存地址为[10,19]);……第310条~第319条指令为第31页(对应虚地址为[310,319])。
按以上方式,用户指令可组成32页。
(3)计算并输出下述各种算法在不同内存容量下的命中率。
①先进先出的算法(FIFO);②最近最少使用算法(LRR);③最佳淘汰算法(OPT)先淘汰最不常用的页地址;④最少访问页面算法(LFR);⑤最近最不经常使用算法(NUR)。
其中③和④为选择内容。
命中率=1-页面失效次数/页地址流长度在本实验中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。
3、随机数产生办法,Linux或UNIX系统提供函数strand()和rand(),分别进行初始化和产生随机数。
操作系统复习题一、单项选择题:在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码填写在题后的括号内;错选、多选或未选均无分;1.操作系统的主要功能是管理计算机系统中的 ; DA.程序B.数据C.文件D.资源2.产生死锁的基本原因是和进程推进顺序非法; AA.资源分配不当 B.系统资源不足C.作业调度不当 D.进程调度不当3.动态重定位是在作业的中进行的; DA.编译过程 B.装入过程C.连接过程 D.执行过程4.存放在磁盘上的文件, ; AA.既可随机访问又可顺序访问 B.只能随机访问C.只能顺序访问D.只能读写不能访问5.对于硬盘上存放的信息,物理上读写的最小单位是一个 ; CA.二进制bit B.字节byteC.物理块D.逻辑记录6.操作系统中利用信号量和P、V操作, ; CA.只能实现进程的互斥 B.只能实现进程的同步C.可实现进程的互斥与同步 D.可完成进程调度7.SPOOLing技术可以实现设备的 ; CA.独占 B.共享C.虚拟 D.物理8.在存储管理的各方案中,可扩充主存容量的方案是存储管理; DA.固定分区 B.可变分区C.连续 D.页式虚拟9.磁盘是可共享的设备,每一时刻进程与它交换信息; CA.允许有两个 B.可以有任意多个C.最多一个 D.至少有一个10.逻辑文件存放到存储介质上时,采用的组织形式是与有关; BA.逻辑文件结构 B.存储介质特性C.主存管理方式 D.分配外设方式11.在操作系统中, 是竞争和分配计算机系统资源的基本单位; BA.程序B.进程C.作业 D.线程12.作业调度的关键在于 ; C A.选择恰当的进程管理程序 B.用户作业准备充分C.选择恰当的作业调度算法 D.有一个较好的操作环境13.文件的保密是指防止文件被 ; C A.篡改 B.破坏C.窃取 D.删除14.系统抖动是指 ; D A.使用机器时,屏幕闪烁的现象B.由于主存分配不当,偶然造成主存不够的现象C.系统盘有问题,致使系统部稳定的现象D.被调出的页面又立刻被调入所形成的频繁调入调出现象15.避免死锁的一个着名的算法是 ; C A.先入先出算法B.优先级算法C.银行家算法 D.资源按序分配法16.在多进程的并发系统中,肯定不会因竞争而产生死锁; D A.打印机 B.磁带机C.磁盘 D.CPU17.用户程序中的输入、输出操作实际是由完成; C A.程序设计语言 B.编译系统C.操作系统 D.标准库程序18.在分页存储管理系统中,从页号到物理块的地址映射是通过实现的; B A.段表 B.页表C.PCB D.JCB19.在操作系统中,进程的最基本特征是 ; A A.动态性和并发性 B.顺序性和可再现性C.与程序的对应性 D.执行过程的封闭性20.一种既有利于短小作业又兼顾到长作业的作业调度算法是 ; C A.先来先服务 B.轮转C.最高响应比优先 D.均衡调度二、多项选择题:在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内;错选、多选、少选或未选均无分;21.从设备分配的角度来看,设备分成 ; ADE A.独享设备B.系统设备C.用户设备D.共享设备E.虚拟设备22.能影响中断响应次数的技术是 ; CD A.时间片 B.中断C.中断优先级 D.中断屏蔽E.特权指令23.文件的二级目录结构由 ; CDA.根目录 B.子目录C.主文件目录 D.用户文件目录E.当前目录24.驱动调度算法中算法可能会随时改变磁头臂的运动方向; BEA.电梯调度 B.先来先服务C.扫描 D.单向扫描E.最短时间优先25.有关设备管理要领的下列叙述中, 是不正确的; AEA.通道是处理输入输出的软件B.所有外围设备的启动工作都由系统统一来做;C.来自通道的I/O中断事件由设备管理负责处理D.编制好的通道程序是存放在主存储器中的E.由用户给出的设备编号是设备的绝对号26.存储管理中的地址转换仅需在CPU中设置一个控制寄存器的是管理. ACD A.单个分区 B.多个固定分区C.页式 D.段式E.多个可变分区27.在多进程的并发系统中,有关进程间的关系的正确的说法是 ; BDEA.都是逻辑上无关的 B.有些可能逻辑上无关的C.都是逻辑上无关的 D.有些可能逻辑上有关的E.它们之间都直接或间接发生关系28.有关设备管理中, 是正确的; ADEA.计算机系统为每台设备确定一个绝对号B.每台设备都应该有一个惟一的相对号C.申请设备时指定绝对号可提高设备的使用率D.申请设备时指定设备相对号使设备分配的灵活性强E.启动设备时应指出设备的绝对号29.UNIX系统中进程由三部分组成:进程控制块、正文段和数据段;这意味着一个程序的正文和数据是可以分开的,这种分开的目的是为了 ; ABCA.可共享正文 B.可共享数据C.可重入 D.方便编成E.以上全部30.在多进程的并发系统中,有关进程间的关系的正确的说法是 ; BDEA.都是逻辑上无关的 B.有些可能逻辑上无关的C.都是逻辑上无关的 D.有些可能逻辑上有关的E.它们之间都直接或间接发生关系三、填空题:请在每小题的空格中填上正确答案;错填、不填均无分;31.操作系统的功能可分为处理机管理、存储管理、文件管理、设备管理;32.进程的三种基本状态分别是就绪、执行、阻塞;33.文件的组织结构分为物理结构、逻辑结构,其中逻辑结构有无结构的流式和有结构的记录式两种; 34.对文件的存取操作是按文件名进行;35.分页式存储管理的相对地址由页号和页内地址两部分组成;36.存储管理的功能有存储空间的分配与回收、地址转换、存储扩充、存储共享与保护;37.死锁的解除方法有剥夺资源、撤销进程 ;38.进程由进程控制块、程序段、数据段三部分组成,其中进程控制块是进程存在的唯一标志;而数据段部分也可以为其它进程共享;39.产生死锁的四个必要条件是互斥、请求保持、不可剥夺和环路等待;40.从资源分配的角度可将设备分类为独享设备、共享设备、和虚拟设备;41.活动头磁盘的访问时间包括寻道时间、旋转延迟时间和传输时间 ;42.创建进程的主要任务是建立进程控制块 ,进程控制块是进程存在的惟一标志;43.在可变分区存储管理中, 为实现地址映射, 一般由硬件提供两个寄存器, 一个是基址寄存器基址寄存器, 另一个是限长寄存器 ;44.每个索引文件都至少有一张索引表;其中的每一个表项应当包括能够标识该记录的关键字或记录号和该记录的存放地址 ;45.Spooling系统中,作业执行时从磁盘上的输入井中读取信息,并把作业的执行结果暂时存放在磁盘上的输出井中;46.多道程序能提供CPU的使用效率,这是因为发挥了处理机与外部设备之间的并行工作能力;四、判断题,判断下列各题正误,正确的在题后括号内打“√”,错误的打“×”;47.进程和程序是一个概念的两种不同说法;48.操作系统只管理计算机系统中的软件资源;49.进程申请CPU得不到满足时,其状态变为等待状态;50.同一文件系统中不允许文件同名,否则会引起混乱;51.设备管理的独立性是指用户程序与具体的物理特性无关;52.线程调度切换时的系统开销要比进程调度切换时小;53.在文件系统的支持下,用户需要知道文件存放的物理位置;54.为了减少缺页中断率,页应该小一些;55.树结构目录的层次和隶属关系清晰,有利于文件和目录的共享;56.操作系统是一种时间驱动程序;57.采用缓冲技术,可以缓冲CPU与外设之间的速度不匹配问题;58.因为临界资源一次只允许一个用户使用,所以临界资源不能共享;59.进程是提交给计算机系统的用户程序;60.采用信号量和P、V操作,系统还可能产生死锁;61.虚拟存储系统可以在每一台计算机上实现;24.错25.错 26.错27.错 28.对29.对30.错 31.错32.对 33.错34.对35.错 36.错37.错 38.错62.原语是一种不可分割的操作;63.系统处于不安全状态不一定是死锁状态;;64.缓冲区的设置并不减少中断CPU的次数;65.不同的进程可以包含同一个程序;66.页式存储管理中,用户应将自己的程序划分成若干相等的页;67.操作系统中,内存的扩充就是指增加物理内存的容量;68.主存和辅存都可存放信息,惟一的区别是主存空间小,辅存空间大;69.如果信号量S的当前值为-5,则表示系统中共有5个等待进程;70.在多级目录中,进行文件检索都需从根目录开始;71.使用P、V操作后,可以防止系统出现死锁;72.操作系统的所有程序都必须常驻内存;73.打印机是一类典型的块设备;74.参与死锁的所有进程都占有资源;75.文件目录必须常驻内存;76.选择通道主要用于连接低速设备;39.对40.对 41.错 42.对 43.错44.错45.错 46.对47.对 48.错49.错50.错 51.错52.错 53.错五、简答题77.进程调度中"可抢占"和"非抢占"两种方式,哪一种系统的开销更大为什么答:可抢占式会引起系统的开销更大;可抢占式调度是严格保证任何时刻,让具有最高优先数权的进程占有处理机运行,因此增加了处理机调度的时机,引起为退出处理机的进程保留现场,为占有处理机的进程恢复现场等时间和空间开销增大;78.一个含五个逻辑记录的文件,系统把它以链接结构的形式组织在磁盘上,每个记录占用一个磁盘块,现要求在第一记录和第二记录之间插入一个新记录,简述它的操作过程;答:从文件目录中找到该文件,按址读出第一个记录;取出第一个记录块中指针,存放到新记录的指针位置;把新记录占用的物理块号填入第一个记录的指针位置;启动磁盘把第一个记录和新记录写到指字的磁盘块上;79.在计算机上配置操作系统的目的有哪几个方面答:从资源管理、功能扩充、使用方便、安全可靠等方面考虑;80.文件系统的功能可归纳为哪几个方面答:提供方便的文件系统应用接口,将逻辑文件映射为物理文件,保证文件存储的安全性和可靠性;六、综合题81.在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167,若该作业的第0页已经装入主存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题:1按FIFO调度算法将产生几次缺页中断依次淘汰的页号为哪些缺页中断率为多少2按LRU调度算法将产生几次缺页中断依次淘汰的页号为哪些缺页中断率为多少答:1按FIFO先来先服务调度算法将产生5次缺页中断;依次淘汰的页号为:0,1,2;缺页中断率为:5/10=50%答:2按LRU最短寻找时间优先调度算法将产生6次缺页中断;依次淘汰的页号为:2,0,1,3; 缺页中断率为:6/10=60%82.若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间;1先来先服务算法;答:先来先服务算法使移动臂的移动次序和移动的柱面数如下 40 → 20 → 44 → 40 → 4 → 80 → 12 → 76 20 24 4 36 76 68 64共移动292柱面 ,共花时间为:3毫秒×292=876毫秒 2最短寻找时间优先算法答:最短寻找时间优先算法使移动臂的移动次序和移动的柱面数如下: 40 → 44 → 20 → 12 → 4 → 76 → 80 4 24 8 8 72 4共移动120柱面,共花时间为:3毫秒×120=360毫秒83.某系统中有10台打印机,有三个进程P1,P2,P3分别需要8台,7台和4台;若P1,P2,P3已申请到4台,2台和2台;试问:按银行家算法能安全分配吗请说明分配过程;答:系统能为进程P3分配二台打印机;因为尽管此时10台打印机已分配给进程P1 4台,P2 2台和P3 4台,全部分配完,但P3已分配到所需要的全部4台打印机,它不会对打印机再提出申请,所以它能顺利运行下去,能释放占用的4台打印机,使进程P1,P2均可能获得乘余的要求4台和5台,按银行家算法是安全的; 84.有一磁盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区;假定分配以扇区为单位,若使用位示图管理磁盘空间,问位示图需要占用多少空间若空闲文件目录的每个表目占用5个字节,问什么时候空闲文件目录大于位示图答:从题目给出的条件可知,该磁盘的总扇区数为:16扇100道10面=16000扇;1若使用位示图来管理磁盘空间,每个扇区将占用位示图中的1位,则整个磁盘空间共需16000位来表示;2若使用空闲文件目录法管理,且每个空闲文件目录占用5个字节,则当表目数量超过400个时,空闲文件目录大于5400=2000字节;即16000位机密★启用前高等教育自学考试××××××××试题答案及评分参考×课程代码 ××××一、单项选择题本大题共××小题,每小题××分,共××分1.× 2.× 3.× 4.× 5.× 6.×7.×8.×9.×10.×11.× 12.× 13.× 14.× 15.× 16.×17.×18.×19.×20.×二、多项选择题本大题共××小题,每小题××分,共××分21.22.23.24.25.三、填空题本大题共××小题,每小题××分,共××分26.27.四、名词解释题本大题共小题,每小题分,共分评分参考1考生作答所用词语、句式、前后顺序与答案不同,只要意思正确,就应给分;2考生要点回答不完整,也应酌情给分;28.五、判断说明题本大题共小题,每小题分,共分评分参考1考生作答所用词语、句式、前后顺序与答案不同,只要意思正确,就应给分;2考生要点回答不完整,也应酌情给分;29.六、简答题本大题共小题,每小题分,共分评分参考1考生作答所用词语、句式、前后顺序与答案不同,只要意思正确,就应给分;2考生要点回答不完整,也应酌情给分;30.七、论述题本大题共小题,每小题分,共分评分参考1考生作答所用词语、句式、前后顺序与答案不同,只要意思正确,就应给分;2考生要点回答不完整,但所回答要点论述较好,可根据具体情况,适当加分,但每小题得分不得超过该题满分;3考生作答与答案要点意思不一致,只要言之成理,可酌情给分,但每小题得分不得超过该题满分;31.八、案例分析题本大题共小题,每小题分,共分评分参考1考生作答所用词语、句式、前后顺序与答案不同,只要意思正确,就应给分;2考生要点回答不完整,但所回答要点论述较好,可根据具体情况,适当加分,但每小题得分不得超过该题满分;3考生作答与答案要点意思不一致,只要言之成理,可酌情给分,但每小题得分不得超过该题满分;32.。
实习四 主存储器空间的分配和回收一,实习题目本实习模拟在两种存储管理方式下的主存分配和回收。
第一题:在可变分区管理方式下采用最先适应算法实现主存分配和实现主存回收。
[提示]:可变分区方式是按作业需要的主存空间大小来分割分区的。
当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入。
随着作业的装入、撤离,主存空间被分成许多个分区,有的分为了 说明哪些区是空闲的,可以用来装入新作业,必须要有一张空闲区说明表,格式如下:第一栏 第二栏其中,起址——指出一个空闲区的主存起始地址。
长度——指出从起始地址开始的一个连续空闲的长度。
状态——有两种状态,一种是“未分配”状态,指出对应的由起址指出的某个长度的区域是空闲区;另一种是“空表目”状态,表示表中对应的登记项目是空白(无效),可用来登记新的空闲区(例如,作业撤离后,它所占的区域就成了空闲区,应找一个“空表目”栏登记归还区的起址和长度且修改状态)。
由于分区的个数不定,所以空闲区说明表中应有适量的状态为“空表目”的登记栏目,否则造成表格“溢出”无法登记。
上述的这张说明表的登记情况是按提示(1)中的例所装入的三个作业占用的主存区域后填写的。
(2) 当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出一个足够大的空闲区。
有时找到的空闲区可能大于作业需要量,这时应把原来的空闲区变成两部分:一部分分给作业占用;另一部分又成为一个较小的空闲区。
为了尽量减少由于分割造成的空闲区,而尽量保存高地址部分有较大的连续空闲区域,以利于大型作业的装入。
为此,在空闲区说明表中,把每个空闲区按其地址顺序登记,即每个后继的空闲区其起始地址总是比前者大。
为了方便查找还可使表格“紧缩”,总是让“空表目”栏集中在表格的后部。
(3) 采用最先适应算法(顺序分配算法)分配主存空间。
按照作业的需要量,查空闲区说明表,顺序查看登记栏,找到第一个能满足要求的空闲区。
当空闲区大于需要量时,一部分用来装入作业,另一部分仍为空闲区登记在空闲区说明表中。
由于本实习是模拟主存的分配,所以把主存区分配给作业后并不实际启动装入程序装入作业,而用输出“分配情况”来代替。
最先适应分配算法如图4-1。
(4) 当一个作业执行结束撤离时,作业所占的区域应该归还,归还的区域如果与其它空闲区相邻,则应合成一个较大的空闲区,登记在空闲区说明表中。
例如,在提示(1)中列举的情况下,如果作业2撤离,归还所占主存区域时,应与上、下相邻的空闲区一起合成一个大的空闲区登记在空闲区说明表中。
归还主存时的回收算法如图4-2。
(5) 请按最先适应算法设计主存分配和回收的程序。
然后按(1)中假设主存中已装入三个作业,且形成两个空闲区,确定空闲区说明表的初值。
现有一个需要主存量为6K的作业4申请装入主存;然后作业3撤离;再作业2撤离。
请你为它们进行主存分配和回收,把空闲区说明表的初值以及每次分配或回收后的变化显示出来或打印出来。
二,本实验用到的一些数据结构有:typedef struct NODE{char name;//名称float start;//起始位置float end;//大小int flag;//是否分配的标志}NODE;NODE OS[COUNT];//数组三,流程图四,源代码#include <stdio.h>#include<math.h>#define COUNT 512typedef struct NODE{char name;//名称float start;//起始位置float end;//大小int flag;//是否分配的标志}NODE;NODE OS[COUNT];//数组int count;//被分成的块数统计int applyfree;float numb;char c;//先对数组进行初始化,使没有分配的名称为 P void init(){count=1;OS[0].name ='P';OS[0].start =0;OS[0].end =COUNT;OS[0].flag =1;}//对数组的插入操作void insert(int m,float st,float en){int i;count++;for(i=count;i>m+1;i--){OS[i]=OS[i-1];}OS[m].start =st;OS[m].end =en;}//移动操作,即对数组的删除操作void move(int m){int i;for(i=m;i<count-1;i++){OS[i]=OS[i+1];}count--;}//如果相邻块都没有分配,则要合并到一起void rremove(int m,float st,float en){if(!OS[m-1].flag &&!OS[m+1].flag ){OS[m].name ='P';OS[m].flag =1;}if(OS[m-1].flag ){OS[m-1].end =OS[m-1].end +en;move(m);}if(OS[m+1].flag ){OS[m].end =OS[m].end +OS[m+1].end ;OS[m].name ='P';OS[m].flag =1;move(m+1);}}//打印输出void show(){printf("名称标识起址长度状态\n");for(i=0;i<count;i++){if(OS[i].flag )printf("P ");elseprintf("%c ",OS[i].name );printf("%d %1.0f %1.0f ",i,OS[i].start ,OS[i].end );if(OS[i].flag )printf("未分配\n");elseprintf("已分配\n");}}//从键盘输入数据void putin(){printf("请输入申请或者释放的进程名称及资源数量:\n");rewind(stdin);scanf("%c",&c);scanf("%d",&applyfree);scanf("%f",&numb);}int apply(){int i=0;int applyflag=0;int freeflag=0;if(applyfree)//提出申请资源{while(!applyflag&&i<count){if(OS[i].end >=numb&&OS[i].flag ){if(OS[i].end ==numb){OS[i].name =c;OS[i].flag =0;}else{insert(i+1,OS[i].start +numb,OS[i].end -numb);OS[i+1].flag =1;OS[i+1].name ='P';OS[i].start =OS[i].start ;OS[i].name =c;OS[i].end =numb;OS[i].flag =0;}applyflag=1;}i++;if(applyflag){printf("申请成功!\n");return 1;}else{printf("申请失败!没有足够大的空闲空间。
\n");return 0;}}else//提出释放资源{while(!freeflag&&i<count){if(OS[i].name ==c){if(OS[i].end ==numb){rremove(i,OS[i].start ,OS[i].end );}else{if(OS[i].end >numb){insert(i+1,OS[i].start +numb,OS[i].end -numb);OS[i+1].name ='P';OS[i+1].flag =0;OS[i].end =numb;OS[i].flag =1;if(OS[i-1].flag ){rremove(i,OS[i].start ,OS[i].end );}}else{printf("释放失败,因为正使用的数量小于要求释放的数量。
\n");return 0;}}freeflag=1;}i++;}if(freeflag){printf("释放成功!\n");return 1;}else{printf("释放失败!未找到匹配的进程名称。
\n");return 0;}}void main(){init();show();while(1){putin();apply();show();}}五,执行结果空闲区说明表的初始状态作业4的申请量以及为作业4分配后的空闲区说明表状态作业3和作业2的归还量以及回收作业3,作业2所占主存后的空闲区说明表第二题:在分页式管理方式下采用位示图来表示主存分配情况,实现主存空间的分配和回收。
[提示]:(1) 分页式存储器把主存分成大小相等的若干块,作业的信息也按块的大小分页,作业装入主存时可把作业的信息按页分散存放在主存的空闲块中,为了说明主存中哪些块已经被占用,哪些块是尚未分配的空闲块,可用一张位示图来指出。
位示图可由若干存储单元来构成,其中每一位与一个物理块对应,用0/1表示对应块为空闲/已占用。
(2) 假设某系统的主存被分成大小相等的64块,则位示图可用8个字节来构成,另用一单元记录当前空闲块数。
如果已有第0,1,4,5,6,9,11,13,24,31,共10个主存块被占用了,那么位示图情况如下:图4-1 最先适应分配模拟算法图4-2 主存回收算法(3) 当要装入一个作业时,根据作业对主存的需要量,先查当前空闲块数是否能满足作业要求,若不能满足则输出分配不成功。
若能满足,则查位示图,找出为“0”的一些位,置上占用标志“1”,从“当前空闲块数”中减去本次占用块数。
按找到的计算出对应的块号,其计算公式为:块号= j 8+i其中,j表示找到的是第n个字节,I表示对应的是第n位。
根据分配给作业的块号,为作业建立一张页表,页表格式:(4) 当一个作业执行结束,归还主存时,根据该作业的页表可以知道应归还的块号,由块号可计算出在位示图中的对应位置,把对应位的占用标志清成“0”,表示对应的块已成为空闲块。