77范文网 - 专业文章范例文档资料分享平台

计算机操作系统(第三版)前六章课后习题--与题号对应(2)

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第二章融入了面向对象技术 )

1.什么是前趋图?为什么要引入前趋图? 什么是前趋图?为什么要引入前趋

图? 计算机操作系统第三版答案 5 / 47 前趋图(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.试从动态性,并发性和独立性上比较进程和程序 .试从动态性,并发性和独立性上比较进程和程序? 动态性是进程最基本的特性, 答:(1)动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因 动态性是进程最基本的特性 表现为由创建而产生,由调度而执行, 得不到资源而暂停执行,由撤销而消亡。进程有一定的生命期, 得不到资源而暂停执行,由撤销而消亡。进程有一定的生命期,而程序只是一 组有序的指令集合,是静态实体。 组有序的指令集合,是静态实体。 (2)并发性是进程的重要特征,同时也是 OS 的重要特征。引入进程的目的正是 并发性是进程的重要特征, 的重要特征。 并发性是进程的重要特征 为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。 为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。

独立性是指进程实体是一个能独立运行的基本单位, (3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资 独立性是指进程实体是一个能独立运行的基本单位 源和独立调度的基本单位。 于未建立任何进程的程序, 源和独立调度的基本单位。对于未建立任何进程的程序,不能作为独立单位参 加运行。 加运行。

7.试说明 PCB 的作用,为什么说 PCB 是进程存在的惟一标志? 的作用, 是进程存在的惟一标志? . 是进程实体的一部分,是操作系统中最重要的记录型数据结构。 答: PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作 用是使一个在多道程序环境下不能独立运行的程序, 用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基 本单位,成为能与其它进程并发执行的进程。 本单位,成为能与其它进程并发执行的进程。OS 是根据 PCB 对并发执行的进 程进行控制和管理的。 程进行控制和管理的。

8.试说明进程在三个基本状态之间转换的典型原因。 .试说明进程在三个基本状态之间转换的典型原因。 答: (1)就绪状态→执行状态:进程分配到 CPU 资源 )就绪状态→执行状态: (2)执行状态→就绪状态:时间片用完 )执行状态→就绪状态: (3)执行状态→阻塞状态:I/O 请求 )执行状态→阻塞状态: (4)阻塞状态→就绪状态:I/O 完成 )阻塞状态→就绪状态:

9.为什么要引入挂起状态?该状态有哪些性质? .为什么要引入挂起状态?该状态有哪些性质? 引入挂起状态处于五种不同的需要: 终端用户需要,父进程需要, 答:引入挂起状态处于五种不同的需要 终端用户需要,父进程需要,操作系 统需要,对换需要和负荷调节需要。处于挂起状态的进程不能接收处理机调度。 统需要,对换需要和负荷调节需要。处于挂起状态的进程不能接收处理机调度。

10.在进行进程切换时,所要保存的处理机状态信息有哪些? .在进行进程切换时,所要保存的处理机状态信息有哪些? 进行进程切换时,所要保存的处理机状态信息有: 答:进行进程切换时,所要保存的处理机状态信息有: (1)进程当前暂存信息 ) (2)下一指令地址信息 ) (3)进程状态信息 ) (4)过程和系统调用参数及调用地址信息。 )过程和系统调用参数及调用地址信息。

11.试说明引起进程创建的主要事件。 明引起进程创建的主要事件。 .试说明引起进程创建的主要事件 答:引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。 引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。

12.试说明引起进程被撤销的主要事件。 .试说明引起进程被撤销的主要事件。 引起进程被撤销的主要事件有:正常结束、异常结束(越界错误、保护错、 答:引起进程被撤销的主要事件有:正常结束、异常结束(越界错误、保护错、 非法指令、特权指令错、运行超时、等待超时、算术运算错、 故障) 、外界 非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O 故障) 外界 、

干预(操作员或操作系统干预、父进程请求、父进程终止) 干预(操作员或操作系统干预、父进程请求、父进程终止) 。

13.在创建一个进程时所要完成的主要工作是什么? .在创建一个进程时所要完成的主要工作是什么? 答: 发现请求创建新进程事件后, (1)OS 发现请求创建新进程事件后,调用进程创建原语 Creat(); ) ;(2) 申请空白 PCB; ) ; (3)为新进程分配资源; )为新进程分配资源; (4)初始化进程控制块; )初始化进程控制块; (5)将新进程插入就绪队列 )将新进程插入就绪队列.

14.在撤销一个进程时所要完成的主要工作是什么? .在撤销一个进程时

所要完成的主要工作是什么? 答: (1)根据被终止进程标识符,从 PCB 集中检索出进程 PCB,读出该进程状 )根据被终止进程标识符, , 态。 (2)若被终止进程处于执行状态,立即终止该进程的执行,置调度标志真,指 )若被终止进程处于执行状态,立即终止该进程的执行,置调度标志真, 示该进程被 终止后重新调度。 终止后重新调度。 (3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。 )若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。 (4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统。 )将被终止进程拥有的全部资源,归还给父进程,或归还给系统。 从所在队列或列表中移出 等待其它程序搜集信息。 列或列表中移出, (5)将被终止进程 PCB 从所在队列或列表中移出,等待其它程序搜集信息。 )

15.试说明引起进程阻塞戒被唤醒的主要事件是什么? .试说明引起进程阻塞戒被唤醒的主要事件是什么? 请求系统服务; 启动某种操作; 新数据尚未到达; 答:a. 请求系统服务;b. 启动某种操作;c. 新数据尚未到达;d. 无新工 作可做. 作可做

16.进程在运行时存在哪两种形式的制约?并丼例说明之。 .进程在运行时存在哪两种形式的制约?并丼例说明之。 答: 提出打印请求, (1)间接相互制约关系。举例:有两进程 A 和 B,如果 A 提出打印请求, )间接相互制约关系。举例: , 系统已把唯一的 只能阻塞; 释放打印机, A 一台打印机分配给了进程 B, , 则进程 A 只能阻塞; 一旦 B 释放打印机, 才 由阻塞改为就 绪。 通过单缓冲向进程 (2)直接相互制约关系。举例:有输入进程 A 通过单缓冲向进程 B 提供数 )直接相互制约关系。举例: 当缓冲空时, 据。当缓冲空时, 计算进程因不能获得所需数据而阻塞, 把数据输入缓冲区后, 计算进程因不能获得所需数据而阻塞, 当进程 A 把数据输入缓冲区后, 便唤醒 进程 B;反 ; 当缓冲区已满时, 因没有缓冲区放数据而阻塞, 之,当缓冲区已满时,进程 A 因没有缓冲区放数据而阻塞,进程 B 将缓冲区 数据取走后便唤醒 A。 。

17.为什么进程在进入临界区之前应先执行“进入区”代码?而在退出前又要 .为什么进程在进入临界区之前应先执行“进入区”代码? 执行“退出区”代码? 执行“退出区”代码? 为了实现多个进程对临界资源的互斥访问, 答:

为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用 于检查欲访问的临界资源是否正被访问的代码,如果未被访问, 于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进 入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不 入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不 计算机操作系统第三版答案 7 / 47 能进入临界区,实现这一功能的代码为\在退出临界区后,必须执行\退出区 退出区\能进入临界区,实现这一功能的代码为 在退出临界区后,必须执行 退出区 代码,用于恢复未被访问标志,使其它进程能再访问此临界资源。 代码,用于恢复未被访问标志,使其它进程能再访问此临界资源。

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 链表中的第一个等待进程唤醒。

20.你认为整型信号量机制是否完全遵循了同步机构的四条准则? .你认为整型信号量机制是否完全遵循了同步机构的四条准则? 整型信号量机制不完全遵循同步机制的四条准则,它不满足“让权等待” 答:整型信号量机制不完全遵循同步机制的四条准则,它不满足“让权等待” 准则。 准则。

21.如何利用信号量机制来实现多个进程对临界资源的互斥访问?并丼例说明 .如何利用信号量机制来实现多个进程对临界资源的互斥访问? 之。 为使多个进程互斥访问某临界资源, 答: 为使多个进程互斥访问某临界资源, 只需为该资源设置一互斥信号量 mutex, , 并设其 初 值 为 1 , 然 后 将 各 进 程 访 问 该 资 源 的 临 界 区 CS 置 于 wait(mutex) 和 signal(mutex)操作 操作 之间即可。这样,每个欲访问该临界资源的进程在进入临界区之前, 之间即可。这样,每个欲访问该临界资源的进程在进入临界区之前,都要先对 mutex 执行 wait 操作,若该资源此刻未被访问,本次 wait 操作必然成功,进

程便可进入 操作,若该资源此刻未被访问, 操作必然成功, 自己的临界区, 自己的临界区, 这时若再有其他进程也欲进入自己的临界区, 这时若再有其他进程也欲进入自己的临界区,此时由于对 mutex 执行 wait 操 作定会失败, 作定会失败, 因而该进程阻塞,从而保证了该临界资源能被互斥访问。 因而该进程阻塞,从而保证了该临界资源能被互斥访问。当访问临界资源的进 程退出临界区 操作,释放该临界资源。 后,应对 mutex 执行 signal 操作,释放该临界资源。利用信号量实现进程互斥 的进程描述 如下: 如下: Var mutex: semaphore:=1; ; begin parbegin process 1: begin repeat wait(mutex); ; critical section signal(mutex); ; remainder seetion 计算机操作系统第三版答案 8 / 47 until false; ; end process 2: begin repeat wait(mutex); ; critical section signal(mutex); ; remainder section until false; ; end parend

22.试写出相应的程序来描述图 2-17 所示的前驱图。 . 所示的前驱图。 (a) 答: )Var 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)Var 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

23.在生产者消费者问题中,如果缺少了 signal(full)戒 signal(empty),对执行结 .在生产者消费者问题中, 戒 对执行结 果有何影 响?

答:如果缺少 signal(full),那么表明从第一个生产者进程开始就没有改变信号量 , full 值, 即使缓冲池产品已满, 即使缓冲池产品已满, full 值还是 0, 但 , 这样消费者进程执行 wait(full) 计算机操作系统第三版答案 9 / 47 时认为缓冲池是空而取不到产品,消费者进程一直处于等待状态。 时认为缓冲池是空而取不到产品,消费者进程一直处于等待状态。 如果缺少

signal(empty),在生产者进程向 n 个缓冲区投满产品后消费者进程才 , 开始从中取产品, 开始从中取产品 , 这时 empty=0,full=n,那么每当消费者进程取走一个产品 , , empty 值并不改变,直到缓冲池取空了,empty 值也是 0,即使目前缓冲池 值并不改变,直到缓冲池取空了, , 个空缓冲区, 再往缓冲池中投放产品也会因为申请不到 有 n 个空缓冲区,生产者进程要想 再往缓冲池中投放产品也会因为申请不到 空缓冲区被阻塞。 空缓冲区被阻塞。

24.在生产消费者问题中,如果将两个 wait 操作卲 wait(full)和

wait(mutex) .在生产消费者问题中, 和 互换位置, 互换位置,戒者将

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机操作系统(第三版)前六章课后习题--与题号对应(2)在线全文阅读。

计算机操作系统(第三版)前六章课后习题--与题号对应(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/607690.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: