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

操作系统教程 课后答案-武伟主编(2)

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

(4)操作系统对进程的控制是根据 PCB 来进行的,对进程的管理是通过 PCB 来实现的。

3.基本概念的解释和辨析 (1)进程和程序 (2)进程和作业 (3)进程和线程 (4)原语和系统调用 (5)内核和微内核

(6)用户级线程和核心级线程 4.综合题

(1)某系统的进程状态转换图如图3.16所示,请说明:

1)引起各种状态转换的典型原因有哪些?

运行态→就绪态 时间片到或被更高优先级的进程抢占 就绪态→运行态 被调度

运行态→阻塞态 等待某一事件的发生而事件未发生 阻塞态→就绪态 等待的事件已发生

2)当观察系统中某些进程时,能够看到某一进程的一次状态转换能引起另一个进程的

运行 2 1 就绪 4 3 阻塞 图3.16某系统进程状态转换图 一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换2?

3)如图3.16,说明是否会发生下述因果转换: 2→1 会,在抢占式调度的情况下,更高优先级的进程到达 3→2 会,一个正在运行的进程因等待某一事件的发生而转入阻塞态,而就绪队列中有进程在等待运行 4→1 不会

(2)有一个单向链接的进程PCB队列,它的队首由系统指针指出,队尾进程链接指针为0。分别画出一个进程从队首入队和队尾入队的流程图。

(3)挂起状态和阻塞状态有何区别?在具有挂起操作的系统中,进程的状态有哪些?如何变迁?

被挂起进程处于静止状态,不能参与竞争CPU,直到被激活,但被挂起进程可能并不缺少资源;而阻塞进程是由于等待某一事件的发生,处于缺乏资源的状态。

(4)在创建一个进程时需要完成的主要工作是什么?在撤消一个进程时需要完成的主要工作又是什么?

创建进程的主要工作是为被创建进程创建一个PCB,并填入相应的初始值。并把该进程插入就绪队列。

撤消该进程的所有子孙进程。在撤消的过程中,被撤消进程的所有系统资源(内存、外设)应全部释放出来归还给系统,并将它们从所有队列中移出。如果被撤消进程正在处理器

上运行,则要调用进程调度程序将处理器分配给其它进程。

(5)什么是可再入程序?其有何特性?

能被多个程序同时调用的程序。它具有以下性质:它是纯代码的,即它在执行过程中不改变自身代码,通常由指令和常量等程序逻辑中的不变部分组成;调用它的各程序应提供工作区,用以存放随着程序执行将发生变化的部分,诸如程序中的数组、变量和通用存储器内的信息。

(6)在使用线程的系统中,是每个线程有一个堆栈还是每个进程有一个堆栈?说明原因。

(7)线程通常有哪些状态?为了管理线程,操作系统一般提供哪些原语? 线程状态:就绪态,运行态,阻塞态 原语:派生,阻塞,激活

习题4

1.单项选择题

(1)要避免出现与时间有关的错误,对若干进程的相关临界区的管理应满足以下除 外的要求。

A、 一次最多让一个进程在临界区中执行 B、 任何一个进入临界区执行的进程必须在有限时间内退出临界区 C、 避免进程进入相关临界区

D、 不能强迫一个进程无限期地等待进入它的临界区

(2)有三个进程P1、P2、P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为 。

A、0 B、1 C、2 D、3

(3)在操作系统中wait、signal操作是一种 。 A、机器指令 B、系统调用命令 C、作业控制命令 D、低级进程通信

(4)用signal操作唤醒一个进程时,被唤醒进程的状态应变成 状态。 A、等待 B、运行 C、就绪 D、完成

(5)用信箱实现并发进程间的通信需要两个基本的通信原语,它们是 。 A、wait原语和signal原语 B、send原语和receive原语 C、R(S)和W(S) D、以上都不是 (6)用来实现进程同步与互斥的wait,signal操作,实际上是 的过程。 A、一个可被中断 B、一个不可被中断 C、两个可被中断 D、两个不可被中断 (1)C (2)C (3)D (4)C (5)D

2.填空题 (1)临界资源是 一次只允许一个进程使用 的资源,临界区是 访问临界资源的那段代码 。

(2)信号量s>0时,表示 资源的空闲数量 ;当s=0时,表示 资源已经耗尽,但没有进程在等待 ;若s<0,则表示 有|s|个进程在等待 。

(3)设计进程同步机制的准则有 空闲让进 、 忙则等待 、 有限等待 和 让权等待 。 3. 基本概念解释和辨析 (1)同步与互斥。

(2)临界资源与临界区。 (3)高级通信与低级通信。 (4)直接通信与间接通信。 4.论述题

(1)什么是“忙等待”?如何克服“忙等待”?

如果在单处理器系统中,一个进程试图进入处于“忙”状态的临界区,则该进程只能不断测试临界区的状态,这就是“忙等待”。

让试图进入“忙”状态的临界区的进程“睡眠”等待,由释放资源的进程将其唤醒,便可克服“忙等待”的缺点。

(2)在解决进程互斥时,如果TS指令的执行可以中断,则会出现什么情况?而如果

wait、signal的执行可分割,又会出现什么情况?

如果wait可被分割,则可能破坏“空闲让进”准则。如s.value=1,进程A执行wait操作,进行s.value--,s.value的值为0;如果此时被中断,进程B执行wait操作,进行s.value--,s.value的值为-1,则进程B将被阻塞;此时进程A恢复中断,由于s.value的值为-1,也将被阻塞,从而破坏了“空闲让进”准则。

如果signal可被分割,也有可能破坏“空闲让进”准则。如s.value=-1,进程C在等待s资源,进程A执行signal操作,进行s.value++,s.value的值为0;如果此时被中断,进程B执行signal操作,进行s.value++,s.value的值为1,进程B不会唤醒进程C;此时进程A恢复中断,由于s.value的值为1,也不会唤醒进程C,从而破坏了“空闲让进”准则。

(3)使用parbegin改写下面的表达式以获得最大程度的并行性。 (3*a*b+4)/(c+d)**(e-f)

typedef Fan_Type DataType; Fan_Type x;

Fan_Type P1( )

{ return(3*a*b+4); }

Fan_Type P2( ) { return(c+d); }

Fan_Type P3( ) { return(e-f); }

void main( )

{ Fan_Type a, b, c;

parbegin(a=P1, b=P2, c=P3); xa/b**c; }

(4)设有几个进程共享一互斥段,对于如下两种情况: (1)每次只允许一个进程进入临界区;

(2)最多允许m个进程(m

所采用的信号量是否相同?信号量值的变化范围如何? (1)信号量值的变化范围为s.value<=1; (2)信号量值的变化范围为s.value<=m;

(5)下面是两个并发执行的进程,它们能正确执行吗?若不能正确执行,请举例说明,并改正之(x是公共变量)。

void P1( ) { int y, z; x=1; y=0; if(x>=1) y=y+1;

z=y;

}

void P2( ) { int t, u; x=0; t=0; if(x<1) t=t+z; u=t; } void main( ) { parbegin(P1( ), P2( )); }

不能正确执行。如进程P1执行过程中不被中断,进程运行结束后x, y, z的值均为1;但若进程P1执行到y=0时被中断,进程P2执行完毕后x的值为0,则P1恢复中断后获得的结果为x, y, z的值均为0,从而发生与时间有关的错误。

struct semaphore s; s.value=1; void P1( ) { int y, z; wait(s); x=1; y=0; if(x>=1) y=y+1; z=y; signal(s); } void P2( ) { int t, u; wait(s); x=0; t=0; if(x<1) t=t+z; u=t; signal(s); } void main( ) { parbegin(P1( ), P2( )); }

(6)共享存储区通信是如何实现的?

(7)假设某系统未直接提供信号量机制,但提供了进程通信工具。如果某程序希望使用关于信号量的wait、signal操作,那么该程序应如何利用通信工具模拟信号量机制?要求说明如何用send/receive操作及消息表示wait/signal操作及信号量。 5.应用题

(1)有三个并发进程R、W1和W2,共享两个各可存放一个数的缓冲区B1、B2。进程R每次从输入设备读入一个数,若读入的是奇数,则将它存入B1中,若读入的是偶数,将

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统教程 课后答案-武伟主编(2)在线全文阅读。

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