操作系统第4章以后的习题答案

合集下载

操作系统-第4章复习题答案

操作系统-第4章复习题答案

操作系统-第4章复习题答案操作系统第四章复习题⼀、选择题1、在可变式分区分配⽅案中,某⼀作业完成后系统收回其主存空间,并与相邻空闲区合并,为此修改空闲区表,造成空闲区数减⼀的情况是( D )。

A ⽆上邻空闲区,也⽆下邻空闲区B 有上邻空闲区,但⽆下邻空闲区C 有下邻空闲区,但⽆上邻空闲区D 有上邻空闲区,也有下邻空闲区2、分区式存储器管理⽅式,每个程序(B)。

A ⼀定在分区中连续,部分存放B ⼀定在分区中连续,整体存放C 可以在分区中不连续,整体存放D 可以在分区中连续,部分存放3、下列选项中对分段存储管理叙述正确的是(B)A 分段存储管理中每个段必须是⼤⼩相等的。

B 每⼀段必须是连续的存储区C 每⼀段不必是连续的存储区D 段间的存储区必须是连续的4、下列对重定位的叙述中,正确的选项是(B)。

A 经过静态重定位后,指令代码并不发⽣变化。

B 经过静态重定位后,数据地址和指令地址发⽣了变化C 经过动态重定位后,指令代码中的操作码和操作数地址都要发⽣变化。

D经过动态重定位后,数据地址发⽣了变化⽽指令地址没有发⽣变化。

5、虚拟存储器功能的管理⽅法包括(C)。

A 可变分区存储管理B 基本分页存储管理C 请求分段存储管理D 段页式存储管理6、虚拟存储器的最⼤容量(C)。

A 由作业的地址空间决定B 是任意的C 由计算机的地址结构决定的D 为内、外容量之和7、操作系统为( C )分配内存空间。

A线程B⾼速缓冲存储器(Cache)C 进程 D 块表8、下⾯的页⾯置换算法中会产⽣所谓Belady异常现象的是(B)。

A 最佳页⾯置换算法(OPT)B 先进先出页⾯置换算法(FIFO)C 最近最久未使⽤页⾯置换算法(LRU)D 最少使⽤页⾯置换算法(LFU)9、采⽤( B )不会产⽣内部碎⽚。

A 分页式存储管理B 分段式存储管理C 固定分区式存储管理D 段页式存储管理10、最佳适应算法的空闲区是(B)。

A 按⼤⼩递减顺序连在⼀起B按⼤⼩递增顺序连在⼀起C 按地址由⼩到⼤排列D 按地址由⼤到⼩排列11、在可变式分区存储管理中的拼接技术可以(A)。

《操作系统》第三版第四章课后答案

《操作系统》第三版第四章课后答案
设备驱动程序是驱动外部设备和相应的控制器等,使其可以直接和内存进行I/O操作的子程序的集合。它是I/O进程与设备控制器之间的通信程序
2、Spooling技术
也备的技术
六、简答题
1、操作系统设备管理的目标是什么?
*提高I/O设备和CPU的利用率
*提高I/O速度
*为用户使用设备提供方便、统一的界面
3、引入Spooling系统有哪些好处
*提高了I/O速度,将独占设备改造成共享设备,实现了虚拟设备功能,提高了系统的并行性,减少了用户进程的等待时间,提高了进程的推进速度。
5、什么是设备独立性?引入设备独立性有哪些好处?
*设备独立性也称设备无关性,指应用程序与实际使用的物理设备无关,亦即它独立于具体的物理设备。用户程序中使用逻辑设备,由操作系统完成逻辑设备到物理设备的映射
第四章(与磁盘相关不做)
一、填空题
1:字符、块、字符
2:设备驱动
3:缓冲
5:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程
6:中断源
7:中断、DMA、通道
二、单项选择题
1、B
2、B C
6、C
7、A
三、多项选择题
1、BC
2、AB
3、AB DE
四、判断题
1、×
2、√
3、√
4、×
五、名词解释
1、设备驱动程序
*好处:设备分配时的灵活性、易于实现I/O重定向、方便用户编程

操作系统第4章习题带答案

操作系统第4章习题带答案

第四章一、问答题1、同步机制应遵循的准则是什么?2、死锁产生的4个必要条件是什么?它们是彼此独立的吗?3、简述死锁的定义和死锁产生的原因。

4、简述死锁定理和解除死锁的方法。

5、什么是安全状态?怎么判断系统是否处于安全状态?6、同步机制应遵循的准则是什么?7、死锁产生的4个必要条件是什么?它们是彼此独立的吗?二、计算题(共20分)1、当前系统中出现下述资源分配情况:利用银行家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?答:Request(1,2,2,2)<=(2,3,5,6)申请合法Request(1,2,2,2)<=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1没有进程的need满足<=work系统处于不安全状态,系统拒绝此次资源分配。

2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。

它们向系统申请资源的次序和数量如表所示。

回答:问:采用死锁避免的方法进行资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满足?答:第1次申请,Q申请资源2,系统安全,分配第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满足。

3、一个计算机系统有6个磁带驱动器和4个进程。

每个进程最多需要n个磁带驱动器。

问当n为什么值时,系统不会发生死锁?并说明理由答:n=2理由同第4题(进程资源最大需求-1)×进程数量+1≤系统资源数量4、若系统有某类资源m×n+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行的每一个进程对该资源的占有量任何时刻都不会超过m+1个。

孙钟秀操作系统第四章部分习题答案

孙钟秀操作系统第四章部分习题答案

20.在一个分页虚拟存储系统中,用户编程空 间为32个页,页长1KB,主存空间为16KB。 如果应用程序有10页长,若已知虚页0、1、 2、3,已分得页框4、7、8、10,试把虚地 址0AC5H和1AC5H装换成对应的物理地址。 解:32=25 用5位表示页号 1KB=210B 用10位表示页内偏移 0AC5H=0000 1100 0101B 1AC5H=0001 1010 1100 0101B 缺页中断 物理地址:0010 0010 1100 0101 =22C5H
7.一个进程以下列次序访问5个页:A、B、C、 D、A、B、E、A、B、C、D、E;假定使 用FIFO替换算法,在主存储器重有3个和4 个空闲页框的情况下,分别给出页面替换 次数。 解:3个页框:页面替换次数为9 4个页框:页面替换次数为10
8.某计算机有缓存、主存储器、辅助存储器 来实现虚拟存储器。如果数据在缓存中, 访问数据需要Ans;如果数据在主存但不在 缓存,需要Bns将其装入缓存,然后才能访 问;如果数据不再主存而在辅存,需要Cns 将其读入主存。最后用Bns再读入缓存,然 后才能访问。假设缓存命中率为(n-1)/n, 主存命中率为(m-1)/m,则数据平均访问时间 是多少?
请求(1)
12K 10K 剩余 删除 删除 8 8 9K 空闲 剩余 18 9 15 9 9 删除 6 删除
空闲 剩余 空闲 首次适应 最佳适应 最差适应 下次适应 20 12 20 20 8 删除 8 8 10 10 18 18
10K、4K、20K、18K、 4K、7K、9K、10K、12K、15K、18K、20K 20K、18K、15K、12K、10K、9K、7K 、4K
1.在一个请求分页虚拟存储管理系统中,一 个程序运行的页面走向是: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 分别用FIFO、OPT、LRU算法,对于分配 给程序3个页框、4个页框、5个页框和6个 页框的情况,求出缺页中断次数和缺页中 断率。

操作系统第二版课后习题答案

操作系统第二版课后习题答案

操作系统第二版课后习题答案操作系统第二版课后习题答案操作系统是计算机科学中的重要领域,它负责管理计算机硬件和软件资源,为用户提供良好的使用体验。

在学习操作系统的过程中,课后习题是巩固和深化知识的重要方式。

本文将为大家提供操作系统第二版课后习题的答案,帮助读者更好地理解和掌握操作系统的知识。

第一章:引论1. 操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理。

2. 进程是指正在执行的程序的实例。

进程控制块(PCB)是操作系统用来管理进程的数据结构,包含进程的状态、程序计数器、寄存器等信息。

3. 多道程序设计是指在内存中同时存放多个程序,通过时间片轮转等调度算法,使得多个程序交替执行。

4. 异步输入输出是指程序执行期间,可以进行输入输出操作,而不需要等待输入输出完成。

第二章:进程管理1. 进程调度的目标包括提高系统吞吐量、减少响应时间、提高公平性等。

2. 进程调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、时间片轮转等。

3. 饥饿是指某个进程长时间得不到执行的情况,可以通过调整优先级或引入抢占机制来解决。

4. 死锁是指多个进程因为争夺资源而陷入无限等待的状态,可以通过资源预分配、避免环路等方式来避免死锁。

第三章:内存管理1. 内存管理的主要任务包括内存分配、内存保护、地址转换等。

2. 连续内存分配包括固定分区分配、可变分区分配和动态分区分配。

3. 分页和分段是常见的非连续内存分配方式,分页将进程的地址空间划分为固定大小的页,分段将进程的地址空间划分为逻辑段。

4. 页面置换算法包括最佳置换算法、先进先出(FIFO)算法、最近最久未使用(LRU)算法等。

第四章:文件系统管理1. 文件是操作系统中用来存储和组织数据的逻辑单位,可以是文本文件、图像文件、音频文件等。

2. 文件系统的主要功能包括文件的创建、删除、读取、写入等操作。

3. 文件系统的组织方式包括层次目录结构、索引结构、位图结构等。

《操作系统》第4章教材习题解答

《操作系统》第4章教材习题解答

第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。

内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。

由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。

由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。

程序和数据装入内存时,需对目标程序中的地址进行修改。

这种把逻辑地址转变为内存物理地址的过程称作重定位。

静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。

动态重定位是在程序执行期间,每次访问内存之前进行重定位。

这种变换是靠硬件地址转换机构实现的。

内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。

为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。

这种技术称为紧缩(或叫拼凑)。

虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。

为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。

若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。

此时,系统好像很忙,但实际效率却很低。

这种现象称为“抖动”。

2.基本原理和技术(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。

CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。

操作系统第四章课后习题解答答案免费范文精选

操作系统第四章课后习题解答答案免费范文精选

P152第四章作业5. 运行时动态链接方式,是装入时链接方式的一种改进,将对某些模块的链接推迟到程序执行时才进行。

亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由 OS 去找到该模块,并将之装入内存,将其链接到调用者模块上。

优点:凡是在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅能加快程序的装入过程,而且可节省大量的内存空间。

7.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。

引入重定位的目的就是为了满足程序的这种需要。

要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。

程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。

13.在多道环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使 CPU 停止下来等待的情况;另一方面,却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。

显然这对系统资源是一种严重的浪费,且使系统吞吐量下降。

为了解决这一问题,在操作系统中引入了对换(也称交换)技术。

可以将整个进程换入、换出,也可以将进程的一部分(页、段)换入、换出。

前者主要用于缓解目前系统中内存的不足,后者主要用于实现虚拟存储。

15.系统应具备三方面功能:对换空间管理,进程换出,进程换入。

24.在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。

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

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

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

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

第四章存储器管理一、单项选择题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. C存储管理支持多道程序设计,算法简单,但存储碎片多。

A. 段式B. 页式C. 固定分区D. 段页式2.虚拟存储技术是 B 。

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调用执行的程序所对应的地址空间为 D 。

A. 名称空间B. 虚拟地址空间C. 相对地址空间D. 物理地址空间13. C 存储管理方式提供二维地址结构。

A. 固定分区B. 分页C. 分段D. 物理地址空间14.当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为B 。

A. 源程序B. 目标程序C. 可执行程序D. 非执行程序15.目录程序指令的顺序都以0作为一个参考地址,这些地址被称为 A 。

《操作系统》习题集参考答案:第4章 文件系统

《操作系统》习题集参考答案:第4章 文件系统

第4章文件系统-习题集参考答案一、选择题1. D2. A3. D4. A5. B6. A //一个文件对应一个文件控制块,所有文件控制块构成目录文件7. A //在文件系统中,为每个文件建立一个文件目录,作为目录文件的一个目录项,包含文件的名称及其属性。

8. C9. C //在设置当前工作目录后,文件查找在默认情况下是查当前目录,从而提高查找速度。

10. D11. C12. B13. C //如UNIX中,采用了把文件名与文件描述信息分开的方法,即使文件描述信息单独形成一个称为索引节点的数据结构,简称i节点(索引节点),这样文件目录中仅由文件名各指向该文件所对应的i节点的指针所构成,这样目录项仅有16个字节,其中14个字节为文件名,2个字节为i节点指针。

在1KB的盘块中可做1KB/16B=64个目录项,这样,为找到一个文件,可以大小减少读入内在的信息量。

14. B //只有索引分配方式中的FCB才包含索引表地址15. B16. B17. D //1K/64=1618. C //本注:每块能存放的目录项=1K/64=16个;3200个目录项占用盘块数=3200/16=200。

因为一级目录平均访问盘次数=1/2盘块数(顺序查找目录表中所有目录项,每个目录项为一个FCB),所以平均访问磁盘次数=200/2=100次。

19. C//本注:1.用的是称做“混合索引”的方式。

2.思路很简单,只是要用些专用概念3.三类地址项:1)直接地址项,每个地址直接管理一个“文件块”,而每个“块”是256字节。

共4个这种地址,所以管理:4*256=1KB2)一级间接地址项,每个地址项管理一个“索引块”,而索引块的大小也是256字节,其中可放置:256/4=64个地址项,而每个地址项管理256字节文件。

所以,2个一级间址可管理文件大小:2*64*256=32KB3)二级间接地址项,地址项→索引块→索引块→文件数据块。

所以可管理文件数据:1*64*64*256=1024KB.4.综合上面可管理的文件大小为:1+32+1024=1057KB20. B21. B22. B //每个盘面物理块=200*4=800块,盘面数=8000/800=10,互盘有两个盘面。

操作系统习题第四章答案

操作系统习题第四章答案

第四章互斥、同步与通讯答案一、单项选择题1.B2.D3.B4.B5.D6.A7.C8.B9.D 10.C11.D 12.C 13.C 14.B 15.B 16.B 17.A 18.B 19.D 20.B21.B 22.A 23.C 24.B 25.B 26.B 27.A 28.C二、多项选择题1.[分析]任何一台CPU在每一时刻只能解释执行一条指令,因而,不可能在同一时刻为多个进程服务。

进程可同时执行的含义是一个进程的工作没有全部完成之前另一进程就可开始工作。

所以,实际上多个进程是轮流占用CPU运行的。

到底哪个进程能占用处理器不仅与进程自身有关,且受外界因素的影响;当多个进程竞争CPU时,必须由进程调度来决定当前哪个进程可以占用CPU;故每个进程都是走走停停的,进程执行的速度不能完全由进程自己来控制。

并发进程相互之间可能是无关的,即它们是各自独立的,这些进程中每一个进程的执行既不依赖于其它进程也不会影响其它进程的执行。

但是,有些并发进程需使用共享资源,为保证进程执行的正确性,对共享资源的使用必须加以限制。

同步就是并发进程中的一种制约关系,一个进程能否使用共享资源取决于其它进程的消息,只有指定的消息到达才可使用共享资源。

如果无约束地使用共享资源,则可能出现多个进程交替地访问共享资源,于是就可能会出现与时间有关的错误。

故本题的答案为C、D、E。

[题解]C、D、E。

2.[分析]根据P操作的定义,当调用P操作时, P操作把信号量S减去1,若结果小于0则调用者将等待信号量,否则可继续运行。

因而,若调用P(S)后S的值为>=0则进程可以继续运行,故应选择A和D。

要注意不能选择C,因S<>0包含了S>0和S<0,当S<0时进程将成为等待状态而不能运行。

[题解]A,D。

3.[题解]A,C,E。

三、判断题1. [题解]是。

2.[分析]如果不控制并发进程执行的相对速度,则它们在共享资源时可能会出现两种情况:一种是并发进程交替使用共享资源,这样就可能会发生与时间有关的错误;另一种是并发执行的速度没有致使它们交替使用共享资源,这时就不会出现与时间有关的错误。

操作系统概论第四章文件管理习题解答

操作系统概论第四章文件管理习题解答

“操作系统概论”习题解答之第4章文件管理第4章习题解答1、什么叫文件答:所谓文件是指逻辑上具有完整意义的信息集合..2、文件系统应具有哪些功能答:文件系统主要是实现“按名存取”..为了能正确地按名存取;文件系统具有如下功能:①、实现从逻辑文件到物理文件间的转换..②、有效地分配文件的存储空间..③、建立文件目录..④、提供合适的存取方法以适应各种不同的应用..⑤、实现文件的安全性..⑥、提供一组文件操作..3、解释下列术语并说明它们之间的关系:存储介质、卷、块、记录、文件..答:存储介质:指信息的载体;可用来记录信息的磁带、硬磁盘组、软磁盘片、光盘、卡片等称为存储介质..卷:存储介质的物理单位定义为卷..块:存储介质上可连续存储信息的一个区域称为块;也叫物理记录..记录:记录分为逻辑记录和物理记录;逻辑记录指按逻辑上独立的含义划分的信息单位;物理记录即块..文件:把逻辑上具有完整意义的信息集合称为文件..一卷存储介质可以被分成若干个块;能用来存放一个或多个文件;一个文件可以由多个记录组成;这样的文件被称为记录式文件;一个记录可占用存储介质上的一块;或一块中可以存放多个记录..4、什么是文件的逻辑结构和存储结构答:用户是从使用的角度来组织文件;用户把能观察到的且可以处理的信息根据使用要求构造成文件;这种构造方式称为文件的逻辑结构..文件系统是从文件的存储和检索的角度来组织文件;在存储媒介上的文件构造方式称为文件的存储结构..5、解释顺序文件、链接文件和索引文件..答:1、顺序结构:将一个文件逻辑上连续的信息存放在存储介质磁盘中相邻的块上;这种存储结构保证了逻辑记录顺序和物理块顺序相一致..磁带上的文件只能是顺序结构的;因为磁带机本身就是个顺序存取的设备..2、链接结构串联结构:文件所占用的存储介质物理块不再要求连续相邻的;可以分散在存储媒介上..在结构上;采用链表的结构方式;将每一块的最后一个单元用来存放下一个物理块的地址;形成指针链..最后一块的最后一个单元为0表示结束..3、索引结构:和链接结构一样;也是一个非连续存储的结构;但它不采用链接方式;而是为每一个文件建立一张索引表;索引表中存放文件中每一个记录存放的物理地址..6、解释记录的成组和分解操作..采用这种技术有什么优点答:1、当文件的一个逻辑记录的长度小于一个物理块的长度的时候;我们可以把若干个逻辑记录合并成一组存到一个物理块中;这个工作称为成组..访问某个记录的时候;需要把这个记录从它所在的块中的一组记录中分离出来;这一工作称为分解..2、记录的成组和分解可以提高存储空间的利用率;并且可以减少存储设备的启动次数..因为I/O操作每次都要读进来一块;成组后;就意味着一次读进来多个连续的记录;当顺序访问记录的时候;可以节省I/O次数..但是;成组和分解都需要设立缓冲区;成组时先在缓冲区中将记录成组;然后再将组存放到物理块中;分解的时候是将块读到缓冲区中;再进行访问记录的分离..缓冲区的建立增加了系统的开销..其次;成组与分解需要软件做额外的工作..7、假定某个文件由长度为80个字符的100个逻辑记录组成;磁盘存储空间被划分成长度为2048个字符的块;为有效地使用磁盘空间;你可采用成组方式把文件存放到磁盘上;回答下列问题:①、该文件至少占用多少磁盘存储块②、若该文件是以链接结构形式在磁盘上的;现用户要求使用第28个逻辑记录;写出系统为满足用户要求而应做的主要工作..答:①、每块能存放的记录个数为「2048/80」=25个..一共需要 100/25=4块..②、首先系统计算出第28个记录在第2个物理块上;然后系统通过文件目录读出第一块物理块;在该块最后单元找到第二物理块的地址;读出第二物理块;再按第28个记录在第二块中的位置读出该记录..8、页式存储管理中用位示图表示主存空间的分配情况;磁盘存储空间的分配也可用位示图来表示;两者能合用一张位示图吗答:不行;主存空间和磁盘存储空间是两种不同的存储空间;应该使用不同的位示图来表示分配情况..9、假定有一个盘组共有100个柱面;每个柱面上有8个磁道;每个盘面被分成8个扇区..现采用位示图的方法管理磁盘空间..请回答下列问题:1、该盘组共被划分成多少个物理块2、若采用字长为32位的字来组成位示图;共需多少个字3、若从位示图中查找到第50个字的第16位对应的位是“0”;那么其对应的空闲块应在哪个柱面上应对应哪个扇区应当那个磁头来完成信息的传送答:1、该盘组共被划分为100×8×8=6400个物理块..2、若采用字长为32位的字来组成位示图;则共需6400/32=200个字..3位示图中第 50个字的第 16位对应的存储块号为:50×32+16=1616;故它在盘组上的位置为:柱面号=块号/柱面上块数=1616/64=25 商25余数16磁头号=块号 mod 柱面上块数/盘面上扇区数=〔1616 mod 64/8〕=〔16/8〕=2扇区号=块号 mod 柱面上块数mod 盘面上扇区数=1616 mod 64mod 8=16 mod 8=010、设某文件由5个逻辑记录组成;每个逻辑记录的长度均为510字节..该文件采用链接结构存储在磁盘上;磁盘块大小为512字节;用2个字节存放链接指针;存放该文件的磁盘块号依次为第50、121、75、80、63块..现要使用含有文件中第1569个字节的逻辑记录;请问应读出哪个磁盘块中的信息答:由于每个记录为510字节;另用2个字节存放指针;则512字节的磁盘块正好可以存放一个记录..1569字节所在的逻辑记录是第四个记录;0-512-1024-1536-2048;也就是第四个逻辑盘块;应该存放在磁盘的80物理块号块上..11、为了实现按名存取;文件目录应包含哪些内容答:为了实现按名存取;文件目录至少要包括文件的名字和文件存放的物理地址;除此之外;目录中还可以包含其他的控制和管理文件的信息;如:文件类型、记录长度、记录个数、口令、建立日期、保存期限、上次修改时间等.. 12、怎样才能防止不同的用户可能给各自的文件取了相同的名字而造成混乱答:可以采用二级目录或多级目录结构..在主目录中登记每个用户的名字和用户文件目录的存放地址;在第二级用户文件目录中登记用户的每个文件的文件名及文件存放位置..这样;不同的用户有同名文件时;由于文件的路径是不一样的;所以不会产生混乱..多级目录是在二级目录的基础上;在用户目录下;根据项目和应用领域再建立子目录和孙目录;这样可以避免同一个用户的同名文件造成的混乱..13、有一个文件可供两个用户共享;但这两个用户却对这个文件定义了不同的名字;为了保证两个用户都能存取该文件;应怎样设置文件目录简单画出目录结构关系并加以解释..答:采用二级目录结构..如图所示;用户A和用户B对一个共享文件分别定义了不同的名字a-1和b-2;只要在它们各自的目录表中把相应的文件存放地址填上共享文件在存储介质上的起始位置;当用户A 存取a -1文件;用户B 存取b -2文件时;文件系统按照目录查找文件时得到相同的文件存放位置..于是各用户使用了不同的文件名;却仍能共享同一文件..主目录用户A 答:文件的存取方法有两种:顺序存取和随机存取..文件的存取方法决定了文件的存储结构;它们的关系如下表所示..15、区分文件的保护和保密..答:文件的保护是指防止文件被破坏..文件的保密是指防止他人窃取文件..16、怎样防止由于系统故障而造成的文件被破坏答:防止系统故障而造成的文件被破坏的方法有两种:1、一种方法是采用建立副本的办法来解决;可以建立在同类型的不同存储介质上;也可以建立在不同类型的存储介质上;当系统出现故障时;根据系统故障的具体情况来选取副本..2、另一种方法是采取定时转储;定时把文件转储到其它存储介质上;当文件发生故障时;就用转储的文件来复原..17、怎样防止用户共享文件可能造成的文件被破坏答:为了防止在使用共享文件时有意无意的破坏;可对每个文件规定存取权限..如:只读;可读写;只允许执行;不能删除等..对多用户可共享的文件采用树形目录结构;在目录项中设置存取权限;规定按存取权限去使用目录和文件..典型的例子是在UNIX系统中;用户被分为三类:文件主;同组用户;其他用户..系统中各类用户对文件的存取权限有读、写、执行三种操作的组合.. 18、文件系统提供的基本文件操作有哪些答:“建立”操作、“打开”操作、“读/写”操作、“关闭”操作、“删除”操作..19、文件系统中为什么要设置“建立”、“打开”和“关闭”操作答:要把一个文件存放到存储介质上或使用一个已经建立在某存储介质上的文件前;首先应该把文件的属性文件名、文件类型、可访问性、记录大小等;文件的管理信息口令、建立日期、保存期限等以及存取方式;通过特定的形式告诉文件系统..“建立”..“打开”和“关闭”操作就是为此目的而设置的..用“建立”操作向系统提出生成一个新文件的要求..用“打开”操作向系统申请读一指定文件的权力..用“关闭”操作表示已经不再要读/写某个文件了;向系统归还使用文件的权力..20、当用户要读一个尚未打开的文件的时候;系统怎么处理答:当用户要读一个文件的时候;系统先要验证该用户是否有使用权力;所以任何一个用户如果要读文件前都要执行“打开”操作..系统不允许隐式使用;那么当读一个还没有打开的文件;系统不会执行读操作;而是返回一个“文件未打开”的错误信息..如果系统允许隐式使用;那么系统将会替用户做打开文件的工作..21、文件系统能允许用户去“关闭”一个不是自己“打开”或“建立”的文件吗答:不能一个不是自己“打开”或“建立”的文件;是没有权力使用和强行关闭的..。

操作系统概念第七版4-6章课后题答案(中文版)

操作系统概念第七版4-6章课后题答案(中文版)

操作系统概念第七版4-6章课后题答案(中⽂版)第四章线程4.1举两个多线程程序设计的例⼦来说明多线程不⽐单线程⽅案提⾼性能答:1)任何形式的顺序程序对线程来说都不是⼀个好的形式。

例如⼀个计算个⼈报酬的程序。

2)另外⼀个例⼦是⼀个“空壳”程序,如C-shell和korn shell。

这种程序必须密切检测其本⾝的⼯作空间。

如打开的⽂件、环境变量和当前⼯作⽬录。

4.2描述⼀下线程库采取⾏动进⾏⽤户级线程上下⽂切换的过程答:⽤户线程之间的上下⽂切换和内核线程之间的相互转换是⾮常相似的。

但它依赖于线程库和怎样把⽤户线程指给内核程序。

⼀般来说,⽤户线程之间的上下⽂切换涉及到⽤⼀个⽤户程序的轻量级进程(LWP)和⽤另外⼀个线程来代替。

这种⾏为通常涉及到寄存器的节约和释放。

4.3在哪些情况下使⽤多内核线程的多线程⽅案⽐单处理器系统的单个线程⽅案提供更好的性能。

答:当⼀个内核线程的页⾯发⽣错误时,另外的内核线程会⽤⼀种有效的⽅法被转换成使⽤交错时间。

另⼀⽅⾯,当页⾯发⽣错误时,⼀个单⼀线程进程将不能够发挥有效性能。

因此,在⼀个程序可能有频繁的页⾯错误或不得不等待其他系统的事件的情况下,多线程⽅案会有⽐单处理器系统更好的性能。

4.4以下程序中的哪些组成部分在多线程程序中是被线程共享的?a.寄存值b.堆内存c.全局变量d.栈内存答:⼀个线程程序的线程共享堆内存和全局变量,但每个线程都有属于⾃⼰的⼀组寄存值和栈内存。

4.5⼀个采⽤多⽤户线程的多线程⽅案在多进程系统中能够取得⽐在单处理器系统中更好的性能吗?答:⼀个包括多⽤户线程的多线程系统⽆法在多处理系统上同时使⽤不同的处理器。

操作系统只能看到⼀个单⼀的进程且不会调度在不同处理器上的不同进程的线程。

因此,多处理器系统执⾏多个⽤户线程是没有性能优势的。

4.6就如4.5.2章节描述的那样,Linux没有区分进程和线程的能⼒。

且Linux线程都是⽤相同的⽅法:允许⼀个任务与⼀组传递给clone()系统调⽤的标志的进程或线程。

操作系统 第四章课后部分答案

操作系统 第四章课后部分答案

6、为什么要引进动态重定位?如何实现?为了能够在程序执行过程中,每当要访问指令或数据时,将要访问的存储单元的逻辑地址转换成物理地址,引入了动态重定位。

使用动态地址重定位,一个作业可以占用非连续存储空间;能实现虚拟存储;有利于程序段的共享。

可在系统中增加一个重定位寄存器,用它来存放程序在内存中的起始地址。

基本的地址变换计算方法是将内存单元的逻辑地址与重定位寄存器的值相加,得到单元的物理地址。

在可重定位分区式存储管理、分页式存储管理、分段式存储管理方法中,都有不同的地址变换位方法:P128,P135,P138 9、分区存储管理常用哪些分配策略?比较它们的优缺点。

分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。

a.首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。

b.循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。

c.最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。

d.最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。

14、较详细的说明引入分段存储管理方式是为了满足用户哪几个方面的需求。

方便编程、信息共享、信息保护、动态增长、动态链接。

P13617、分页和分段存储管理有何区别?(1) 页是信息的物理(存储)单位,分页是为实现离散分配方式,以消减内存的零头,提高内存的利用率。

或者说,分页仅仅是由于系统管理的需要而不是用户的需要。

段则是信息的逻辑单位,它含有一组其意义相对完整的信息。

操作系统第四章习题及答案

操作系统第四章习题及答案

操作系统第四章习题及答案第四章进程管理1、⼀个由3个页⾯每页有2048个字节组成的程序,将它装⼊⼀个8个物理块组成的存储器中,装⼊的情况如下表所⽰:给出下列逻辑地址,请计算出2617对应的物理地址:2、某请求页式存储管理,允许⽤户编程空间为32个页⾯(每页1KB),主存为16KB, 如有⼀个⽤户程序有10页长,且某时刻该⽤户页⾯映射表如表所⽰。

如果程序执⾏时遇到以下的虚地址:0AC5H ,1AC5H 试计算对应的物理地址。

3、假设某分页系统中,主存储器的容量为1MB ,被分为256块,回答:1)主存地址应该⽤位来表⽰。

2)作业每⼀页的长度为;逻辑地址中的页内地址应该为位。

4、在段式管理系统中,段表为求下⾯逻辑地址对应的物理地址。

12 7 1 4 0 块号页号 95 1938 4 590 13503 90 100 220 2350 1 500 210 0 段长内存起始地址段号(1,10);(2,500);(3,400);(5,32)5、在⼀分页存储管理系统中,逻辑地址长度为16位,页⾯⼤⼩为4096字节,分别计算逻辑地址14AAH,235BH,3B4CH,78DDH所对应的物理地址,并指出可能发⽣何种中断?(8分)注:1表⽰可寻址,0表⽰在外存。

6、在⼀个请求分页系统中,假定系统分配给作业的物理块数为3,并且此作业的页⾯⾛向为2、3、2、1、5、2、4、5、3、2、5、2。

试⽤LRU算法计算出程序访问过程所发⽣的缺页次数和被替换的页⾯序列。

答案:1、P=int(2617/2048)=1 d=569物理地址=4*2048+569=87612、0AC5H的页号是2,对应的物理页号是4,所以物理地址应该为12C5H,1AC5H的页号是6,超过了页表的范围,所以该地址⾮法,产⽣越界中断3、假设某分页系统中,主存储器的容量为1MB,被分为256块,回答:1)主存地址应该⽤ 20 位来表⽰。

2)作业每⼀页的长度为 2048 ;逻辑地址中的页内地址应该为 12 位。

操作系统第4章课本习题解答

操作系统第4章课本习题解答
动态重定位是在程序执行期间,每次访问内存之前进行重定位。这种变换是靠硬件地址转 换机构实现的。
内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。
为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区 留在另一端。这种技术称为紧缩(或叫拼凑)。
虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存 储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
第 4 章 存储管理 “练习与思考”解答
1. 基本概念和术语 逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎 片、碎片紧缩、虚拟存储器、快表、页面抖动
用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻 辑地址。
内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址 或物理地址。
由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。
由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。
程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物 理地址的过程称作重定位。
静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行 修改,即把程序的逻辑地址都改成实际的内存地址。
1
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,通系电1,力过根保管据护线生高0不产中仅工资2艺料22高试2可中卷以资配解料置决试技吊卷术顶要是层求指配,机置对组不电在规气进范设行高备继中进电资行保料空护试载高卷与中问带资题负料2荷试2,下卷而高总且中体可资配保料置障试时2卷,32调需3各控要类试在管验最路;大习对限题设度到备内位进来。行确在调保管整机路使组敷其高设在中过正资程常料1工试中况卷,下安要与全加过,强度并看工且25作尽52下可22都能护可地1关以缩于正小管常故路工障高作高中;中资对资料于料试继试卷电卷连保破接护坏管进范口行围处整,理核或高对者中定对资值某料,些试审异卷核常弯与高扁校中度对资固图料定纸试盒,卷位编工置写况.复进保杂行护设自层备动防与处腐装理跨置,接高尤地中其线资要弯料避曲试免半卷错径调误标试高方中等案资,,料要编试求5写、卷技重电保术要气护交设设装底备备置。4高调、动管中试电作线资高气,敷料中课并设3试资件且、技卷料中拒管术试试调绝路中验卷试动敷包方技作设含案术,技线以来术槽及避、系免管统不架启必等动要多方高项案中方;资式对料,整试为套卷解启突决动然高过停中程机语中。文高因电中此气资,课料电件试力中卷高管电中壁气资薄设料、备试接进卷口行保不调护严试装等工置问作调题并试,且技合进术理行,利过要用关求管运电线行力敷高保设中护技资装术料置。试做线卷到缆技准敷术确设指灵原导活则。。:对对在于于分调差线试动盒过保处程护,中装当高置不中高同资中电料资压试料回卷试路技卷交术调叉问试时题技,,术应作是采为指用调发金试电属人机隔员一板,变进需压行要器隔在组开事在处前发理掌生;握内同图部一纸故线资障槽料时内、,设需强备要电制进回造行路厂外须家部同出电时具源切高高断中中习资资题料料电试试源卷卷,试切线验除缆报从敷告而设与采完相用毕关高,技中要术资进资料行料试检,卷查并主和且要检了保测解护处现装理场置。设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

操作系统第四章课后题答案

操作系统第四章课后题答案

第四章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调度,请给出各进程的完成时间、周转时间、带权周转时间,及所有进程的平均周转时间和平均带权周转时间。

操作系统课后习题答案(4~6章)

操作系统课后习题答案(4~6章)

操作系统课后习题答案(4~6章)Chapter 41、存储管理主要研究的内容是:内存存储分配;地址再定位;存储保护;存储扩充的⽅法。

2、什么是虚拟存储器?实现虚存的物质基础是什么?虚存实际上是⼀个地址空间,它有OS产⽣的⼀个⽐内存容量⼤的多的“逻辑存储器”。

其物质基础是:⼀定容量的主存;⼤容量的辅存(外存)和地址变化机构(容量受计算机的地址位数限定)。

有3类虚存:分页式、分段式和段页式。

引⼊虚存的必要性:逻辑上扩充内存容量,实现⼩内存运⾏⼤作业的⽬的;可能性:其物质基础保证。

3、某页式管理系统,主存容量为64KB,分成16块,块号为0,1,2,3,4……,15。

设某作业有4页,其页号为0,1,2,3。

被分别装⼊主存的2,4,1,6块。

试问:(1)该作业的总长度是多少字节?(2)计算出该作业每⼀页在主存中的起始地址。

(3)若给出逻辑地址[0,100]、[1,50]、[2,0]、[3,60],请计算出相应的内存地址。

解:(1)每块的长度=64KB/16=4KB;因为块与页⾯⼤⼩相等,每页容量=4KB;故作业的总长度为:4KB*4=16KB。

(2)因为页号为0,1,2,31,6块中,即PMT为:所以,该作业的:第0页在内存中的起始地址为4K*2=8K;第1页在内存中的起始地址为4K*4=16K;第2页在内存中的起始地址为4K*1=4K;第3页在内存中的起始地址为4K*6=24K;(3)对应内存地址:逻辑地址[0,100]的内存地址为4K*2+100=8192+100=8292;逻辑地址[1,50]的内存地址为4K*4+50=16384+50=16434;逻辑地址[2,0]的内存地址为4K*1+0=4096;逻辑地址[3,60]的内存地址为4K*6+60=24K+60=24576+60=24636。

试回答:(1)给定段号和段内地址,完成地址变换过程。

(2)计算[0,430]、[1,10]、[2,500]、[3,400]的内存地址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章存储器管理1.可采用哪几种方式将程序装入内存?它们分别适用于何种场合?a. 首先由编译程序将用户源代码编译成若干目标模块,再由链接程序将编译后形成的目标模块和所需的---库函数链接在一起,组成一个装入模块,再由装入程序将装入模块装入内存;b. 装入模块的方式有: 绝对装入方式,可重定位方式和动态运行时装入方式;c. 绝对装入方式适用于单道程序环境下;d. 可重定位方式适用于多道程序环境下;e. 动态运行时装入方式也适用于多道程序环境下.2. 何谓静态链接及装入时动态链接和运行时的动态链接?a. 静态链接是指事先进行链接形成一个完整的装入模块,以后不再拆开的链接方---式;b. 装入时动态链接是指目标模块在装入内存时,边装入边链接的链接方式;c. 运行时的动态链接是将某些目标模块的链接推迟到执行时才进行.3. 在进行程序链接时,应完成哪些工作?a. 对相对地址进行修改;b. 变换外部调用符号.4. 在动态分区分配方式中,可利用哪些分区分配算法?a. 首次适应算法;b. 循环首次适应算法;c. 最佳适应算法.5. 在动态分区分配方式中,应如何将各空闲分区链接成空闲分区链?应在每个分区的起始地址部分,设置一些用于控制分区分配的信息,以及用于链接各分区的前向指针;在分区尾部则设置一后向指针,通过前,后向指针将所有的分区链接成一个双向链.6. 为什么要引入动态重定位?如何实现?a. 为了在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地---址,引入了动态重定位.b. 可在系统中增加一个重定位寄存器,用它来装入(存放)程序在内存中的起始地址,程序在执行时,真---正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的,从而实现动态重定位.7. 试用类Pascal语言来描述首次适应算法进行内存分配的过程.(略)8. 在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?a. 回收区与插入点的前一个分区相邻接,此时可将回收区与插入点的前一分区合并,不再为回收分区---分配新表项,而只修改前邻接分区的大小;b. 回收分区与插入点的后一分区相邻接,此时合并两区,然后用回收区的首址作为新空闲区的首址,大---小为两者之和;c. 回收区同时与插入点的前后两个分区邻接,此时将三个分区合并,使用前邻接分区的首址,大小为---三区之和,取消后邻接分区的表项;d. 回收区没有邻接空闲分区,则应为回收区单独建立一个新表项,填写回收区的首址和大小,并根据---其首址,插入到空闲链中的适当位置.9. 在系统中引入对换后带有哪些好处?能将内存中暂时不运行的进程或暂时不用的程序和数据,换到外存上,以腾出足够的内存空间,把已具备运行条件的进程或进程所需的程序和数据换入内存,从而大大地提高了内存的利用率.10 为实现对换,系统应具备哪几方面功能?a. 对对换空间的管理;b. 进程的换出;c. 进程的换入.11 在以进程为单位进行对换时,每次是否都将整个进程换出?为什么?a. 以进程为单位进行对换时,每次都将整个进程换出;b. 目的为了解决内存紧张的问题,提高内存的利用率.12 为实现分页存储管理,需要哪些硬件支持?你认为以Intel 8086,MC68000, Intel 80286为芯片的微机,是否适合于实现分页管理?(有待讨论)13 请较详细地说明,引入分页存储管理(估计印错了,是分段存储管理)是为了满足用户哪几方面的需要?a. 方便了编程;b. 实现了分段共享;c. 实现了分段保护;d. 实现了动态链接;e. 实现了动态增长.14 在具有快表的段页式存储管理方式中,如何实现地址变换?首先,必须配置一段表寄存器,在其中存放段表始址和段长TL. 进行地址变换时,先利用段号S,与段长TL进行比较,若S<TL,表示未越界,(若S>=TL,表示段号太大,访问越界,产生越界中断信号)于是利用段表始址和段号来求出该段对应的段表项在段表中的位置,从中求出该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再用块号b和页内地址构成物理地址.15 为什么说分段系统较之分页系统更易于实现信息共享和保护?a. 对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此---需要建立大量的页表项;b. 而对于分段系统,每个段都从0开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需---为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可.16 分页和分段有何区别?a. 分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;b. 对于它们的不同点有三,第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减---内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,---它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;c. 页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;d. 分页的作业地址空间是一维的,而分段的作业地址空间是二维的.17 试全面比较连续分配和离散分配方式.a. 连续分配是指为一个用户程序分配一个连续的地址空间,包括单一连续分配方式和分区式分配方式,前者---将内存分为系统区和用户区,系统区供操作系统使用,用户区供用户使用,是最简单的一种存储方式,---但只能用于单用户单任务的操作系统中;分区式分配方式分为固定分区和动态分区,固定分区是最简单的---多道程序的存储管理方式,由于每个分区的大小固定,必然会造成存储空间的浪费;动态分区是根据进程---的实际需要,动态地为之分配连续的内存空间,常用三种分配算法: 首次适应算法FF,该法容易留下许多---难以利用的小空闲分区,加大查找开销;循环首次适应算法,该算法能使内存中的空闲分区分布均匀,但---会致使缺少大的空闲分区;最佳适应算法,该算法也易留下许多难以利用的小空闲区;b. 离散分配方式基于将一个进程直接分散地分配到许多不相邻的分区中的思想,分为分页式存储管理,分段---存储管理和段页式存储管理. 分页式存储管理旨在提高内存利用率,满足系统管理的需要,分段式存储管---理则旨在满足用户(程序员)的需要,在实现共享和保护方面优于分页式存储管理,而段页式存储管理则是---将两者结合起来,取长补短,即具有分段系统便于实现,可共享,易于保护,可动态链接等优点,又能像---分页系统那样很好的解决外部碎片的问题,以及为各个分段可离散分配内存等问题,显然是一种比较有效---的存储管理方式;c. 综上可见,连续分配方式和离散分配方式各有各自的特点,应根据实际情况加以改进和利用.第五章1.在请求分页系统中,其页表项中包含那些数据项? 它们的作用是什么?a. 在请求分页系统中,其页表项中包含的数据项有页号,物理块号,状态位P,访问字段A,修改位M和---外存地址;b. 其中状态位P指示该页是否调入内存,供程序访问时参考;c. 访问字段A用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法---选择换出页面时参考;d. 修改位M表示该页在调入内存后是否被修改过;e. 外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用.2. 一个计算机系统的虚拟存储器,其最大容量和实际容量分别由什么决定?a. 最大容量由内存和外存之和决定;b. 实际容量由内存决定.3. 虚拟存贮器有那些特征? 其中最本质的特征是什么?a. 虚拟存储器具有离散性,多次性,对换性和虚拟性的特征;b. 其中最本质的特征是离散性,在此基础上又形成了多次性和对换性,所表现出来的最重要的特征是---虚拟性.4. 实现虚拟存储器要那些硬件支持?a. 对于为实现请求分页存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还---需要有页表机制,缺页中断机构以及地址变换机构;b. 对于为实现请求分段存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还---需要有段表机制,缺段中断机构以及地址变换机构;5. 在实现虚拟存储器时的几个关键技术是什么?(有待讨论)6. 在请求分页系统中,页表应包括那些数据项?每项的作用是什么?(同第一题)7. 在请求分页系统中,应从何处将所需页面调入内存?a. 在进行地址变换时,首先去检索快表,试图从中找出所要访问的页,若找到,便修改页表项中的访问---位,对于写指令,还须将修改位置1,然后利用页表项中给出的物理块号和页内地址,形成物理地址;b. 如果在快表中未找到该页的页表项,则应再到内存中去查找页表,再从找到的页表项中的状态位来---了解该页是否已调入内存,如果该页已调入内存,应将此页的页表项写入快表,当快表已满时,应先---调出按某种算法所确定的页的页表项,然后再写入该页的页表项;c. 如果该页尚未调入内存,这时便应产生缺页中断,请求OS从外存中把该页调入内存;d. 外存分为文件区和对换区,若系统有足够的对换区空间,可在进程运行前,将与该进程有关的文件---拷贝到对换区,需要时从对换区调入;e. 若系统缺少足够的对换区空间,则凡是不会被修改的文件,可直接从文件区调入,需换出时可不必---写入外存,但对于可能被修改的部分,在将它们换出时,便须调到对换区,以后需要时再从对换区---调入.8. 在请求分页系统中,常采用哪几种页面置换算法?a. 最佳置换算法;b. 先进先出算法;c. 最近最久未使用LRU置换算法;d. Clock置换算法;e. 此外,还有最少使用置换算法和页面缓冲算法.9. 某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB. 假定某时刻---为用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚拟地址---0A5C和093C变换为物理地址.a. 将0A5C变换为2进制为: 0000,1010,0101,1100,由于页面大小为1KB约为2的10次方,所以0A5C的页号---为2,对应的物理块号为:4,所以虚拟地址0A5C的物理地址为125C;b. 将093C变换为2进制为: 0000,1001,0011,1100,页号也为2,对应的物理块号也为4,此时虚拟地址---093C的物理地址为113C.10 在请求分页系统中,通常采用那种页面分配方式?为什么?a. 在请求分页系统中,有固定和可变分配两种分配方式;b. 采用固定分配方式是基于进程的类型(交互型)或根据程序员,系统管理员的建议,为每个进程分配---一固定页数的内存空间,在整个运行期间不再改变;c. 采用可变分配方式有全局置换和局部置换两种,前者易于实现,后者效率高.11 在一个请求分页系统中,采用LRU页面置换算法时,假如一个作业的页面走向---为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数M 分别---为3和4时,试计算访问过程中所发生的缺页次数和缺页率?比较所得结果?a. 当分配给该作业的物理块数M为3时,所发生的缺页率为7,缺页率为: 7/12=0.583;b. 当分配给该作业的物理块数M为4时,所发生的缺页率为4,缺页率为: 4/12=0.333.12 在置换算法中,LRU和LFU哪个更常用?为什么?a. LRU与LFU置换算法的页面的访问图完全相同,即使用的硬件是相同的;b. 但是LFU并不能真正访问反映出页面的使用情况.13 实现LRU算法所需的硬件支持是什么?a. 寄存器,用于记录某进程在内存中各页的使用情况;b. 栈,用于保存当前使用的各个页面的页面号.14 试说明改进型Clock置换算法的基本原理.a. 因为对于修改过的页面在换出时所付出的开销将比未被修改过的页面的开销大,所以在改进型Clock---算法中,出了须考虑到页面的使用情况外,还须再增加一个置换代价这一因素;b. 在选择页面作为淘汰页面时,把同时满足未使用过和未被修改作为首选淘汰页面.15 什么是抖动? 产生抖动的原因是什么?a. 抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或---数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页---调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,以致花费大量的---时间,我们称这种现象为"抖动";b. 产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,---可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而---系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程---是处于"抖动"状态.16 试说明请求分段系统中的缺页中断处理过程?(见P185图6-12)17 如何实现分段共享?a. 可在每个进程的段表中,用相应的表项来指向共享段在内存中起始地址;b. 配置相应的数据结构作为共享段表,可在段表项中设置共享进程计数Count,每调用一次该共享段,---Count指增1,每当一个进程释放一个共享段时,Count执行减1操作,若减为0,则由系统回收该共享---段的物理内存,以及取消在共享段表中该段所对应的表项;c. 对于一个共享段,应给不同的进程以不同的存取权限;d. 不同的进程可以使用不同的段号去共享该段.18 Intel 80386芯片可支持哪几种方式的存储管理?a. 不分段也不分页的存储管理方式;b. 分页不分段的存储管理方式;c. 分段不分页的存储管理方式;d. 分段分页存储管理方式.19 试说明80386的分段地址变换机构的工作原理.a. 采用段寄存器和虚地址结构;b. 在分段部件中,地址变换是将逻辑地址变换为线性地址,然后送分页部件中.(具体见P191)20 试说明80386的两级分页地址变换机构的原理.(见P193)21 可通过哪些途径来提高内存利用率?(有待讨论,该题可以看成是对本章的本质内容的全面概括和总结)第二章补充1.什么是临界资源和临界区?a. 一次仅允许一个进程使用的资源成为临界资源.b. 在每个进程中,访问临界资源的那段程序称为临界区.2. 为什么进程在进入临界区之前,应先执行"进入区"代码,在退出临界区后又执行"退出区"代码?为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为"进入区"代码;在退出临界区后,必须执行"退出区"代码,用于恢复未被访问标志.3. 同步机构应遵循哪些基本准则?为什么?a. 空闲让进.b. 忙则等待.c. 有限等待.d. 让权等待.4. 试从物理概念上来说明记录型信号量和wait和signal操作?(有待讨论).5. 你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则?a. 在整型信号量机制中,未遵循"让权等待"的准则.b. 记录型信号量机制完全遵循了同步机构的"空闲让进,忙则等待,有限等待,让权等待"四条准则.6. 在生产者-消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果会有何影响?生产者-消费者问题可描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp;..wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;signal(mutex);/* ************** */signal(full);/* ************** */until false;endconsumer: beginrepeatwait(full);wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);/* ************** */signal(empty);/* ************** */consume the item in nextc;until false;endparendend可见,生产者可以不断地往缓冲池送消息,如果缓冲池满,就会覆盖原有数据,造成数据混乱.而消费者始终因wait(full)操作将消费进程直接送入进程链表进行等待,无法访问缓冲池,造成无限等待.7. 在生产者-消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置;或者是将signal(mutex)与signal(full)互换位置结果会如何?var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: begin..produce an item in nextp; ..wait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;/* ***************** */ signal(full);signal(mutex);/* ***************** */ until false;endconsumer: beginrepeat/* **************** */ wait(mutex);wait(full);/* **************** */ nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);consume the item in nextc; until false;endenda. wait(full)和wait(mutex)互换位置后,因为mutex在这儿是全局变量,执行完wait(mutex),则mutex赋值为0,倘若full也为0,则该生产者进程就会转入进程链表进行等待,而生产者进程会因全局变量mutex为0而进行等待,使full始终为0,这样就形成了死锁.b. 而signal(mutex)与signal(full)互换位置后,从逻辑上来说应该是一样的.8. 我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥.开锁原语:unlock(W):W=0;关锁原语:lock(W);if(W==1) do no_op;W=1;利用开关锁原语实现互斥:var W: semaphore:=0;beginparbeginprocess :beginrepeatlock(W);critical sectionunlock(W);remainder sectionuntil false;endparend9. 试修改下面生产者-消费者问题解法中的错误:producer:beginrepeat..producer an item in nextp;wait(mutex);wait(full); /* 应为wait(empty),而且还应该在wait(mutex)的前面 */ buffer(in):=nextp;/* 缓冲池数组游标应前移: in:=(in+1) mod n; */signal(mutex);/* signal(full); */until false;endconsumer:beginrepeatwait(mutex);wait(empty); /* 应为wait(full),而且还应该在wait(mutex)的前面 */ nextc:=buffer(out);out:=out+1; /* 考虑循环,应改为: out:=(out+1) mod n; */signal(mutex);/* signal(empty); */consumer item in nextc;end10 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法. 设初始值为1的信号量c[I]表示I号筷子被拿(I=1,2,3,4,...,2n),其中n 为自然数.send(I):Beginif I mod 2==1 then{P(c[I]);P(c[I-1 mod 5]);Eat;V(c[I-1 mod 5]);V(c[I]);}else{P(c[I-1 mod 5]);P(c[I]);Eat;V(c[I]);V(c[I-1 mod 5]);}End11 在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单缓冲中取出数据进行计算.试写出利用信号量机制实现两者共享单缓冲的同步算法.int mutex=1;int empty=n;int in=0;int out=0;main(){cobeginsend();obtain();coend}send(){while(1){..collect data in nextp; ..wait(empty);wait(mutex);buffer(in)=nextp;in=(in+1) mod n;signal(mutex);signal(full);}}//sendobtain(){while(1){wait(full);wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);culculate the data in nextc;}//while}//obtain12 画图说明管程由哪几部分组成?为什么要引入条件变量?管程由三部分组成:局部于管程的共享变量说明;对该数据结构进行操作的一组过程;对局部于管程的数据设置初始值的语句. (图见P80)因为调用wait原语后,使进程等待的原因有多种,为了区别它们,引入了条件变量.13 如何利用管程来解决生产者-消费者问题?(见P82)14 什么是AND信号量?试利用AND信号量写出生产者-消费者问题的解法. 为解决并行所带来的死锁问题,在wait操作中引入AND条件,其基本思想是将进程在整个运行过程中所需要的所有临界资源,一次性地全部分配给进程,用完后一次性释放.解决生产者-消费者问题可描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;beginparbeginproducer: beginrepeat..produce an item in nextp;..wait(empty);wait(s1,s2,s3,...,sn); //s1,s2,...,sn为执行生产者进程除empty外其余的条件wait(mutex);buffer(in):=nextp;in:=(in+1) mod n;signal(mutex);signal(full);signal(s1,s2,s3,...,sn);until false;endconsumer: beginrepeatwait(full);wait(k1,k2,k3,...,kn); //k1,k2,...,kn为执行消费者进程除full外其余的条件wait(mutex);nextc:=buffer(out);out:=(out+1) mod n;signal(mutex);signal(empty);signal(k1,k2,k3,...,kn);consume the item in nextc;until false;endparendend15 在单处理机环境下,进程间有哪几种通信方式?a. 共享存储器系统通信方式;b. 消息传递系统通信方式;c. 管道通信方式.16 试比较进程间的低级通信工具与高级通信工具.用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须由程序员来实现. 而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,高效地传送大量的数据.17 消息队列通信机制应有哪几方面功能?略18 试比较消息队列与管道通信机制.a. 所谓管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称pipe文件.管道通信是属于共享存储器系统的.b. 消息队列通信机制属于消息传递系统通信机制,存在通信链路,有消息的格式,有若干缓冲队列,采用独特的发送原语和接收原语. (详见P89-90)16 试从调度性,并发性,拥有资源及系统开销几个方面,对进程和线程进行比较.a. 在引入线程的OS中,把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;b. 在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使OS具有更好的并发性;c. 进程始终是拥有资源的一个独立单位,线程自己不拥有系统资源,但它可以访问其隶属进程的资源;d. 在创建,撤消和切换进程方面,进程的开销远远大于线程的开销.17 什么是用户级线程和内核级线程?并对它们进行比较.a. 内核级线程是依赖于内核的,它存在于用户进程和系统进程中,它们的创建,撤消和切换都由内核实现;---用户级线程仅存在于用户级中,它们的创建,撤消和切换不利用系统调用来实现,因而与内核无关,内核并不知道用户级线程的存在.b. 内核级线程的调度和切换与进程十分相似,调度方式采用抢占式和非抢占式,调度算法采用时间轮转法和优先权算法等,当由线程调度选中一个线程后,再将处理器分配给它;而用户级线程通常发生在一个应用程序的诸线程之间,无需终端进入OS内核,切换规则也较简单,因而,用户级线程的切换速度较快.---用户级线程调用系统调用和调度另一个进程执行时,内核把它们看作是整个进程的行为,内核级线程调用是以线程为单位,内核把系统调用看作是该线程的行为.---对于用户级线程调用,进程的执行速度随着所含线程数目的增加而降低,对于内核级线程则相反.18 在Solaris OS中,设置了哪几种线程?轻型线程的作用是什么?a. 用户级线程,内核级线程和轻型线程;。

相关文档
最新文档