操作系统第二章课后答案

合集下载

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

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

计算机操作系统(习题集)第二章答案计算机操作系统(习题集)第二章答案第二章进程管理一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在(b)进行的。

a.同一时刻b.同一时间间隔内c.某一紧固时刻d.某一紧固时间间隔内2、引入多道程序技术后,处理机的利用率(c)。

a.减少了b.有所改善c.大大提高d.没变化,只是程序的继续执行便利了3、顺序程序和并发程序的执行相比,(c)。

a.基本相同c.并发程序继续执行总体上继续执行时间慢b.有点不同d.顺序程序执行总体上执行时间快4、单一处理机上,将继续执行时间存有重合的几个程序称作(c)。

a.顺序程序b.多道程序c.并发程序d.并行程序5、进程和程序的本质区别就是(d)。

a.存储在内存和外存b.顺序和非顺序继续执行机器指令c.分时使用和独占使用计算机资源d.动态和静态特征6、进程就是程序在mammalian环境中的继续执行过程,它就是系统展开资源分配和调度的一个基本单位。

进程具备[1a]、[2d]、调度性、异步性和结构性等基本特征。

进程就是一次继续执行过程,具备生命期彰显了进程的[1]特征。

进程由程序段、[3b]、[4c]共同组成,其中[4]就是进程在系统中存有的唯一标识。

供选择的答案:[1][2]:a、动态性b、静态性c、共行性d、并发性e、可执行性f、易用性[3]:a、过程b、数据c、进程标识符d、函数[4]:a、fcbb、fifoc、pcbd、jcb7、进程执行时的间断性,决定了进程可能具有多种状态。

进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1d]进入[2a]。

如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3d],这个过程是由[4c]来完成。

供选择的答案:[1][2][3]:a、准备就绪状态b、静止状态c、阻塞状态d、运转状态[4]:a、进程控制程序b、资源分配程序c、进程调度程序d、处理机分配程序8、为了叙述进程的动态变化过程,使用了一个与进程二者联系的(c),根据它而认知进程的存有。

操作系统第二章练习 答案

操作系统第二章练习 答案

1.P、V 操作是 A 。

A.两条低级进程通信原语B.两组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语2.设系统中有 n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是 A 。

A.没有运行进程,有2个就绪进程,n 个进程处于等待状态。

B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。

C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。

D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。

3.若 P、V 操作的信号量 S 初值为2,当前值为-1,则表示有 B 等待进程。

A. 0个B. 1个C. 2个D. 3个4.用 V 操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。

A.等待B.就绪C.运行D.完成5.用 P、V 操作可以解决 A 互斥问题。

A.一切B.某些C.正确D.错误6.多道程序环境下,操作系统分配资源以 C 为基本单位。

A.程序B.指令C.进程D.作业7.从下面对临界区的论述中,选出一条正确的论述。

(1)临界区是指进程中用于实现进程互斥的那段代码。

(2)临界区是指进程中用于实现进程同步的那段代码。

(3)临界区是指进程中用于实现进程通信的那段代码。

(4)临界区是指进程中用于访问共享资源的那段代码。

(5)临界区是指进程中访问临界资源的那段代码。

8.(A)是一种只能由 wait 和 signal 操作所改变的整型变量,(A)可用于实现进程的(B)和(C),(B)是排他性访问临界资源。

A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型信号量。

B:(1)同步;(2)通信;(3)调度;(4)互斥。

C:(1)同步;(2)通信;(3)调度;(4)互斥。

9.对于记录型信号量,在执行一次 wait 操作时,信号量的值应当(A),当其值为(B)时,进程阻塞。

在执行 signal 操作时,信号量的值应当为(C),当其值为(D)时,应唤醒阻塞队列中的进程。

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

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

第二章进程管理一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在(B)进行的。

A.同一时刻B. 同一时间间隔内C.某一固定时刻D. 某一固定时间间隔内2、引入多道程序技术后,处理机的利用率( C)。

A.降低了B. 有所改善C.大大提高D. 没有变化,只是程序的执行方便了3、顺序程序和并发程序的执行相比,( C)。

A.基本相同 C.并发程序执行总体上执行时间快B. 有点不同 D.顺序程序执行总体上执行时间快4、单一处理机上,将执行时间有重叠的几个程序称为(C )。

A.顺序程序B. 多道程序C.并发程序D. 并行程序5、进程和程序的本质区别是(D )。

A.存储在内存和外存 B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。

进程具有[1A]、[2D]、调度性、异步性和结构性等基本特征。

进程是一次执行过程,具有生命期体现了进程的[1]特征。

进程由程序段、[3B]、[4C]组成,其中[4]是进程在系统中存在的唯一标识。

供选择的答案:[1][2] :A、动态性 B、静态性 C、共行性 D、并发性 E、可执行性 F、易用性[3] :A、过程 B、数据 C、进程标识符 D、函数[4] :A、FCB B、FIFO C、PCB D、JCB7、进程执行时的间断性,决定了进程可能具有多种状态。

进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1D]进入[2A]。

如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3D],这个过程是由[4C]来完成。

供选择的答案:[1][2][3] :A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态[4] :A、进程控制程序B、资源分配程序C、进程调度程序 D、处理机分配程序8、为了描述进程的动态变化过程,采用了一个与进程相联系的(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、什么是中断?给出系统总体上的中断处理过程。

【解答】:所谓中断是指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.试述线程的特点及其与进程之间的关系。

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

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

现代操作系统第二章进程与线程习题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的空闲状态。

第二章 操作系统答案

第二章  操作系统答案

第二章操作系统 Windows XP一、判断题1.鼠标指针在系统执行不同的操作时,会有不同的形状。

(T )2.在Windows中,直接关闭计算机电源开关,会丢失系统未保存的数据或信息。

(T )3.用鼠标指针指向窗口的标题栏并拖动,可改变窗口大小。

( F )4.在同一个文件夹中,不能有相同名字的两个不同类型的文件。

(F )5.Windows中的“资源管理器”只能管理计算机的硬件资源。

( F )6.创建新文件夹只能用快捷菜单中的“新建”命令。

(F )7.Windows中的文件名可以由任何符号组成。

( F )8.Windows 系统提供了磁盘扫描程序。

(T )9.在Windows中,用户一次只能运行一个程序。

( F )10.当选定文件夹后,在键盘上按Del键也能删除该文件夹。

(T )11.在Windows中,鼠标指针指向窗口边框或顶角时,会变成双向箭头,按住鼠标左键并拖动边框可改变窗口大小。

(T )12.在Windows“资源管理器”右窗格中,一次只能选定一个文件或文件夹。

(F )13.在Windows中,剪切文件后,原位置上还存在着该文件。

(T )14.Windows中的文件名中不能有空格。

( F )15.Windows的桌面快捷图标的外观不可改变。

(F )16.不能通过鼠标右键移动文件或文件夹。

(F )17.按Esc键可退出Windows系统。

(F )18.Windows中的操作只能通过鼠标完成,不能用键盘代替。

(F )19.Windows的屏幕保护程序可以设置口令。

(T )20.Windows的多个窗口在桌面上只能层叠,不能平铺。

(F )21.既可以创建文件的快捷方式,也可以创建文件夹的快捷方式。

(T )22.使用“资源管理器”,不能一次删除多个文件。

( F )23.在Windows中管理文件通常使用“资源管理器”和“我的电脑”。

(T )24.当屏幕的指针为沙漏加箭头时,表明Windows正在等待执行任务。

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

第二章进程管理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就是进程存在的唯一标志。

8、试说明进程在三个基本状态之间转换的典型原因、a、处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态。

b、当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态。

c、当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。

9、为什么要引入挂起状态?该状态有哪些性质?a、引入挂起状态主要就是出于4种需要(即引起挂起的原因): 终端用户的请求,父进程请求,负荷调节的需要,操作系统的需要。

b、被挂起的进程就是处于静止状态,并且不能直接被处理机调度。

17、为什么进程在进入临界区之前应先执行“进入区”代码?而在退出前又要执行“退出区”代码?为了实现多个进程对临界资源的互斥访问,必须在临界区之前加一段用于检查临界资源就是否正在被访问的代码,如未被访问,该进程可进入临界区对此临界资源进行访问;如正被访问,则该进程不能进入临界区访问临界资源。

在退出临界区后,执行恢复访问标志的代码为“退出区”,而在退出前执行“退出区”代码主要就是为了使其它进程能再访问此临界资源。

18、同步机构应遵循哪些基本准则?为什么?a、空闲让进、忙则等待、有限等待、让权等待四条准则b、为实现进程能互斥地进入到自己的临界区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;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操作,即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……produce an item in nextp;wait(mutex);wait(full);buffer(in):=nextp;……signal(mutex);until false;endconsumer: beginrepeat……wait(mutex);wait(empty);nextc:=buffer(out);out:=out+1;signal(mutex);consume item in nextc; until false;end27、试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。

三种解决方法中的任意一种即可(略)。

PPT6228、在测量控制系统中的数据采集任务时,把所采集的数据送往一单缓冲区;计算任务从该单缓冲区中取出数据进行计算。

试写出利用信号量机制实现两任务共享单缓冲区的同步算法。

a、Var mutex, empty, full: semaphore:=1, 1, 0;gather:beginrepeat……gather data in nextp;wait(empty);wait(mutex);buffer:=nextp;signal(mutex);signal(full);until false;end compute:beginrepeat……wait(full);wait(mutex);nextc:=buffer;signal(mutex);signal(empty);compute data in nextc;until false;endb、Var empty, full: semaphore:=1, 0;gather:beginrepeat……gather data in nextp;wait(empty);buffer:=nextp;signal(full);until false;endcompute:beginrepeat……wait(full);nextc:=buffer;signal(empty);compute data in nextc;until false;end31、参考ppt76页32、参考ppt91页33、试比较进程间的低级通信工具与高级通信工具、用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须由程序员来实现,而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,高效地传送大量的数据。

36、为什么要在OS中引入线程?在OS中引入进程的目的,就是为了使多个程序能并发执行,以提高资源利用率与系统吞吐量。

在OS中再引入线程,则就是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。

相关文档
最新文档