操作系统概论第四章习题

合集下载

第四章 复习题 计算机操作系统概论复习资料习题答案

第四章 复习题  计算机操作系统概论复习资料习题答案

第四章复习题一、单项选择题1. 在可变分区存储管理中,若采用最先适应分配算法宜将空闲区按(B)次序登记在空闲区表中。

A. 地址递减B. 地址递增C. 长度递减D. 长度递增2. 采用固定分区存储管理的计算机系统中(D)的做法是错误的。

A. 为作业分配的分区不能小于作业长度B. 可同时在多个分区中各装一个作业C. 不允许多个作业同时存放在一个分区中D. 一个分区中可同时装入多个作业3. 不适宜采用虚拟存储管理技术的存储管理方式是(D)。

A. 页式B. 段式C. 段页式D. 可变分区4. 在多道程序设计系统中,采用了页式存储管理。

如果允许并行工作的道数为n(n>1),则系统中同时建立的页表数一定为(C)。

A. 1B. nC. <=nD. n+15. 在单用户连续存储管理中,可供用户使用的主存区域起始地址存放在(B)。

A. 基址寄存器B. 界限寄存器C. 限长寄存器D. 相联寄存器6. 重定位的含义是(C)。

A. 把主存中的一个程序从一个区域重新定位到另一个区域B. 把绝对地址转换成逻辑地址C. 把逻辑地址换砖成绝对地址D. 把辅助存储器中的程序定位到主存的某个区域7. 在分页式存储管理中,逻辑地址由页号和页内地址两部分组成。

因而,分页的工作是在(C)时进行的。

A. 用户编制程序B. 地址转换C. 操作系统装入作业D. 系统初始化8. 采用固定分区存储管理的计算机系统中(D)的做法是错误的。

A. 为作业分配的分区不能小于作业长度B. 可同时在多个分区中各装一个作业C. 不允许多个作业同时存放在一个分区中D. 一个分区中可同时装入多个作业9. 在分页式虚拟存储管理中,若发现所要访问的页面不在主存储器中,则硬件要产生一个(C)中断。

A. I/OB. 缺段C. 缺页D. 访管10. 主存储器的每个存储单元都有一个地址与其对应,假定这些地址用n个二进制位来区分,则主存储器的容量为(D)。

A. 2n个字B. 2n-1个字C. 2n-1个字节D. 2n个字节11. LRU页面调度算法总是选择(C)页面调出。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

这种现象称为“抖动”。

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

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

操作系统原理与应用(第2版)清大版第4章习题参考答案

操作系统原理与应用(第2版)清大版第4章习题参考答案

1、管理对象是内存及作为内存的扩展和延伸的后援存储器(外存)。

基本任务:a.按某种算法分配和回收存储空间。

b.实现逻辑地址到物理地址的转换。

c.由软硬件共同实现程序间的相互保护。

2、程序中通过符号名称来调用、访问子程序和数据,这些符号名的集合被称为“名字空间”,简称名空间。

当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为目标程序,或者相对目标程序。

这个目标程序指令的顺序都以0为一个参考地址,这些地址被称为相对地址,或者逻辑地址,有的系统也称为虚拟地址。

相对地址的集合称为相对地址空间,也称虚拟地址空间。

目标程序最后要被装入系统内存才能运行。

目标程序被装入的用户存储区的起始地址是一个变动值,与系统对存储器的使用有关,也与分配给用户使用的实际大小有关。

要把以0作为参考地址的目标程序装入一个以某个地址为起点的用户存储区,需要进行一个地址的对应转换,这种转换在操作系统中称为地址重定位。

也就是说将目标地址中以0作为参考点的指令序列,转换为以一个实际的存储器单元地址为基准的指令序列,从而才成为一个可以由CPU调用执行的程序,它被称为绝对目标程序或者执行程序。

这个绝对的地址集合也被称为绝对地址空间,或物理地址空间。

用户程序的装入,是一个从外存空间将用户已经编译好的目标程序,装入内存的过程。

在这个过程中,要进行将相对地址空间的目标程序转换为绝对地址空间的可执行程序,这个地址变换的过程称为地址重定位,也称地址映射,或者地址映象。

覆盖:是利用程序内部结构的特征,以较小的内存空间运行较大程序的技术。

交换:是指内外存之间交换信息。

3、一旦一个区域分配给一个作业后,其剩余空间不能再用(内零头或内碎片),另外当一区域小于当前所有作业的大小时,便整个弃置不用(外零头或外碎片)。

4、(1)2.4us (2)1.5us5、为了给大作业(其地址空间超过主存可用空间)用户提供方便,使他们摆脱对主存和外存的分配和管理。

操作系统概论第三、四章测试题

操作系统概论第三、四章测试题

操作系统概论(第3-4章)测试题一、单项选择题1、在()方式的存储管理中,可以有条件的采用移动技术来合并主存中的多个分区,以便形成大的空闲分区装下大作业。

A、固定分区存储管理B、可变分区存储管理C、页式存储管理D、页式虚拟存储管理2、()要求存放的物理块是连续的,记录顺序与占用的物理块顺序是一致的。

A、顺序结构B、索引结构C、链接结构D、随机结构3、操作系统中,存储介质上的分块是()来进行划分的。

A、根据文件的逻辑结构B、根据逻辑记录的大小C、根据用户的实际需要D、根据存储介质的特性4、UNIX系统中,常采用()来保护文件,防止系统故障造成的破坏。

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、固定分区存储管理中,CPU在执行作业的指令时,均会核对不等式()是否成立,若不成立,则产生地址越界中断事件,中止该指令的执行。

A、界限地址a≤绝对地址≤最大地址cB、下限地址≤绝对地址<上限地址C、基址寄存器内容≤绝对地址≤限长寄存器内容D、基址寄存器内容<绝对地址<限长寄存器内容10、()是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据A、覆盖技术B、交换技术C、虚拟扩充D、物理扩充11、当两个进程访问同一柱面、同一扇区、不同磁道的时候()A、任意选择一个先访问,另一个等下次扇区转到磁头下时再访问B、两个同时读出来C、一定要先读磁头号小的D、一定要先读磁头号大的12、文件系统为每个文件另建立一张指示逻辑记录和物理块之间的对应关系表,由此表和文件本身构成的文件是()A、顺序文件B、链接文件C、索引文件D、逻辑文件13、单道系统中经常采用的存储管理方式是()存储管理。

自考本科-操作系统概论+课后题

自考本科-操作系统概论+课后题

1.计算机系统由哪两大部分组成?答:计算机系统是能按照人的要求接受和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。

计算机系统由两大部分组成:硬件(子)系统和软件(子)系统,其中硬件子系统是系统赖以工作的实体,它是有关的各种物理部件的有机的结合。

软件子系统由各种程序以及程序所处理的数据组成,这些程序的主要作用是协调各个硬件部件,使整个计算机系统能够按照指定的要求进行工作。

硬件子系统包括中央处理器、主存存储器、输人输出控制系统和各种外围设备。

软件子系统包括系统软件(操作系统以及除操作系统)、支援软件和应用软件三个部分。

2.什么是计算机的操作系统?答:操作系统(Operating System缩写OS)是一种系统软件。

它对程序的执行进行控制,还使用户能方便地使用硬件提供的计算机功能,也使硬件的功能发挥得更好。

它是一种用于管理计算机系统资源和控制程序执行的系统软件,它扩充系统的功能,为用户提供方便的使用接口和良好的运行环境。

3.操作系统管理哪些资源?答:操作系统管理计算机系统的资源,其中硬件资源主要包括中央处理器、主存储器和各种外围设备;软件资源包括了程序和数据,通常这些程序和数据是以文件的方式存储和使用的。

它说明资源的使用情况,实现多用户共享计算机系统的各种资源。

4.为什么要把“I/O指令”等定义为特权指令?答:若用户程序中直接使用I/O指令,则可能引起冲突或由于某些意外而造成错误。

例如,用户程序中要启动磁带后取磁带上的信息,但可能操作员错拿了另一用户的磁带,把它以磁带机上,这时用户程序启动磁带机后从磁带上得到的信息实际上不是自己需要的,就可能造成程序执行后得到结果不正确。

更糟糕的是当用户程序启动磁带机的目的是要把一些信息记到磁带上,将可能覆盖已在磁带上的信息,即把另一用户磁带上的信息破坏了。

为了防止类似于这样一类的错误启动外围设备的工作不是用户程序直接做,而是由操作系统来做。

5.操作系统是如何防止用户使用特权指令的?答:为了防止用户程序中使用特权指令,计算机硬件结构区分两种操作模式:目态和管态,其中目态下只能使用除特权指令以外的指令,管态下可以使用全部指令。

(完整版)操作系统各章习题及答案

(完整版)操作系统各章习题及答案

第一章1.设计现代0S 的主要目标是什么? 方便性,有效性,可扩充性和开放性.2.OS 的作用可表现为哪几个方面?a. OS作为用户与计算机硬件系统之间的接口;b. Os 作为计算机系统资源的管理者;c. Os 作为扩充机器.3,试说明推动多道批处理系统形成和发展的主要动力是什么?不断提高计算机资源利用率和系统吞吐量的需要;4. 何谓脱机工/0 和联机工/0?a. 脱机输入输出方式(off 一Line工/0)是为了解决人机矛盾及CPU和工/0设备之间速度不匹配而提出的.它减少了CPU 的空闲等待时间,提高了1/0 速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU 需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU 等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.b. 若这种输入输出操作在主机控制下进行则称之为联机输入输出方式5. 试说明推动分时系统形成和发展的主要动力是什么?用户的需要.即对用户来说,更好的满足了人机交互,共享主机以及便于用户上机的需求.6,试说明实时任务的类型和实时系统的类型.a. 实时任务的类型按任务执行时是否呈现周期性来划分,分为周期性实时任务和非周期性实时任务;根据对截止时间的要求来划分,分为硬实时任务和软实时任务;b. 通常把要求进行实时控制的系统统称为实时控制系统,把要求对信息进行实时处理的系统成为实时信息处理系统.7. 实现多道程序应解决哪些问题?a. 处理机管理问题;b. 内存管理问题;c. 1/0 设备管理问题;d. 文件管理问题;e. 作业管理问题.8,试比较单道与多道批处理系统的特点及优缺点,a. 单道批处理系统是最早出现的一种OS,它具有自动性,顺序性和单道性的特点;多道批处理系统则具有调度性,无序性和多道性的特点;b. 单道批处理系统是在解决人机矛盾及CPU和工/0设备之间速度不匹配的矛盾中形成的,旨在提高系统资源利用率和系统吞吐量, 但是仍然不能很好的利用系统资源;多道批处理系统是对单道批处理系统的改进,其主要优点是资源利用率高,系统吞吐量大;缺点是平均周转时间长,无交互能力.9,实现分时系统的关键问题是什么?应如何解决?a. 关键问题:及时接收,及时处理;b. 对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输入的数据;对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行一次.1O 为什么要引入实时操作系统?更好地满足实时控制领域和实时信息处理领域的需要.11.0s 具有哪几大特征?它的最基本特征是什么?a.并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(ASynchronism).b•其中最基本特征是并发和共享.12 内存管理有哪些主要功能?它们的主要任务是什么?a. 主要功能:内存分配,内存保护,地址映射和内存扩充等b. 内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要.--- 内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址. 内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.13 处理机管理具有哪些功能?它们的主要任务是什么?a. 进程控制,进程同步,进程通信和调度.b. 进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换. -一进程同步的主要任务是对诸进程的运行进行调节.- 一进程通信的任务是实现在相互合作进程之间的信息交换.-一调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.14 设备管理有哪些主要功能?其主要任务是什么?a. 主要功能:缓冲管理,设备分配和设备处理,以及虚拟设备等b. 主要任务:完成用户提出的1/0请求,为用户分配1/0设备;提高CPU和1/0设备的利用率;提高1/0速度;以及方便用户使用1/0设备.15 文件管理有哪些主要功能?其主要任务是什么?a. 主要功能:对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护.b. 主要任务:对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性16 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较,a. 分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统虽然也有交互能力,但其交互能力不及前者.b. 实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的.c. 实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高17 是什么原因使操作系统具有异步性特征?a.程序执行结果是不确定的,即程序是不可再现的第二章3.程序并发执行为什么会产生间断性? 因为程序在并发执行过程中存在相互制约性.4,程序并发执行为何会失去封闭性和可再现性?因为程序并发执行时,多个程序共享系统中的各种资源,资源状态需要多个程序来改变,即存在资源共享性使程序失去封闭性;而失去了封闭性导致程序失去可再现性. 5.在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而引入了进程概念.影响:使程序的并发执行得以实行.6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体.b. 并发性是进程的重要特征,同时也是OS的重要特征•引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的.c•独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位.而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行.7•试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB 是进程存在的唯一标志.8. 试说明进程在三个基本状态之间转换的典型原因.a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态9,为什么要引入挂起状态?该状态具有哪些性质?a. 引入挂起状态处于5中需要:终端用户的需要,父进程的需要,操作系统的需要,对换的需要和负荷调节的需要.b. 处于挂起状态的进程不能接收处理机调度1O 在进行进程切换时,所要保存的处理机状态信息主要有哪些?a. 进程当前暂存信息;b. 下一条指令地址信息;c. 进程状态信息;d. 过程和系统调用参数及调用地址信息.13 在创建一个进程时,需完成的主要工作是什么?a. 操作系统发现请求创建新进程事件后,调用进程创建原语Creat();b. 申请空白PCB;c. 为新进程分配资源;d. 初始化进程控制块;e•将新进程插入就绪队列.14 在撤消一个进程时,需完成的主要工作是什么?a.Os 调用进程终止原语;b•根据被终止进程的标志符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态;c•若被终止进程正处于执行状态,应立即中止该进程的执行,并设置调度标志为真;d•若该进程还有子孙进程,还应将其所有子孙进程予以终止;e.将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;f. 将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息•17.为什么进程在进入临界区之前,应先执行” 进入区“代码,在退出临界区后又执行“退出区” 代码?为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为”进入区” 代码;在退出临界区后,必须执行”退出区”代码,用于恢复未被访问标志.18,同步机构应遵循哪些基本准则?为什么?a. 空闲让进•c 有限等待.d. 让权等待.23 在生产者一消费者问题中,如果缺少了signal(full) 或Signal(empty) ,对执行结果会有何影响? 如果缺少了signal(full) 或Signal(empty) ,,生产者可以不断地往缓冲池送消息,如果缓冲池满,就会覆盖原有数据,造成数据混乱.而消费者始终因wait(full) 操作将消费进程直接送入进程阻塞链表进行等待,无法访问缓冲池,造成无限等待.24,在生产者一消费者问题中,如果将两个wait 操作即wait(full) 和wait(mutex) 互换位置;或者是将signal(mutex) 与signal(full) 互换位置结果会如何?a. wait(full) 和wait(mutex) 互换位置后,因为mutex 在这儿是全局变量,执行完wait(mutex) ,则mutex 赋值为0,倘若full 也为0,则该生产者进程就会转入进程链表进行等待,而生产者进程会因全局变量mutex 为0 而进行等待,使full 始终为0,这样就形成了死锁.b. 而signal(mutex) 与signal(full) 互换位置后,从逻辑上来说应该是一样的.25,我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥,开锁原语: unlock(W):W=O;关锁原语:lock(W);if(W==l)do no_op;W=l;利用开关锁原语实现互斥:Var w: semaphore: =0;beginparbeginProcess:beginrepeatlock(W);critical sectionunlock(W);remainder sectionuntil false;endparend26.试修改下面生产者一消费者问题解法中的错误:Producer:beginrepeatproducer an item in nextp;wait(mutex);wait(full);/* 应为wait(empty) ,而且还应该在wait(mutex) 的前面*/ buffer(in):=nextp;/* 缓冲池数组游标应前移:in:=(in+l)mod n;*//*signal(full);*/until false;endConsumer:beginrepeatwait(mutex);wait(empty);/* 应为wait(full) ,而且还应该在wait(mutex) 的前面*/ nextc:=buffer(out); out:=out+l;/* 考虑循环,应改为:out:=(out+l)mod n;*/signal(mutex);/*signal(empty);*/consumer item in nextc;until false;end27 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法.设初始值为1的信号量c[l]表示工号筷子被拿(工=1 , 2, 3, 4,…,Zn),其中n为自然数send(I):Beginif 1 mod 2==1 then{P(c[l]);P(c[l -1 mod 5]);Eat;V(c[l 一1 mod 5]);V(c[l]);}e1se{P(c[I 一1 mod 5);P(c[I]);Eat;V(c[I]);V(c[I 一1 mod 5]);}End。

操作系统概念第七版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()系统调⽤的标志的进程或线程。

第4章习题及答案

第4章习题及答案

第四章习题及解答4-3 什么是进程?进程与程序的主要区别是什么?答:进程是一个具有一定独立功能的程序关于某个数据集合的一次活动。

进程与程序的主要区别是:(1) 程序是指令的有序集合,是一个静态概念。

进程是程序在处理机的一次执行过程,是一个动态概念。

进程是有生命期的,因创建而产生,因调度而执行,因得到资源而暂停,因撤消而消亡;(2) 进程是一个独立的运行单元,是系统进行资源分配和调度的独立单元,而程序则不是。

(3) 进程与程序之间无一一对应关系。

一个程序可以对应多个进程,一个进程至少包含一个程序。

4-4 图4.2标明程序段执行的先后次序。

其中:I表示输入操作,C表示计算操作,P 表示打印操作,下角标说明是对哪个程序进行上述操作。

请指明:(1)哪些操作必须有先后次序? 其原因是什么?(2)哪些操作可以并发执行? 其原因又是什么?答:(1) ①I n、C n和P n之间有先后顺序要求,这是由于程序本身的逻辑要求。

②使用同一设备的不同的程序段,如C1…C n,I1…I n,P1…P n,之间有先后顺序要求,这是由于设备某一时刻只能为一个程序服务。

(2) 不同程序使用不同设备时,占用不同设备,无逻辑关系,可以并发执行,如I2和C1;I3、C2和P1。

4-9 某系统进程调度状态变迁图如图4.31(1) 什么原因会导致发生变迁2、变迁3、变迁4 ?答:发生变迁2的原因:时间片到发生变迁3的原因:请求I/O或其他系统调用发生变迁4的原因:I/O完成或其他系统调用完成(2) 在什么情况下,一个进程的变迁3 能立即引起另一个进程发生变迁1 ?答:一个进程的变迁3 能立即引起另一个进程发生变迁的条件是,就绪队列非空。

(3) 下列因果变迁是否可能发生?若可能,需要什么条件?a. 2→1;b. 3→2;c. 4→1答:a. 2→1 不需要条件,一定会发生。

b. 3→2 不可能发生。

c. 4→1 可能发生,条件:就绪队列为空,或在可剥夺调度方式下,转变为就绪状态的进程优先级最高。

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

“操作系统概论”习题解答之第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 64)mod 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文件时,文件系统按照目录查找文件时得到相同的文件存放位置。

于是各用户使用了不同的文件名,却仍能共享同一文件。

13、总结文件的存取方式、文件的存储结构、存储设备类型之间的关系。

答:文件的存取方法有两种:顺序存取和随机存取。

15、区分文件的保护和保密。

答:文件的保护是指防止文件被破坏。

文件的保密是指防止他人窃取文件。

16、怎样防止由于系统故障而造成的文件被破坏?答:防止系统故障而造成的文件被破坏的方法有两种:1、一种方法是采用建立副本的办法来解决,可以建立在同类型的不同存储介质上,也可以建立在不同类型的存储介质上,当系统出现故障时,根据系统故障的具体情况来选取副本。

2、另一种方法是采取定时转储,定时把文件转储到其它存储介质上,当文件发生故障时,就用转储的文件来复原。

17、怎样防止用户共享文件可能造成的文件被破坏?答:为了防止在使用共享文件时有意无意的破坏,可对每个文件规定存取权限。

如:只读,可读写,只允许执行,不能删除等。

对多用户可共享的文件采用树形目录结构,在目录项中设置存取权限,规定按存取权限去使用目录和文件。

典型的例子是在UNIX系统中,用户被分为三类:文件主,同组用户,其他用户。

系统中各类用户对文件的存取权限有读、写、执行三种操作的组合。

18、文件系统提供的基本文件操作有哪些?答:“建立”操作、“打开”操作、“读/写”操作、“关闭”操作、“删除”操作。

19、文件系统中为什么要设置“建立”、“打开”和“关闭”操作?答:要把一个文件存放到存储介质上或使用一个已经建立在某存储介质上的文件前,首先应该把文件的属性(文件名、文件类型、可访问性、记录大小等),文件的管理信息(口令、建立日期、保存期限等)以及存取方式,通过特定的形式告诉文件系统。

“建立”。

“打开”和“关闭”操作就是为此目的而设置的。

用“建立”操作向系统提出生成一个新文件的要求。

用“打开”操作向系统申请读一指定文件的权力。

用“关闭”操作表示已经不再要读/写某个文件了,向系统归还使用文件的权力。

20、当用户要读一个尚未打开的文件的时候,系统怎么处理?答:当用户要读一个文件的时候,系统先要验证该用户是否有使用权力,所以任何一个用户如果要读文件前都要执行“打开”操作。

系统不允许隐式使用,那么当读一个还没有打开的文件,系统不会执行读操作,而是返回一个“文件未打开”的错误信息。

如果系统允许隐式使用,那么系统将会替用户做打开文件的工作。

21、文件系统能允许用户去“关闭”一个不是自己“打开”或“建立”的文件吗?答:不能!一个不是自己“打开”或“建立”的文件,是没有权力使用和强行关闭的。

相关文档
最新文档