计算机操作系统课后习题答案
计算机操作系统课后题答案(高等教育出版社)

练习题(一)Ⅰ问答题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. 什么是前趨圖?為什么要引入前趨圖?答:前趨圖(Precedence Graph)是一個有向無循環圖,記為DAG(Directed Acyclic Graph),用于描述進程之間執行的前后關系。
2. 畫出下面四條詫句的前趨圖:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趨圖為:3. 為什么程序并發執行會產生間斷性特征?程序在并發執行時,由于它們共享系統資源,以及為完成同一項任務而相互合作,致使在這些并發執行的進程之間,形成了相互制約的關系,從而也就使得進程在執行期間出現間斷性。
4. 程序并發執行時為什么會失去封閉性和可再現性?因為程序并發執行時,是多個程序共享系統中的各種資源,因而這些資源的狀態是由多個程序來改變,致使程序的運行失去了封閉性。
而程序一旦失去了封閉性也會導致其再失去可再現性。
GAGGAGAGGAFFFFAFAF5. 在操作系統中為什么要引入進程概念?它會產生什么樣的影響?為了使程序在多道程序環境下能并發執行,并能對并發執行的程序加以控制和描述,從而在操作系統中引入了進程概念。
影響: 使程序的并發執行得以實行。
6. 試從動態性,并發性和獨立性上比較進程和程序?a. 動態性是進程最基本的特性,可表現為由創建而產生,由調度而執行,因得不到資源而暫停執行,以及由撤銷而消亡,因而進程由一定的生命期;而程序只是一組有序指令的集合,是靜態實體。
b. 并發性是進程的重要特征,同時也是OS的重要特征。
引入進程的目的正是為了使其程序能和其它建立了進程的程序并發執行,而程序本身是不能并發執行的。
c. 獨立性是指進程實體是一個能獨立運行的基本單位,同時也是系統中獨立獲得資源和獨立調度的基本單位。
而對于未建立任何進程的程序,都不能作為一個獨立的單位來運行。
7. 試說明PCB的作用?為什么說PCB是進程存在的唯一標志?a. PCB是進程實體的一部分,是操作系統中最重要的記錄型數據結構。
操作系统课后习题答案

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操作,写出能够正确执行的程序。
计算机操作系统课后习题答案

计算机操作系统课后习题答案第一章os引论1. 设计现代OS的主要目标是什么方便性,有效性,可扩充性和开放性.2. OS的作用可表现为哪几个方面 a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c. OS作为扩充机器.3. 试说明推动多道批处理系统形成和发展的主要动力是什么不断提高计算机资源利用率和系统吞吐量的需要;4. 何谓脱机I/O和联机I/O a. 脱机输入输出方式(Off-Line I/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.b. 若这种输入输出操作在主机控制下进行则称之为联机输入输出方式.5. 试说明推动分时系统形成和发展的主要动力是什么用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求.6. 试说明实时任务的类型和实时系统的类型.a. 实时任务的类型按任务执行时是否呈现周期性来划分,分为周期性实时任务和非周期性实时任务;---根据对截止时间的要求来划分,分为硬实时任务和软实时任务;b. 通常把要同达行实时控制的系统统称为实时控制系统,把要求对信息进行实时处理的系统成为实时信息处理系统. 7. 实现多道程序应解决哪些问题 a. 处理机管理问题;b. 内存管理问题;c. I/O设备管理问题;d. 文件管理问题;e. 作业管理问题.8. 试比较单道与多道批处理系统的特点及优缺点.a. 单道批处理系统是最早出现的一种OS,它具有自动性,顺序性和单道性的特点;---多道批处理系统则具有调度性,无序性和多道性的特点;b. 单道批处理系统是在解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾中形成的,旨在提高系统资源利用率和系统吞吐量,但是仍然不能很好的利用系统资源;---多道批处理系统是对单道批处理系统的改进,其主要优点是资源利用率高,系统吞吐量大;缺点是平均周转时间长,无交互能力. 9. 实现分时系统的关键问题是什么应如何解决 a. 关键问题:及时接收,及时处理;b. 对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输入的数据;---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行一次.10 为什么要引入实时操作系统更好地满足实时控制领域和实时信息处理领域的需要.11 OS具有哪几大特征它的最基本特征是什么 a. 并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Asynchronism).b. 其中最基本特征是并发和共享. 12 内存管理有哪些主要功能它们的主要任务是什么 a. 主要功能: 内存分配,内存保护,地址映射和内存扩充等.b. 内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要.---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址.---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.13 处理机管理具有哪些功能它们的主要任务是什么 a. 进程控制,进程同步,进程通信和调度.b. 进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换.---进程同步的主要任务是对诸进程的运行进行调节.---进程通信的任务是实现在相互合作进程之间的信息交换.---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.14 设备管理有哪些主要功能其主要任务是什么 a. 主要功能: 缓冲管理,设备分配和设备处理,以及虚拟设备等.b. 主要任务: 完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备.15 文件管理有哪些主要功能其主要任务是什么 a. 主要功能: 对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护.b. 主要任务: 对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性.时系 16 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.a. 分统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统虽然也有交互能力,但其交互能力不及前者.b. 实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的.c. 实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高.17 是什么原因使操作系统具有异步性特征 a. 程序执行结果是不确定的,即程序是不可再现的.b. 每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可预知性.18 试说明在MS-DOS 3.X以前的版本中,其局限性表现在哪几个方面 a. 在寻址范围上,DOS只有1MB,远远不能满足用户需要.b. DOS试单用户单任务操作系统,不支持多任务并发执行,与实际应用相矛盾.19 MS-DOS由哪几部分组成每部分的主要功能是什么略.20 为什么Microsoft在开发OS/2时,选中了80286芯片设计OS/2的主要目标之一是既能充分发挥80286处理器的能力,又能运行在8086处理器环境下开发的程序.因为在80286内部提供了两种工作方式: 实方式和保护方式,使得Intel 80286处理器不仅提供了多任务并发执行的硬件支持,而且还能运行所有在8086下编写的程序。
计算机操作系统课后习题答案解析张尧学

第一章绪论1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。
2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。
其主要特征是:交互性、多用户同时性、独立性。
实时系统(realtimesystem):在被控对象允许时间范围内作出响应。
其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。
3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
6.设计计算机操作系统时与那些硬件器件有关运算器、控制器、存储器、输入设备、输出设备第二章作业管理和用户接口2.作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。
3.作业的输入方式有哪几种?各有何特点答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING(Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
计算机操作系统课后答案完整版

第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.xx脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均xx时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机操作系统(第三版)课后习题答案第一章操作系统引论1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性13.OS有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
14.处理机管理有哪些主要功能?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;15.内存管理有哪些主要功能?答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。
内存分配:为每道程序分配内存。
16.设备管理有哪些主要功能?答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。
17.文件管理有哪些主要功能?答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。
计算机操作系统第二章进程管理2. 画出下面四条诧句的前趋图:S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1;答:其前趋图为:8.试说明迚程在三个基本状态之间转换的典型原因。
图P38答:(1)就绪状态→执行状态:进程分配到CPU资源(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成16.进程在运行时存在哪两种形式的制约?答:(1)间接相互制约关系。
同处于一个系统中的进程,通常都共享着某种系统资源,也叫资源共享(2)直接相互制约关系。
这种资源于进程间的合作。
互斥:指几个并发进程若共享同一个临界资源,它们必须错开使用这个临界资源,即当一个进程正在使用临界资源且尚未使用完毕之前,其他进程不能抢夺使用该临界资源18. 同步机构应遵循哪些基本准则?答:同步机构应遵循的基本准则是空闲让进、忙则等待、有限等待、让权等待。
19. 试从物理概念上说明记录型信号量wait 和signal。
答:wait(S):当S.value>0 时,表示目前系统中这类资源还有可用的。
执行一次wait 操作,意味着进程请求一个单位的该类资源,使系统中可供分配的该类资源减少一个,因此描述为S.value:=S.value-1;当S.value<0时,表示该类资源已分配完毕,进程应调用block原语自我阻塞,放弃处理机,并插入到信号量链表S.L中。
signal(S):执行一次signal操作,意味着释放一个单位的可用资源,使系统中可供分配的该类资源数增加一个,故执行S.value:=S.value+1 操作。
若加1 后S.value≤0,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,因此应调用wakeup 原语,将S.L链表中的第一个等待进程唤醒。
22.试写出相应的程序来描述图2-17所示的前驱图。
答:(a)Var a, b, c, d, e, f, g, h; semaphore:= 0, 0, 0, 0, 0, 0, 0, 0;beginparbeginbegin S1; signal(a); signal(b); end;begin wait(a); S2; signal(c); signal(d); end;begin wait(b); S3; signal(e); end;begin wait(c); S4; signal(f); end;begin wait(d); S5; signal(g); end;begin wait(e); S6; signal(h); end;begin wait(f); wait(g); wait(h); S7; end;parendend(b)Var a, b, c, d, e, f, g, h,i,j; semaphore:= 0, 0, 0, 0, 0, 0, 0,0,0, 0;beginparbeginbegin S1; signal(a); signal(b); end;begin wait(a); S2; signal(c); signal(d); end;begin wait(b); S3; signal(e); signal(f); end;begin wait(c); S4; signal(g); end;begin wait(d); S5; signal(h); end;begin wait(e); S6; signal(i); end;begin wait(f); S7; signal(j); end;begin wait(g);wait(h); wait(i); wait(j); S8; end;parendend23.在生产者消费者问题中,如果缺少了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)互换位臵后只是影响进程对临界资源的释放次序,而不会引起系统死锁,因此可以互换位臵。
25.我们在为某一临界资源设置一把锁W,当W=1时表示关锁,当W=0时表示锁已打开。
试写出开锁和关锁的原诧,并利用他们实现互斥。
答:整型信号量:lock(W): while W=1 do no-opW:=1;unlock(W): W:=0;记录型信号量:lock(W): W:=W+1;if(W>1) then block(W, L)unlock(W): W:=W-1;if(W>0) then wakeup(W, L)例子:Var W:semaphore:=0;beginrepeatlock(W);critical sectionunlock(W);remainder sectionuntil false;end26.试修改下面生产者-消费者问题解法中的错诨:答: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;until false;end计算机操作系统第三章处理器调度与管理1.高级调度、低级调度、中级调度的概念?P87答:高级调度又称为作业调度或长程调度,其主要功能是根据某种算法,把外存上处于后备队列中的那些作业调入内存,也就是说,它的调度对象是作业。
低级调度:称为进程调度或短程调度,它所调度的对象是进程或内核级线程。
中级调度:又称中程调度,是存储器管理中的对换功能6.在抢占调度方式中,抢占的原则是什么?答:抢占的原则有:时间片原则、优先权原则、短作业优先权原则等。
7.在选择调度方式和调度算法时,应遵循的准则是什么?答:(1)面向用户的准则:周转时间短、响应时间快、截止时间的保证、优先权准则。
(2)面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用。
10.试比较FCFS和SPF两种迚程调度算法。
答:相同点:两种调度算法都可以用于作业调度和进程调度。
不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。
该算法有利于长作业/进程,不利于短作业/进程。
SPF算法每次调度都从后备队列中选择一个或若干个估计运行时间最短的作业,调入内存中运行。
该算法有利于短作业/进程,不利于长作业/进程。
18. 何谓死锁?产生死锁的原因和必要条件是什么?a.死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。
20. 请详细说明可通过哪些途径预防死锁?a.摒弃"请求和保持"条件:系统规定所有进程开始运行之前,都必须一次性地申请其在整个运行过程所需的全部资源,但在分配资源时,只要有一种资源不能满足某进程的要求,即使其它所需的各资源都空闲,也不分配给该进程,而让该进程等待;b.摒弃"不剥夺"条件:系统规定,进程是逐个地提出对资源的要求的。
当一个已经保持了某些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放它已经保持了的所有资源,待以后需要时再重新申请;c.摒弃"环路等待"条件:系统将所有资源按类型进行线性排序,并赋予不同的序号,且所有进程对资源的请求必须严格按序号递增的次序提出,这样,在所形成的资源分配图中,不可能再出现环路,因而摒弃了"环路等待"条件。