操作系统第二章课后作业

合集下载

南通大学操作系统第2章作业参考答案 (1)

南通大学操作系统第2章作业参考答案 (1)

13简答题:简述处理机管理的主要功能。

进程控制和管理;⑵进程同步和互斥;⑶进程通信;⑷进程死锁;⑸线程控制和管理;⑹处理器调度。

(每条1分,总分4分)14简答题:简述中断和异常的区别中断是由与现行指令无关的中断信号触发的(异步的),且中断的发生与CPU处在用户模式或内核模式无关,在两条机器指令之间才可响应中断;异常是由处理器正在执行现行指令而引起的,一条指令执行期间允许响应异常。

(1分)⑵中断处理程序处理过程中是不能阻塞的,异常处理程序处理过程中是可以阻塞的。

(1分)⑶中断允许发生嵌套,但异常大多为一重。

(1分)异常处理过程中可能会产生中断,但中断处理过程中决不会被异常打断。

(1分)15简述进程的主要属性。

(1)动态性:有一定的生命周期⑵共享性:多个进程可执行同一程序,进程可以共享公共资源⑶独立性:是一个独立实体,有自己的虚存空间、程序计数器和内部状态,是资源分配、保护和调度的基本单位⑷制约性:存在制约关系(5)并发性:执行时间上会有所重叠16(每条1分,总分4分)16简答题:简述引起进程状态转换的具体原因。

(1)运行态→等待态:等待使用资源或某事件发生;(1分)⑵等待态→就绪态:资源得到满足或事件发生;(1分)⑶运行态→就绪态:运行时间片到;出现有更高优先权进程;(1分)⑷就绪态→运行态:CPU空闲时选择一个就绪进程。

(1分)17、简答题:进程的基本状态有哪些?请画出进程的状态转换图。

进程的基本状态包括:就绪态、运行态和等待态;(2分)⑵进程的状态转换图如下:(2分)18、简答题:简述进程映象的要素。

(1)进程控制块:标志信息、现场信息、控制信息;(1分)⑵进程核心栈:中断/异常现场、函数调用的参数和返回地址;(1分)⑶进程程序块:进程执行的程序;(1分)⑷进程数据块:私有地址空间,私有数据、用户栈。

(1分)19、简答题:简述引起进程调度的原因。

(1)进程终止⑵进程阻塞⑶进程时间片用完经,⑷进程创建⑸进程请求I/O操作完成⑹进程优先级改变⑺进程运行过程中发生中断或异常⑻进程执行系统调用(每条1分,总分4分)20、下列指令中,哪些是特权指令?⑴关中断;⑵访管指令;⑶设置系统时钟;⑷移位指令;⑸启动I/O;⑹读时钟日期;⑺控制中断屏蔽位(1)、⑶、⑸、⑺(每答对1个得1分,答错1个扣1分)。

操作系统第二章课后答案

操作系统第二章课后答案

第二章进程管理2、试画出下面4条语句的前趋图:S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3、程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。

4、程序并发执行时为什么会失去封闭性与可再现性?因为程序并发执行时,就是多个程序共享系统中的各种资源,因而这些资源的状态就是由多个程序来改变,致使程序的运行失去了封闭性。

而程序一旦失去了封闭性也会导致其再失去可再现性。

5、在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制与描述,从而在操作系统中引入了进程概念。

影响: 使程序的并发执行得以实行。

6、试从动态性,并发性与独立性上比较进程与程序?a、动态性就是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只就是一组有序指令的集合,就是静态实体。

b、并发性就是进程的重要特征,同时也就是OS的重要特征。

引入进程的目的正就是为了使其程序能与其它建立了进程的程序并发执行,而程序本身就是不能并发执行的。

c、独立性就是指进程实体就是一个能独立运行的基本单位,同时也就是系统中独立获得资源与独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。

7、试说明PCB的作用?为什么说PCB就是进程存在的唯一标志?a、PCB就是进程实体的一部分,就是操作系统中最重要的记录型数据结构。

PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。

因而它的作用就是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。

b、在进程的整个生命周期中,系统总就是通过其PCB对进程进行控制,系统就是根据进程的PCB而不就是任何别的什么而感知到该进程的存在的,所以说,PCB就是进程存在的唯一标志。

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

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

第二章进程和线程作业答案1,2,4,6,7,10,11,12,14, 211.在操作系统中为什么要引入进程概念它与程序的差别和关系是怎样的答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。

用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。

为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。

进程和程序是两个完全不同的概念。

进程与程序的主要区别:进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。

2.PCB的作用是什么它是怎样描述进程的动态性质的答:PCB是进程组成中最关键的部分。

每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。

PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。

4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量内容。

试回答:①什么事件引起每次显着的状态变迁②下述状态变迁因果关系能否发生为什么(A)2→1 (B)3→2 (C)4→1答:(1)就绪→运行:CPU空闲,就绪态进程被调度程序选中运行→阻塞:运行态进程因某种条件未满足而放弃CPU的占用。

阻塞→就绪:阻塞态进程所等待的事件发生了。

运行→就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A)2→1,可以。

运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。

(B)3→2,不可以。

任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。

(C)4→1,可以。

某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。

操作系统 第二章作业本(含答案)

操作系统 第二章作业本(含答案)

第二章作业第一次作业:1.进程有哪三种基本状态?进程在三种基本状态之间转换的典型原因是什么?答:三种基本状态:就绪状态、执行状态、阻塞状态。

(1)就绪状态→执行状态:进程分配到CPU资源(进程调度);(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成2.在Linux系统中运行下面程序,最多可产生多少个进程?画出进程家族树。

main(){fork();fork();fork();}答:最多可以产生7个进程。

其家族树为:3.试从动态性、并发性和独立性上比较进程和程序。

答:1)动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的;2)并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身(没有建立PCB)是不能并发执行的;3)独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。

凡未建立PCB的程序,都不能作为一个独立的单位来运行。

4.分析下列代码的功能:答:sleep_on实现进程的睡眠过程;wake_up实现进程的唤醒过程。

第二次作业:1.同步机制应该遵循哪些基本准则?你认为整型信号量机制遵循了同步机制的哪些基本准则?答:同步机制应遵循四个基本准则:a. 空闲让进:当无进程处于临界区时,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。

b. 忙则等待:当已有进程进入临界区时,其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。

c. 有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。

d. 让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

《现代操作系统第四版》 第二章 答案

《现代操作系统第四版》 第二章 答案

现代操作系统第二章进程与线程习题1. 图2-2中给出了三个进程状态,在理论上,三个状态可以有六种转换,每个状态两个。

但是,图中只给出了四种转换。

有没有可能发生其他两种转换中的一个或两个?A:从阻塞到运行的转换是可以想象的。

假设某个进程在I/O上阻塞,而且I/O 结束,如果此时CPU空闲,该进程就可以从阻塞态直接转到运行态。

而另外一种转换(从阻塞态到就绪态)是不可能的。

一个就绪进程是不可能做任何会产生阻塞的I/O或者别的什么事情。

只有运行的进程才能被阻塞。

2.假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。

CPU需要哪些信息?请描述用硬件完成进程切换的工作过程。

A:应该有一个寄存器包含当前进程表项的指针。

当I/O结束时,CPU将把当前的机器状态存入到当前进程表项中。

然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程),然后,就可以启动这个进程了。

3.当代计算机中,为什么中断处理程序至少有一部分是用汇编语言编写的?A:通常,高级语言不允许访问CPU硬件,而这种访问是必需的。

例如,中断处理程序可能需要禁用和启用某个特定设备的中断服务,或者处理进程堆栈区的数据。

另外,中断服务例程需要尽快地执行。

(补充)主要是出于效率方面的考量。

中断处理程序需要在尽量短的时间内完成所需的必要处理,尽量减少对线程/程序流造成的影响,因此大部分情况下用汇编直接编写,跳过了通用编译过程中冗余的适配部分。

4.中断或系统调用把控制转给操作系统时,为什么通常会用到与被中断进程的栈分离的内核栈?A:内核使用单独的堆栈有若干的原因。

其中两个原因如下:首先,不希望操作系统崩溃,由于某些用户程序不允许足够的堆栈空间。

第二,如果内核将数据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据找出某些关于其它进程的信息。

5.一个计算机系统的内存有足够的空间容纳5个程序。

这些程序有一半的时间处于等待I/O的空闲状态。

操作系统第五版费祥林-课后习题答案参考

操作系统第五版费祥林-课后习题答案参考

操作系统第五版费祥林-课后习题答案参考第二章处理器管理1.下列指令中哪些只能在核心态运行?(l)读时钟日期;(2)访管指令;(3)设时钟日期;(4)加载PSW; (5)置特殊寄存器:(6)改变存储器映象图;(7)启动I/O指令。

答:( 3 ) , ( 4 ) , ( 5 ) , ( 6 ) , ( 7 ) .2 假设有一种低级调度算法是让“最近使用处理器较少的进程”运行,试解释这种算法对“I/O 繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。

答:因为I/O繁忙型作业忙于I/O,所以它CPU 用得少,按调度策略能优先执行。

同样原因一个进程等待CPU 足够久时,由于它是“最近使用处理器较少的进程”,就能被优先调度,故不会饥饿。

3 并发进程之间有什么样的相互制约关系?下列日常生活中的活动是属哪种制约关系:(1)踢足球,(2)吃自助餐,(3)图书馆借书,(4)电视机生产流水线工序。

答:并发进程之间的基本相互制约关系有互斥和同步两种。

其中(1)、(3)为互斥问题.(2)、(4)为同步问题。

4 在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。

在处理器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?答:许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断是随机碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。

5 若后备作业队列中等待运行的同时有三个作业J1 、J2、J3 ,已知它们各自的运行时间为a 、b 、c,且满足a < b <c,试证明采用短作业优先算法调度能获得最小平均作业周转时间。

答:采用短作业优先算法调度时,三个作业的总周转时间为:Tl = = a + ( a +b ) + ( a + b + c ) = 3a + 2b + c ①若不按短作业优先算法调度,不失一般性,设调度次序为:J2 、J1 、J3 。

则三个作业的总周转时间为:T2=b+(b+a ) +(b+a + c ) = 3b + 2a + c ②令②-①式得到:T2 - Tl = b- a> 0可见,采用短作业优先算法调度才能获得最小平均作业周转时间。

计算机操作系统(第四版)课后习题答案第二章,精品资料

计算机操作系统(第四版)课后习题答案第二章,精品资料

第二章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. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。

而程序一旦失去了封闭性也会导致其再失去可再现性。

5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。

影响: 使程序的并发执行得以实行。

6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。

b. 并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。

c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。

7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章第二章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、什么是中断?给出系统总体上的中断处理过程。

【解答】:所谓中断是指CPU在正常执行程序的过程中,由于某个外部或内部事件的作用,强迫CPU停止当前正在执行的程序,转去为该事件服务(称为中断服务),待服务结束后,又能自动返回到被中断的程序中继续执行。

CPU每执行完一条指令就去扫描中断寄存器,检查是否有中断发生,若没有中断就继续执行下条指令;若有中断发生就转去执行相应的中断处理程序。

中断处理过程可粗略的分为以下四个过程:①保护当前正在运行程序的现场;②分析是何种中断,以便转去执行相应的中断处理程序;③执行相应的中断处理程序;④恢复被中断程序的现场。

2、请给出进程与程序它们的区别和联系。

【解答】:1、进程是动态的程序是静态的。

程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行是一个动态的集合。

2、一个进程可以执行多个程序;一个程序可被多个进程执行;3、程序可以长期保存,进程有从被创建到消亡的生命周期。

4、进程具有并发性,而程序具有顺序性;5、进程具有独立性,是资源分配调度的基本单位,而程序无此特性。

3、试说明进程在三个基本状态之间转换的典型原因.【解答】a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.4、什么是临界资源和临界区?【解答】:临界资源是一次仅允许一个进程访问的资源,例如打印机,共享的变量。

进程中访问临界资源的那段代码段称为临界区。

5、进程的互斥和同步有什么异同点?进程同步机制应遵循哪四个基本准则?【解答】:进程同步机制应遵循如下四个基本准则:空闲让进,以提高临界资源利用率,忙则等待,以保证临界资源互斥使用;让权等待,以提高cpu的利用率;有限等待,以免相关进程陷入“死等”。

(完整版)操作系统第二章作业答案

(完整版)操作系统第二章作业答案

第二章作业1.操作系统中为什么要引入进程的概念?为了实现并发进程中的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?答:为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。

为了防止操作系统及其关键的数据结构如:PCB等,受到用户程序破坏,将处理机分为核心态和用户态。

对进程进行创建、撤销以及在某些进程状态之间的转换控制。

2.试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。

答:分为两种情况:(1):运行状态就绪状态:根据进程的自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。

(2):运行状态→阻塞状态:系统会调用进程调度程序重新选择一个进程投入运行。

3.现代操作系统一般都提供多任务的环境,是回答以下问题。

为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?答:系统必须建立PCB。

为支持进程的状态变迁,系统至少应该供哪些进程控制原语?答:阻塞、唤醒、挂起和激活原语。

当进程的状态变迁时,相应的数据结构发生变化吗?答:会根据状态的变迁发生相应的变化。

例如:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从阻塞队列摘下,投入到就绪队列中。

4.什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。

答:PCB:描述进程本身的特征、状态、调度信息以及对资源占有情况等的数据结构,是进程存在的唯一标识。

进程控制块所包含的内容:①进程信息描述;②CPU信息状态;③进程调度信息;④进程控制和资源占用信息。

5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?解:P=(10*10)/[(300+10)*10]=3.2%6.试述线程的特点及其与进程之间的关系。

现代操作系统课后习题答案

现代操作系统课后习题答案

第二章进程管理第一部分教材习题(P81)3、为什么程序并发执行会产生间断性特征?(P36)4、程序并发执行,为何会失去封闭性和可再现性?(P37)【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。

同时由于失去了封闭性,也将导致其再失去可再现性。

程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。

5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?【解】在操作系统中引入进程的概念,是为了实现多个程序的并发执行。

传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。

这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。

建立进程所带来的好处是使多个程序能并发执行,这极提高了资源利用率和系统吞吐量。

但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。

6、试从动态性、并发性和独立性上比较进程和程序?(P37)【解】(1)动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。

动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。

可见,进程有一定的生命期。

而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。

(2)并发性:所谓进程的并发,指的是多个进程实体,同存于存中,能在一段时间同时运行。

并发性是进程的重要特征,同时也成为OS的重要特征。

引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是无法并发执行的。

操作系统第二章作业

操作系统第二章作业

操作系统第二章作业4.程序并发执行时为什么会失去封闭性和可再现性?程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。

这样在某程序运行时,必然会受到其他程序的影响,也将导致其再失去可再现性。

6. 试从动态性,并发性和独立性上比较进程和程序?动态性:进程实质是程序的一次执行过程。

进程由创建而产生,由调度而执行,由撤销而灭亡,因此进程实体有一定的生命周期,而程序则只是一组有序指令的集合,并存放于某种介质上,其本身不具有运动的含义,因而是静态的。

并发性:是指多个进程实体同存于内存中,且能在一段时间内同时运行。

引入进程的目的正是为了使其进程实体和其他进程实体并发执行,而程序(没有建立PCB)是不能并发执行的。

独立性:在传统的OS中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。

凡未建立PCB的程序都不能作为一个独立的单位参与运行。

8.PCB提供了进程管理和进程调度所需要的哪些信息?进程标识符、处理机状态、进程调度信息、进程控制信息。

19. 为什么要在OS中引入线程?在OS中引入线程是为了减少程序在并发执行时所付出的时空开销,提高系统内程序并发执行的程度,可进一步提高系统的吞吐量。

23.何谓用户级线程和内核支持线程用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。

不需要用户态/核心态切换,速度快,操作系统内核不知道多线程的存在,因此一个线程阻塞将使得整个进程(包括它的所有线程)阻塞。

由于这里的处理器时间片分配是以进程为基本单位,所以每个线程执行的时间相对减少。

内核支持线程是在内核的支持下与西宁的,即无论是用户进程中的线程,还是系统进程中的线程,他们的创建、撤销和切换等都是依靠内核,在内核空间实现的。

24.试说明用户级线程的实现方法用户级线程是在用户空间实现的,所有的用户级线程都具有相同的结构,它们都运行在一个中间系统上面。

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

第两章之阳早格格创做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. 步调并收真止时为什么会得去启关性战可再现性?果为步调并收真止时,是多个步调共享系统中的百般资材,果而那些资材的状态是由多个步调去改变,以致步调的运止得去了启关性.而步调一朝得去了启关性也会引导其再得去可再现性.5. 正在支配系统中为什么要引进进程观念?它会爆收什么样的效率?为了使步调正在多讲步调环境下能并收真止,并能对付并收真止的步调加以统造战形貌,进而正在支配系统中引进了进程观念. 效率: 使步调的并收真止得以真止.6. 试从动背性,并收性战独力性上比较进程战步调?a. 动背性是进程最基础的个性,可表示为由创修而爆收,由调动而真止,果得没有到资材而久停真止,以及由撤消而消得,果而进程由一定的死命期;而步调不过一组有序指令的集中,是固态真体. b. 并收性是进程的要害个性,共时也是OS的要害个性.引进进程的手段正是为了使其步调能战其余修坐了进程的步调并收真止,而步调自己是没有克没有及并收真止的. c. 独力性是指进程真体是一个能独力运止的基础单位,共时也是系统中独力赢得资材战独力调动的基础单位.而对付于已修坐所有进程的步调,皆没有克没有及动做一个独力的单位去运止.7. 试证明PCB的效率?为什么道PCB是进程存留的唯一标记?a. PCB是进程真体的一部分,是支配系统中最要害的记录型数据结构.PCB中记录了支配系统所需的用于形貌进程情况及统造进程运止所需的局部疑息.果而它的效率是使一个正在多讲步调环境下没有克没有及独力运止的步调(含数据),成为一个能独力运止的基础单位,一个能战其余进程并收真止的进程.b. 正在进程的所有死命周期中,系统经常通过其PCB对付进程举止统造,系统是根据进程的PCB而没有是所有别的什么而感知到该进程的存留的,所以道,PCB是进程存留的唯一标记.11.试证明进程正在三个基础状态之间变换的典型本果.问:(1)便绪状态→真奇迹态:进程调配到CPU 资材(2)真奇迹态→便绪状态:时间片用完(3)真奇迹态→阻塞状态:I/O哀供(4)阻塞状态→便绪状态:I/O完毕12.为什么要引进挂起状态?该状态有哪些本量?问:引进挂起状态处于五种分歧的需要: 末端用户需要,女进程需要,支配系统需要,对付换需要战背荷安排需要.处于挂起状态的进程没有克没有及交支处理机调动. 10.正在举前进程切换时,所要保存的处理机状态疑息有哪些?问:举前进程切换时,所要保存的处理机状态疑息有:(1)进程目前久存疑息(2)下一指令天面疑息(3)进程状态疑息(4)历程战系统调用参数及调用天面疑息.13.正在举前进程切换时,所要保存的处理机状态疑息有哪些?问:举前进程切换时,所要保存的处理机状态疑息有:(1)进程目前久存疑息(2)下一指令天面疑息(3)进程状态疑息(4)历程战系统调用参数及调用天面疑息.14.试证明引起进程创修的主要事变. 问:引起进程创修的主要事变有:用户登录、做业调动、提供服务、应用哀供.15.试证明引起进程被撤消的主要事变. 问:引起进程被撤消的主要事变有:平常中断、非常十分中断(越界过得、呵护错、非法指令、特权指令错、运止超时、等待超时、算术运算错、I/O 障碍)、中界搞预(支配员或者支配系统搞预、女进程哀供、女进程末止). 16.正在创修一个进程时所要完毕的主要处事是什么?问:(1)OS 创造哀供创修新进程事变后,调用进程创修本语Creat();(2)申请空黑PCB;(3)为新进程调配资材;(4)初初化进程统造块;(5)将新进程拔出便绪行列.17.正在撤消一个进程时所要完毕的主要处事是什么?问:(1)根据被末止进程标记符,从PCB 集结检索出进程PCB,读出该进程状态. (2)若被末止进程处于真奇迹态,坐时末止该进程的真止,臵调动标记真,指示该进程被末止后沉新调动. (3)若该进程另有子进程,应将所有后代进程末止,以防它们成为没有成控进程. (4)将被末止进程拥有的局部资材,送还给女进程,或者送还给系统. (5)将被末止进程PCB 从天圆行列或者列表中移出,等待其余步调支集疑息.18.试证明引起进程阻塞或者被唤醉的主要事变是什么?问:a. 哀供系统服务;b. 开用某种支配;c. 新数据尚已到达;d. 无新处事可搞.19. 为什么要正在OS中引进线程?正在OS中引进进程的手段,是为了使多个步调能并收真止,以普及资材利用率战系统吞吐量.正在OS中再引进线程,则是为了缩小步调正在并收真止时所付出的时空开销,使OS具备更佳的并收性.20.试证明线程具备哪些属性?问:(1)沉型真体(2)独力调动战分派的基础单位(3)可并收真止(4)共享进程资材.21. 试从调动性,并收性,拥有资材及系统开销圆里对付进程战线程举止比较. a. 调动性.正在保守的支配系统中,拥有资材的基础单位战独力调动、分派的基础单位皆是进程,正在引进线程的OS中,则把线程动做调动战分派的基础单位,而把进程动做资材拥有的基础单位; b. 并收性.正在引进线程的OS中,没有但是进程之间不妨并收真止,而且正在一个进程中的多个线程之间,亦可并收真止,果而使OS具备更佳的并收性; c. 拥有资材.无论是保守的支配系统,仍旧引进了线程的支配系统,进程末究是拥有资材的一个基础单位,而线程除了拥有一面正在运止时必没有成少的资材中,自己基础没有拥有系统资材,但是它不妨考察其隶属进程的资材; d. 开销.由于创修或者撤消进程时,系统皆要为之调配战回支资材,如内存空间等,进程切换时所要保存战树坐的现场疑息也要明隐天多于线程,果此,支配系统正在创修、裁撤战切换进程时所付出的开销将隐著天大于线程.。

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

第二章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. 程序并发执行时为什么会失去封闭性和可再现性因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。

而程序一旦失去了封闭性也会导致其再失去可再现性。

5. 在操作系统中为什么要引入进程概念它会产生什么样的影响为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。

影响: 使程序的并发执行得以实行。

6. 试从动态性,并发性和独立性上比较进程和程序a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。

b. 并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。

c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。

7. 试说明PCB的作用为什么说PCB是进程存在的唯一标志a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。

第二章-操作系统进程(练习题答案)教学教材

第二章-操作系统进程(练习题答案)教学教材

第二章进程管理1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使用效率的一种系统软件。

它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管理和设备管理等。

Windows和Unix是最常用的两类操作系统。

前者是一个具有图形界面的窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的的系统软件。

在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。

供选答案:(1): A. 应用软件 B. 系统软硬件C. 资源D. 设备(2): A. 数据 B. 作业C. 中断D. I/O(3): A. 分时 B. 多任务C. 多用户D. 实时(4): A. PASCAL B. 宏C. 汇编D. C(5): A. 网络 B. 分时C. 批处理D. 实时答案:CBBDD2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。

在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。

虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。

供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 用户和计算机(3): A. 进程控制块 B. 作业控制块C. 文件控制块D. 设备控制块(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态C. 运行态转换为等待态D. 等待态转换为运行态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。

A. Spodling技术B. 虚拟存储技术C. 缓冲技术D. 多道程序设计技术4.分时系统追求的目标是 C。

(完整版)操作系统第二章课后答案

(完整版)操作系统第二章课后答案

第二章进程管理2. 试画出下面4条语句的前趋图:S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3.程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。

4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。

而程序一旦失去了封闭性也会导致其再失去可再现性。

5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。

影响: 使程序的并发执行得以实行。

6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。

b. 并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。

c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。

7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。

因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。

b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。

操作系统第二章习题答案3

操作系统第二章习题答案3

第2章操作系统用户界面Page 362.1 什么是作业?什么是作业步?答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次全部工作称为一个作业,从系统的角度看,作业则是一个比程序更广的概念。

它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。

而且,在批处理系统中,作业是抢占内存的基本单位。

也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。

作业由不同的顺序相连的作业步组成。

作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。

例如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标代码文件。

2.2 作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。

程序和数据完成用户所要求的业务处理工作,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。

2.3 作业的输入方式有哪几种?各有什么特点?答:作业的输入方式有5种:(1)联机输入方式:用户和系统通过交互式会话来输入作业。

(2)脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。

(3)直接耦合方式:直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。

(4)SPOOLING系统:SPOOLING又可译作外围设备同时联机操作。

在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。

作业的输入输出过程由主机中的操作系统控制。

(5)网络输入方式:网络输入方式以上述几种输入方式为基础。

当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式2.4 试述 SPOOLING 系统的工作原理。

操作系统第二章作业答案

操作系统第二章作业答案

答:中断一般处理过程:
1,设备给处理器发了个中断信号。
2,处理器处理完处理完当前指令后响应中断,这个延迟非常短,要求处理器没有关闭
1
中断。 3,处理器发送中断应答信号。 4,处理器将 pc 和 psw 压入栈 5,根据中断设置加载新的 pc。 6,中断处理程序剩余状态信息。 7,中断处理程序处理中断。 8,回复被中断成簇的上下文。 9,恢复到老的 psw 和 pc 的值。
理程序的功能和作用可以根据系统的需要、想要处理的预定的异常事件的性质和要求,以及
输入输出设备的特点,进行安排设计。因此中断系统对于操作系统完成其管理计算机的任务
也是十分重要的。一般来说中断有以下特点:一,能充分发挥处理器的利用效率。二,提高
系统的实时能力。
10、中断的一般处理过程是什么?若多个中断同时发生呢?
通常会设置两个缓冲区。
9、什么是中断?为什么说中断对现代计算机很重要?
答:中断就是指计算机在执行期间,系统内或系统外发生异步事件,使得 cpu 暂时中止当前
正在执行的程序而转去执行相应的பைடு நூலகம்件处理程序,待处理完毕后又返回原来被中断处继续执
行或者调度新的进程执行的过程。中断能迫使处理器去处理各中断处理程序,而这个中断处
矛盾。
首先,为了方便对缓冲区的管理,缓冲区往往是和设备相联系的,而不是直接与用户联
系。再者,缓冲区信息可供多个用户共同使用,并反复使用。这样就减少了输入输出的次数,
减轻了 通道和输入输出设备的压力。每当用户要求输入数据时,先在缓冲区中去找,如果
已经在缓冲区中,即可直接从中读取,这样就减少了输入次数。还有,为了提高设备利用率,
磁盘存储器
磁带机
光盘存储器
沿着层次下降时,每比特价格将下降,容量将增大,速度将变慢,而处理器的访问频率

第二章 课后习题解答

第二章 课后习题解答

13.在生产者—消费者问题中,如果两个 .在生产者 消费者问题中 如果两个wait操 消费者问题中, 操 作即wait(mutex)和wait(empty)位置互换, 位置互换, 作即 和 位置互换 会产生什么后果? 会产生什么后果? 解答】如果两个wait操作即 操作即wait(mutex)和 【解答】如果两个 操作即 和 wait(empty)位置互换,则有可能产生死锁。 位置互换, 位置互换 则有可能产生死锁。
6
10.在创建一个进程时,所要做的工作有 .在创建一个进程时, 哪些? 哪些? 解答】 【解答】操作系统通过进程创建原语来创 建一个进程。 建一个进程。创建原语通过下述步骤创建 一个进程: 一个进程: (1)申请空白 )申请空白PCB。 。 (2)为新进程分配资源。 )为新进程分配资源。 (3)初始化进程控制块。 )初始化进程控制块。 (4)将新建进程插入就绪态队列。 )将新建进程插入就绪态队列。
8
第2章 进程管理 章
12.在生产者—消费者问题中,如果缺少了 .在生产者 消费者问题中 消费者问题中, signal(full)或signal(empty),对执行结果将 或 , 会有何影响? 会有何影响? 【解答】若缺少释放资源的原语操作,则会导致生产者或 解答】若缺少释放资源的原语操作,
消费者进程不能再继续工作。 消费者进程不能再继续工作。 如缺少了signal(full),则消费者进程可能得不到所需的临 如缺少了 , 界资源如缓冲区,不能取一件产品;同样,如果缺少signal 界资源如缓冲区,不能取一件产品;同样,如果缺少 empty),则生产者进程又可能得不到所需的资源, ),则生产者进程又可能得不到所需的资源 (empty),则生产者进程又可能得不到所需的资源,不 能存放一件产品。 能存放一件产品。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题二
2.答:前趋图如下:
8.答:进程执行时的间断性决定了进程可能具有多种状态。

事实上,运行中的进程可能具有就绪状态、执行状态和阻塞状态。

三个基本状态之间转换
的原因如下:
就绪状态—>执行状态:进程获得CPU资源;
执行状态—>就绪状态:分配给进程的时间片已完;
执行状态—>阻塞状态:发生某事件而使进程的执行受阻,如I/O请求;
阻塞状态—>就续状态:I/O完成。

22.答:(a)此前趋图用程序描述如下:
V ar a,b,c,d,e,f,g,h: semaphore:=0,0,0,0,0,0,0,0;
begin
parbegin
begin 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;
parend
end
(b)此前趋图用程序描述如下:
V ar a,b,c,d,e,f,g,h,i,j: semaphore:=0,0,0,0,0,0,0,0,0,0;
begin
parbegin
begin 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;
parend
end
26.答:蓝色字体为修改部分。

producer:
begin
repeat
.
.
.
produce an item in nextp;
wait(mutex);
wait(full); /*wait(full)应为wait(empty),且应与前一句
wait(mutex)置换顺序。

*/
buffer(in):=nextp;
/*缓冲池数组游标应前移,应增加in:=(in+1)mod n;
*/
signal(mutex);
/*增加signal(full); */
until false;
end
consumer:
begin
repeat
wait(mutex);
wait(empty); /*应为wait(full);且应在wait(mutex);前面*/
nextc:=buffer(out);
out:=out+1; /*缓冲池为循环缓冲池,应为
out:=(out+1)mod n; */
signal(mutex);
/*增加signal(empty); */
consume item in nextc;
until false;
end
28.答:算法如下:
V ar mutex, empty, full: semaphore:=1,1,0;
begin
parbegin
gather: begin
repeat

gather data in nextp;

wait(empty);
wait(mutex);
buffer:=nextp;
signal(mutex);
signal(full);
until false;
end
compute: begin
repeat
wait(full);
wait(mutex);
nextc:=buffer;
signal(mutex);
signal(empty);
compute the data in nextc;
until false;
end
parend
end
34.答:高级通信机制可归结为三大类:共享存储器系统,消息传递系统和管道通信体统。

相关文档
最新文档