操作系统课后习题答案
- 格式:doc
- 大小:51.00 KB
- 文档页数:4
练习题(一)Ⅰ问答题1. 操作系统的两个主要目标是什么?答:方便性与有效性。
2. 试说明操作系统与硬件、其它系统软件以及用户之间的关系?答:与硬件的关系:操作系统是位于硬件层上的第一层软件,它直接管理着计算机的硬件,合理组织计算机工作流程,并提高了硬件的利用率。
与其他系统软件的关系:操作系统是系统软件,但它不同于其它系统软件和应用软件,它为其它系统软件和应用软件提供接口。
应用软件要使用操作系统所提供的服务方可方便使用计算机。
与用户之间的关系:操作系统是为改善人机界面、提供各种服务,为用户使用计算机提供良好运行环境的一种系统软件。
3. 试论述操作系统是建立在计算机硬件平台上的虚拟计算机系统。
答:没有任何软件支持的计算机称为裸机,即使其硬件功能再强,也必定是难于使用的。
而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。
裸机位于最里层,它的外面是操作系统,经过操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机(Virtual Machine ),这样的计算机系统是概念上和逻辑上的计算机,不是物理上的真实计算机。
4. 什么是操作系统?它有哪些基本功能与基本特征?答:操作系统是位于硬件层之上,所有其它软件层之下的一种系统软件,它控制和管理计算机系统资源、合理组织计算机工作流程、提供用户与计算机系统之间的接口。
操作系统的基本功能有:处理器管理、存储器管理、设备管理、文件管理和提供用户接口。
操作系统的基本特征有:并发性、共享性、虚拟性和不确定性。
5. 请叙述并发和并行两个概念的区别?答:并发性是指两个或多个程序在同一时间段内同时执行,是宏观上的同时。
而并行性是从硬件意义上考虑,是不同硬件部件(如CPU与I/O)在同一时刻的并行,即微观上,多个程序也是同时执行的。
6. 什么是多道程序设计? 在操作系统中使用这种技术有什么好处?答:多道程序设计是指在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用。
第2章操作系统的运行环境2.2 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的lntel80386设置了四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?答:现在的Intel 80386把执行全部指令的管态分为三个特权级,再加之只能执行非特权指令的目态,这四级不同的机器状态,按照系统处理器工作状态这四级不同的机器状态也被划分管态和目态,这也完全符合处理器的工作状态。
2.6 什么是程序状态字?主要包括什么内容?答:如何知道处理器当前处于什么工作状态,它能否执行特权指令,以及处理器何以知道它下次要执行哪条指令呢?为了解决这些问题,所有的计算机都有若干的特殊寄存器,如用一个专门的寄存器来指示一条要执行的指令称程序计数器PC,同时还有一个专门的寄存器用来指示处理器状态的,称为程序状态字PSW。
主要内容包括所谓处理器的状态通常包括条件码--反映指令执行后的结果特征;中断屏蔽码--指出是否允许中断,有些机器如PDP-11使用中断优先级;CPU的工作状态--管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力。
2.11 CPU如何发现中断事件?发现中断事件后应做什么工作?答:处理器的控制部件中增设一个能检测中断的机构,称为中断扫描机构。
通常在每条指令执行周期内的最后时刻中扫描中断寄存器,询为是否有中断信号到来。
若无中断信号,就继续执行下一条指令。
若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM-PC中是第16~31位),称为中断码。
发现中断事件后应执行相中断处理程序,先由硬件进行如下操作:1、将处理器的程序状态字PSW压入堆栈2、将指令指针IP(相当于程序代码段落的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以保存被子中断程序的返回地址。
3、取来被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。
第一章1.下面不属于操作系统的是(C )A、OS/2B、UCDOSC、WPSD、FEDORA2.操作系统的功能不包括(B )A、CPU管理B、用户管理C、作业管理D、文件管理3.在分时系统中,当时间片一定时,(B ),响应越快。
A、内存越大B、用户越少C、用户越多D、内存越小4.分时操作系统的及时性是指( B )A、周转时间B、响应时间C、延迟时间D、A、B和C5.用户在程序设计的过程中,若要得到系统功能,必须通过(D )A、进程调度B、作业调度C、键盘命令D、系统调用6.批处理系统的主要缺点是( C )A、CPU使用效率低B、无并发性C、无交互性D、都不是第二章1、若信号量的初值为2,当前值为-3,则表示有(C )个进程在等待。
A、1B、2C、3D、52、在操作系统中,要对并发进程进行同步的原因是(B )A、进程必须在有限的时间内完成B、进程具有动态性C、并发进程是异步的D、进程具有结构性3、下列选项中,导致创进新进程的操作是(C )I用户成功登陆II设备分配III启动程序执行A、仅I和IIB、仅II和IIIC、仅I和IIID、I,II,III4、在多进程系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓的临界区是指(D )A、一个缓冲区B、一个数据区C、一种同步机构D、一段程序5、进程和程序的本质区别是(B )A、内存和外存B、动态和静态特征C、共享和独占计算机资源D、顺序和非顺序执行计算机指令6、下列进程的状态变化中,(A )的变化是不可能发生的。
A、等待->运行B、运行->等待C、运行->就绪D、等待->就绪7、能从1种状态变为3种状态的是(D )A、就绪B、阻塞C、完成D、执行8、下列关于进程的描述正确的是(A )A、进程获得CPU是通过调度B、优先级是进程调度的重要依据,一旦确定就不能改变C、在单CPU系统中,任何时刻都有一个进程处于执行状态D、进程申请CPU得不到满足时,其状态变为阻塞9、CPU分配给进程的时间片用完而强迫进程让出CPU,此时进程的状态为(C )。
1.什么是操作系统?其主要功能是什么?操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口.2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。
A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。
B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。
试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待?(2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。
0 50 100 150 200 250 30050 100 50 10050 100 20 100(1) cpu有空闲等待,在100ms~150ms的时候.(2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms.1.设公共汽车上,司机和售票员的活动如下:司机的活动:启动车辆;正常行车;到站停车。
售票员的活动:关车门;售票;开车门。
在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。
semaphore s1,s2;s1=0;s2=0;cobegin司机();售票员();coendprocess 司机(){while(true){P(s1) ;启动车辆;正常行车;到站停车;V(s2);}}process 售票员(){while(true){关车门;V(s1);售票;P(s2);开车门;上下乘客;}}2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。
请用信号量和P、V操作,写出能够正确执行的程序。
操作系统1.什么是计算机系统?计算机系统是怎么构成的?了解PC的组成情况,说明:1)硬件组织的基本结构,画出硬件配置图;2)主要系统软件和应用软件(若有的话)他们的作用。
答:计算机系统就是按照人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的系统。
计算机系统由硬件子系统和软件子系统组成。
计算机系统的构成包括:如图1.2计算机硬件系统的构成:如图1.42.从功能以及程序涉设计的角度说明计算机系统中软件系统是如何构成的?答:分为系统软件,支撑软件和应用软件三层。
3.什么是操作系统?请举例说明操作系统在计算机系统中的重要地位。
答:操作系统是计算机系统中的一个系统软件,是一些程序模块的集合。
它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能安全高效地运行4.请举一个实际的例子来说明操作系统的功能。
答:你能用用操作系统管理很多资源5.为什么说“操作系统是控制硬件的软件”的说法不确切?答:操作系统不仅能够控制硬件,也可以控制各种软件资源。
6.操作系统的基本特征是什么?说明他们之间的关系。
答:1.并发性2.共享性3.随机性7.试从独立性,并发性和交互性和实时性四个方面来比较批处理系统,分时系统以及实时系统。
答:分时系统:并发性是指同时有多个用户共同使用一个计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU.独占性,是指用户感觉不到计算机为他们服务,就好像整个系统为他所独占。
交互性:是指用户根据系统响应结果进一步提出新要求,用户直接干预每一步。
实时性:是指系统对用户提出的请求及时响应。
8.引入多道程序设计技术的起因和目的是什么?多道程序系统的特征是什么?答:多道程序设计的基本思想在内存中保持多个作业,主机可以交替的方式同时处理多个作业,一般来说任何一道作业的运行总是要交替的使用处理器和外设子案9.多道程序设计的度是指在任一给定时刻,单个CPU所能支持的进程数目最大值。
一、名词解释1、操作系统:是位于硬件层之上,所有其它软件之下的一个系统软件,是管理系统中的软硬资源,使其得以充分利用并方便用户使用的程序集合。
2、进程:具有一定独立功能的程序关于一个数据集合的一次运行活动。
3、线程:也称轻进程,是进程内的一个相对独立的执行流。
4、设备无关性:用户在使用设备时,选用逻辑设备,而不必面对一种设备一种接口.设备管理实现逻辑设备到物理设备的映射,这就是设备无关性.5、数组多路通道:是指连接多台设备.同时为多台设备服务,每次输入/输出一个数据块.这样的通道叫数组多路通道.6、死锁:一组并发进程,因争夺彼此占用的资源而无法执行下去,这种僵局叫死锁.7、文件系统:是指与文件管理有关的那部分软件,被管理的文件及管理所需的数据结构的总体.8、并发进程:进程是一个程序段在其数据集合上的一次运行过程,而并发进程是可以与其它进程并发运行的.9、临界区:是关于临界资源访问的代码段.10、虚拟存储器:是一种扩大内存容量的设计技术,它把辅助存储器作为计算机内存储器的后援,实际上不存在的扩大的存储器叫虚拟存储器^11、动态重定位:在程序运行时,将逻辑地址映射为物理地址的过程叫动态重定位.12、作业:用户要求计算机系统为其完成的计算任务的集合。
13、中断:在程序运行过程中,出现的某种紧急事件,必须中止当前正在运行的程序,转去处理此事件,然后再恢复原来运行的程序,这个过程称为中断。
14、文件:具有符号名而且在逻辑上具有完整意义的信息项的有序序列。
15、进程互斥:两个或两个以上的进程,不同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象叫互斥。
16、系统开销:指运行操作系统程序,对系统进行管理而花费的时间和空间。
17、通道:由通道独立控制完成I/O操作,全部完成后向CPU发出中断,CPU丸行中断处理程序。
18、系统调用:使用户或系统程序在程序以及上请求系统为之服务的一种手段。
(完整版)操作系统课后题答案课本课后题部分答案第⼀章1.设计现代OS的主要⽬标是什么?答:(1)有效性(2)⽅便性(3)可扩充性(4)开放性2.OS的作⽤可表现在哪⼏个⽅⾯?答:(1)OS作为⽤户与计算机硬件系统之间的接⼝(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象13.OS有哪⼏⼤特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
14.处理机管理有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运⾏过程中的状态转换。
进程同步:为多个进程(含线程)的运⾏进⾏协调。
通信:⽤来实现在相互合作的进程之间的信息交换。
处理机调度:(1)作业调度。
从后备队⾥按照⼀定的算法,选出若⼲个作业,为他们分配运⾏所需的资源(⾸选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照⼀定算法选出⼀个进程,把处理机分配给它,并设置运⾏现场,使进程投⼊执⾏。
15.内存管理有哪些主要功能?他们的主要任务是什么?北京⽯油化⼯学院信息⼯程学院计算机系3/48《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。
内存分配:为每道程序分配内存。
内存保护:确保每道⽤户程序都只在⾃⼰的内存空间运⾏,彼此互不⼲扰。
地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。
内存扩充:⽤于实现请求调⽤功能,置换功能等。
16.设备管理有哪些主要功能?其主要任务是什么?答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。
主要任务: 完成⽤户提出的I/O 请求,为⽤户分配I/O 设备;提⾼CPU 和I/O 设备的利⽤率;提⾼I/O速度;以及⽅便⽤户使⽤I/O设备.17.⽂件管理有哪些主要功能?其主要任务是什么?答:⽂件管理主要功能:⽂件存储空间的管理、⽬录管理、⽂件的读/写管理和保护。
操作系统课后习题1-9答案练习11.1-1.10题解见书1.11 有⼀台输⼊设备和⼀台输出设备的计算机系统上,运⾏有两道程序。
两道程序投⼊运⾏情况如下:程序1先开始运⾏,其运⾏轨迹为:计算50ms、输出100ms、计算50ms、输出100ms,结束;程序2后开始运⾏,其运⾏轨迹为:计算50ms、输⼊100ms、计算100ms、结束。
1. 忽略调度时间,指出两道程序运⾏时,CPU是否有空闲?在哪部分空闲?指出程序1和程序2. 有⽆等待CPU的情况?如果有,发⽣在哪部分?题解:由题画出CPU利⽤图如下:由图可知,1.CPU有空闲,在100ms~150ms时间段是空闲的。
2.程序1⽆等待时间,⽽程序2在⼀开始的0ms~50ms时间段会等待。
1.12 在计算机系统上运⾏三道程序,运⾏次序为程序1、程序2、程序3。
程序3的运⾏轨迹为:计算60ms、输⼊30ms、计算20ms。
忽略调度时间,画出三道程序运⾏的时间关系图;完成三道程序共花多少时间?与单道程序⽐较,节省了多少时间?解答:三道程序运⾏,完成三道程序共花170ms。
与单道程序(260ms)⽐较,节省了90ms。
(始终按照1-2-3的次序,即程序1→程序2→程序3→程序1→程序2→(在程序3运⾏前会停10ms等待输⼊完成)程序3。
(如果不是按照程序1、2、3的次序完成则会有多种情况。
)1.13 在计算机系统上有两台输⼊/输出设备,运⾏两道程序。
程序1的运⾏轨迹为:计算10ms、输⼊5ms、计算5ms、输出10ms、计算10ms。
程序2的运⾏轨迹为:输⼊10ms、计算10ms、输出5ms、计算5ms、输出10ms。
在顺序环境下,先执⾏程序1,再执⾏程序2,求总的CPU利⽤率为多少?题解:由题画出CPU利⽤图如下:由图可知,在总共80ms的时间⾥,CPU空闲时间为40ms,即:CPU利⽤率=40ms/80ms*100%=50%1.14 ⼀个计算机系统有⾜够的内存空间存放3道程序,这些程序有⼀半的时间在空闲等待I/O操作。
操作系统课后习题答案第一章o引论1.设计现代OS的主要目标是什么方便性,有效性,可扩充性和开放性.2.OS的作用可表现为哪几个方面a.OS作为用户与计算机硬件系统之间的接口;b.OS作为计算机系统资源的管理者;c.OS作为扩充机器.4.试说明推动多道批处理系统形成和发展的主要动力是什么不断提高计算机资源利用率和系统吞吐量的需要;5.何谓脱机I/O和联机I/Oa.脱机输入输出方式(Off-LineI/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.b.若这种输入输出操作在主机控制下进行则称之为联机输入输出方式.6.试说明推动分时系统形成和发展的主要动力是什么用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求.7.实现分时系统的关键问题是什么应如何解决a.关键问题:及时接收,及时处理;b.对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输入的数据;---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行一次.8为什么要引入实时操作系统更好地满足实时控制领域和实时信息处理领域的需要.12试从交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.a.分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统虽然也有交互能力,但其交互能力不及前者.b.实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的.c.实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高.13OS具有哪几大特征它的最基本特征是什么a.并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Aynchronim).b.其中最基本特征是并发和共享.14处理机管理具有哪些功能它们的主要任务是什么a.进程控制,进程同步,进程通信和调度.b.进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换.---进程同步的主要任务是对诸进程的运行进行调节.---进程通信的任务是实现在相互合作进程之间的信息交换.---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.15内存管理有哪些主要功能它们的主要任务是什么a.主要功能:内存分配,内存保护,地址映射和内存扩充等.b.内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要.---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址.---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.16设备管理有哪些主要功能其主要任务是什么a.主要功能:缓冲管理,设备分配和设备处理,以及虚拟设备等.b.主要任务:完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备.17文件管理有哪些主要功能其主要任务是什么a.主要功能:对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护.b.主要任务:对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性.18是什么原因使操作系统具有异步性特征a.程序执行结果是不确定的,即程序是不可再现的.b.每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可预知性.第二章2.试画出下面条语句的前趋图:S1:a=5-某;S2:b=a某某;S3:c=4某某;S4:d=b+c;S5:e=d+3.S1->S2->S4->S5......../......S33.程序并发执行为什么会产生间断性因为程序在并发执行过程中存在相互制约性.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.处于挂起状态的进程不能接收处理机调度.10在进行进程切换时,所要保存的处理机状态信息主要有哪些a.进程当前暂存信息;b.下一条指令地址信息;c.进程状态信息;d.过程和系统调用参数及调用地址信息.11试说明引起进程创建的主要事件.a.用户登陆;b.作业调度;c.提供服务;d.应用请求.12试说明引起进程撤消的主要事件.a.正常结束;b.异常结束;c.外界干预;13在创建一个进程时,需完成的主要工作是什么a.操作系统发现请求创建新进程事件后,调用进程创建原语Creat();b.申请空白PCB;c.为新进程分配资源;d.初始化进程控制块;e.将新进程插入就绪队列.14在撤消一个进程时,需完成的主要工作是什么a.OS调用进程终止原语;b.根据被终止进程的标志符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态;c.若被终止进程正处于执行状态,应立即中止该进程的执行,并设置调度标志为真;d.若该进程还有子孙进程,还应将其所有子孙进程予以终止;e.将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;f.将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息.15试说明引起进程阻塞或被唤醒的主要事件是什么a.请求系统服务;b.启动某种操作;c.新数据尚未到达;d.无新工作可做.17.为什么进程在进入临界区之前,应先执行"进入区"代码,在退出临界区后又执行"退出区"代码为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为"进入区"代码;在退出临界区后,必须执行"退出区"代码,用于恢复未被访问标志.18.同步机构应遵循哪些基本准则为什么a.空闲让进.b.忙则等待.c.有限等待.d.让权等待.20.你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则a.在整型信号量机制中,未遵循"让权等待"的准则.b.记录型信号量机制完全遵循了同步机构的"空闲让进,忙则等待,有限等待,让权等待"四条准则.23.在生产者-消费者问题中,如果缺少了ignal(full)或ignal(empty),对执行结果会有何影响生产者-消费者问题可描述如下: varmute某,empty,full:emaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeat.produceaniteminne某tp;..wait(empty);wait(mute某);buffer(in):=ne某tp;in:=(in+1)modn;ignal(mute某);/某某某某某某某某某某某某某某某某/ ignal(full);/某某某某某某某某某某某某某某某某/ untilfale;endconumer:beginrepeatwait(full);wait(mute某);ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);/某某某某某某某某某某某某某某某某/ ignal(empty);/某某某某某某某某某某某某某某某某/conumetheiteminne某tc;untilfale;endparendend可见,生产者可以不断地往缓冲池送消息,如果缓冲池满,就会覆盖原有数据,造成数据混乱.而消费者始终因wait(full)操作将消费进程直接送入进程链表进行等待,无法访问缓冲池,造成无限等待.24.在生产者-消费者问题中,如果将两个wait操作即wait(full)和wait(mute某)互换位置;或者是将ignal(mute某)与ignal(full)互换位置结果会如何varmute某,empty,full:emaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeat..produceaniteminne某tp;.wait(empty);wait(mute某);buffer(in):=ne某tp;in:=(in+1)modn;/某某某某某某某某某某某某某某某某某某某/ ignal(full);ignal(mute某);/某某某某某某某某某某某某某某某某某某某/ untilfale;endconumer:beginrepeat/某某某某某某某某某某某某某某某某某某/ wait(mute某);wait(full);/某某某某某某某某某某某某某某某某某某/ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);ignal(empty);conumetheiteminne某tc;untilfale;endparendendwait(full)和wait(mute某)互换位置后,因为mute某在这儿是全局变量,执行完wait(mute某),则mute某赋值为0,倘若full也为0,则该生产者进程就会转入进程链表进行等待,而生产者进程会因全局变量mute某为0而进行等待,使full始终为0,这样就形成了死锁.而ignal(mute某)与ignal(full)互换位置后,从逻辑上来说应该是一样的.25.我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥.开锁原语:unlock(W):W=0;关锁原语:lock(W);if(W==1)dono_op;W=1;利用开关锁原语实现互斥:varW:emaphore:=0;beginparbeginproce:repeatlock(W);criticalectionunlock(W);remainderectionuntilfale;endparend26.试修改下面生产者-消费者问题解法中的错误: producer:beginrepeat..produceraniteminne某tp;wait(mute某);wait(full);/某应为wait(empty),而且还应该在wait(mute某)的前面某/buffer(in):=ne某tp;/某缓冲池数组游标应前移:in:=(in+1)modn;某/ignal(mute某);/某ignal(full);某/untilfale;endconumer:beginrepeatwait(mute某);wait(empty);/某应为wait(full),而且还应该在wait(mute某)的前面某/ne某tc:=buffer(out);out:=out+1;/某考虑循环,应改为:out:=(out+1)modn;某/ignal(mute某);/某ignal(empty);某/conumeriteminne某tc;untilfale;end27.试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法.设初始值为1的信号量c[I]表示I号筷子被拿(I=1,2,3,4,...,2n),其中n为自然数.end(I):BeginifImod2==1then{P(c[I]);P(c[I-1mod5]);V(c[I-1mod5]);}ele{P(c[I-1mod5]);P(c[I]);Eat;V(c[I]);V(c[I-1mod5]);}End28.在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单缓冲中取出数据进行计算.试写出利用信号量机制实现两者共享单缓冲的同步算法.intmute某=1;intempty=n;intfull=0;intin=0;intout=0;{cobeginend();obtain();coend}end(){while(1){..collectdatainne某tp; ..wait(empty);wait(mute某);buffer(in)=ne某tp;in=(in+1)modn;ignal(mute某);ignal(full);}}//endobtain(){while(1){wait(full);wait(mute某);ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);ignal(empty);culculatethedatainne某tc;}//while}//obtain29画图说明管程由哪几部分组成为什么要引入条件变量管程由三部分组成:局部于管程的共享变量说明;对该数据结构进行操作的一组过程;对局部于管程的数据设置初始值的语句.(图见P59)因为调用wait原语后,使进程等待的原因有多种,为了区别它们,引入了条件变量.30.如何利用管程来解决生产者-消费者问题(见P60)31.什么是AND信号量试利用AND信号量写出生产者-消费者问题的解法.为解决并行所带来的死锁问题,在wait操作中引入AND条件,其基本思想是将进程在整个运行过程中所需要的所有临界资源,一次性地全部分配给进程,用完后一次性释放.解决生产者-消费者问题可描述如下:varmute某,empty,full:emaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeat..produceaniteminne某tp;..wait(empty);wait(1,2,3,...,n);//1,2,...,n为执行生产者进程除empty外其余的条件wait(mute某);buffer(in):=ne某tp;in:=(in+1)modn;ignal(mute某);ignal(full);ignal(1,2,3,...,n);untilfale;endconumer:beginrepeatwait(full);wait(k1,k2,k3,...,kn);//k1,k2,...,kn为执行消费者进程除full 外其余的条件wait(mute某);ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);ignal(empty);ignal(k1,k2,k3,...,kn);conumetheiteminne某tc;untilfale;endparendend33.试比较进程间的低级通信工具与高级通信工具.用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须由程序员来实现.而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,高效地传送大量的数据.第三章1.高级调度与低级调度的主要任务是什么为什么要引入中级调度a.作业调度又称宏观调度或高级调度,其主要任务是按一定的原则对外存上处于后备状态的作业进行选择,给选中的作业分配内存,输入输出设备等必要的资源,并建立相应的进程,以使该作业的进程获得竞争处理机的权利.b.进程调度又称微观调度或低级调度,其主要任务是按照某种策略和方法选取一个处于就绪状态的进程,将处理机分配给它.c.为了提高内存利用7.选择调度方式和调度算法时,应遵循的准则是什么a.面向用户的准则有周转时间短,响应时间快,截止时间的保证,以及优先权准则.b.面向系统的准则有系统吞吐量高,处理机利用率好,各类资源的平衡利用.11.在时间片轮转法中,应如何确定时间片的大小?a.系统对响应时间的要求;b.就绪队列中进程的数目;c.系统的处理能力。
第一章
1.设计现代OS的主要目标是什么?
答:(1)有效性(2)方便性(3)可扩充性(4)开放性
4.试说明推劢多道批处理系统形成和収展的主要劢力是什么?
答:主要动力来源于四个方面的社会需求与技术发展:
(1)不断提高计算机资源的利用率;
(2)方便用户;
(3)器件的不断更新换代;
(4)计算机体系结构的不断发展。
12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统迚行比较。
答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。
(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。
不像分时系统那样能向终端用户提供数据和资源共享等服务。
(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。
因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。
13.OS有哪几大特征?其最基本的特征是什么?
答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
第二章
2. 画出下面四条诧句的前趋图:
S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1;
8.试说明迚程在三个基本状态之间转换的典型原因。
答:(1)就绪状态→执行状态:进程分配到CPU资源
(2)执行状态→就绪状态:时间片用完
(3)执行状态→阻塞状态:I/O请求
(4)阻塞状态→就绪状态:I/O完成
23.在生产者消费者问题中,如果缺少了signal(full)戒signal(empty),对执行结果有何影响?
答:如果缺少signal(full),那么表明从第一个生产者进程开始就没有改变信号量full 值,即使缓冲池产品已满,但full 值还是0,这样消费者进程执行wait(full)时认为缓冲池是空而取不到产品,消费者进程一直处于等待状态。
如果缺少signal(empty),在生产者进程向n个缓冲区投满产品后消费者进程才开始从中取产品,这时empty=0,full=n,那么每当消费者进程取走一个产品empty 值并不改变,直到缓冲池取空了,empty 值也是0,即使目前缓冲池有n 个空缓冲区,生产者进程要想再往缓冲池中投放产品也会因为申请不到空缓冲区被阻塞。
24.在生产消费者问题中,如果将两个wait 操作卲wait(full)和wait(mutex)互换位置,戒者将signal(mutex)不signal(full)互换位置,结果如何?
答:将wait(full)和wait(mutex)互换位臵后,可能引起死锁。
考虑系统中缓冲区全满时,若一生产者进程先执行了wait(mutex)操作并获得成功,则当再执行wait(empty)操作时,它将因失败而进入阻塞状态,它期待消费者进程执行signal(empty)来唤醒自己,在此之前,它不可能执行signal(mutex)操作,从而使试图通过执行wait(mutex)操作而进入自己的临界区的其他生产者和所有消费者进程全部进入阻塞状态,这样容易引起系统死锁。
若signal(mutex)和signal(full)互换位臵后只是影响进程对临界资源的释放次序,而不会引起系统死锁,因此可以互换位臵。
36.为什么要在OS 中引入线程?
答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性,提高CPU的利用率。
进程是分配资源的基本单位,而线程则是系统调度的基本单位。
第三章
3.在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?
答:每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等
10.试比较FCFS和SPF两种迚程调度算法。
答:相同点:两种调度算法都可以用于作业调度和进程调度。
不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。
该算法有利于长作业/进程,不利于短作业/进程。
SPF算法每次调度都从后备队列中选择一个或若干个估计运行时间最短的作业,调入内存中运行。
该算法有利于短作业/进程,不利于长作业/进程。
11.在时间片轮转法中,应如何确定时间片的大小?
答:时间片应略大于一次典型的交互需要的时间。
一般应考虑三个因素:系统对相应时间的要求、就绪队列中进程的数目和系统的处理能力。
18. 何谓死锁?产生死锁的原因和必要条件是什么?
a.死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程
都将永远不能再向前推进;
b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;
c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。
第四章存储器管理
6. 为什么要引入动态重定位?如何实现?
a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程
序还能正常执行,必须对程序和数据的地址加以修改,即重定位。
引入重定位的目的就是为了满足程序的这种需要。
b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构
的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。
程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
17. 分页和分段有何区别?
a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址
变换,这是它们的共同点;
b.对于它们的不同点有三,第一,从功能上看,页是信息的物理单位,分页
是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;第二页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;第三分页的作业地址空间是一维的,而分段的作业地址空间是二维的。
19. 虚拟存储器有哪些特征?其中最本质的特征是什么?
特征:离散性、多次性、对换性、虚拟性;
最本质的特征:离散性;最重要的特征:虚拟性。
26. 在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面
走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。
M=3
M=4
M=3
M=4时,采用FIFO页面置换算法的缺页次数为10次,缺页率为83%。
由此可见,增加分配给作业的内存块数,反而增加了缺页次数,提高了缺页率,这种现象被称为是Belady现象。
第五章设备管理
7. 有哪几种I/O控制方式?各适用于何种场合?
I/O控制方式:程序I/O方式、中断驱动I/O控制方式、DMAI/O控制方式、I/O通道控制方式。
程序I/O方式适用于早期的计算机系统中,并且是无中断的计算机系统;中断驱动I/O控制方式是普遍用于现代的计算机系统中;
DMA I/O控制方式适用于I/O设备为块设备时在和主机进行数据交换的一种I/O控制方式;当I/O设备和主机进行数据交换是一组数据块时通常采用I/O 通道控制方式,但此时要求系统必须配置相应的通道及通道控制器。
15. 为什么要引入设备独立性?如何实现设备独立性?
引入设备独立性,可使应用程序独立于具体的物理设备,是设备分配具有灵活性。
另外容易实现I/O重定向。
为了实现设备独立性,必须在设备驱动程序之上设置一层设备独立性软件,用来执行所有I/O设备的公用操作,并向用户层软件提供统一接口。
关键是系统中必须设置一张逻辑设备表LUT用来进行逻辑设备到物理设备的映射,其中每个表目中包含了逻辑设备名、物理设备名和设备驱动程序入口地址三项;当应用程序用逻辑设备名请求分配I/O设备时,系统必须为它分配相应的物理设备,并在LUT中建立一个表目,以后进程利用该逻辑设备名请求I/O操作时,便可从LUT中得到物理设备名和驱动程序入口地址。