您好,欢迎来到刀刀网。
搜索
您的当前位置:首页计算机操作系统2

计算机操作系统2

来源:刀刀网
一、单项选择题

题目1 正确

获得1.00分中的1.00分

标记题目

题干

1.在操作系统中引入“进程”概念的主要目的是( )。

选择一项:

A. 使程序与计算过程一一对应 B. 描述程序动态执行过程的性质 C. 改善用户编程环境 D. 提高程序的运行速度

反馈

Your answer is correct.

【解析】引入进程就是为了描述程序动态执行过程的性质。

正确答案是:描述程序动态执行过程的性质

题目2 正确

获得1.00分中的1.00分

标记题目

题干

2.进程与程序之间有密切联系,但又是不同的概念。二者的一个本质区别是( )。

选择一项:

A. 程序是静态概念,进程是动态概念

B. 程序保存在文件中,进程存放在内存中 C. 程序顺序执行,进程并发执行 D. 程序是动态概念,进程是静态概念

反馈

Your answer is correct.

【解析】进程是程序在并发环境中的执行过程,引入进程就是为了描述程序动态执行时的性质。

正确答案是:程序是静态概念,进程是动态概念

题目3 正确

获得1.00分中的1.00分

标记题目

题干

3.在操作系统中,进程的最基本的特征是( )。

选择一项:

A. 执行过程的封闭性 B. 顺序性和可再现性 C. 与程序的对应性 D. 动态性和并发性

反馈

Your answer is correct.

【解析】进程的特征教材上有5个,但最基本的特征就是动态性和并发性。

正确答案是:动态性和并发性

题目4 正确

获得1.00分中的1.00分

标记题目

题干

4.为了描述进程的动态变化过程,采用了一个与进程相联系的( ),根据它而感知进程的存在。

选择一项: A. 进程状态字 B. 进程控制块 C. 进程优先数 D. 进程起始地址

反馈

Your answer is correct.

【解析】计算机系统通过进程控制块来识别和控制进程。进程控制块是进程动态特性的集中反映。

正确答案是:进程控制块

题目5 正确

获得1.00分中的1.00分

标记题目

题干

5.进程控制块是描述进程状态和特性的数据结构,一个进程( )。

选择一项:

A. 可以有多个进程控制块 B. 可以没有进程控制块

C. 可以和其他进程共用一个进程控制块

D. 只能有唯一的进程控制块

反馈

Your answer is correct.

【解析】一个进程只能有唯一的进程控制块。

正确答案是:只能有唯一的进程控制块

题目6 正确

获得1.00分中的1.00分

标记题目

题干

6.在单处理机系统中,处于运行状态的进程( )。

选择一项: A. 只有一个 B. 不能被挂起

C. 必须在执行完后才能被撤下 D. 可以有多个

反馈

Your answer is correct.

【解析】在一般单CPU系统中,任何时刻处于运行状态的进程至多是一个。在多处理器系统中,同时处于运行状态的进程可以有多个。

正确答案是:只有一个

题目7 正确

获得1.00分中的1.00分

标记题目

题干

7.已经获得除( )以外的所有运行所需资源的进程处于就绪状态。

选择一项: a. 磁盘空间 b. 存储器 c. CPU d. 打印机

反馈

Your answer is correct.

【解析】解答这道题要清楚就绪态的含义,就绪态的进程应已经具备了运行条件,只等CPU调度。如果进程还需要内外存、设备等资源,就不可能处于就绪态。

正确答案是:CPU

题目8 正确

获得1.00分中的1.00分

标记题目

题干

8.进程从运行状态变为阻塞状态的原因是( )。

选择一项: A. 时间片到 B. 某个进程被唤醒 C. 输入或输出事件发生 D. 输入或输出事件完成

反馈

Your answer is correct.

【解析】处于阻塞态的进程尚不具备运行条件,还要等待某种事件完成。

正确答案是:输入或输出事件发生

题目9 正确

获得1.00分中的1.00分

标记题目

题干

9.某进程由于需要从磁盘上读入数据而处于阻塞状态。当系统完成了所需的读盘操作后,此时该进程的状态将( )。

选择一项: A. 从就绪变为运行 B. 从运行变为阻塞 C. 从运行变为就 D. 从阻塞变为就绪

反馈

Your answer is correct.

【解析】进程读盘操作结束后,一定会发生状态变化。由于此时CPU被其他进程占用,因此这个进程不能立刻变为运行态,而是变为就绪态。

正确答案是:从阻塞变为就绪

题目10 正确

获得1.00分中的1.00分

标记题目

题干

10.下列进程状态的转换中,不正确的是( )。

选择一项:

A. 从就绪到运行 B. 从阻塞到就绪 C. 从运行到就绪 D. 从就绪到阻塞

反馈

Your answer is correct.

【解析】“进程状态及其转换”图中标出了进程状态转换的各种情况。

正确答案是:从就绪到阻塞

题目11 正确

获得1.00分中的1.00分

标记题目

题干

11.一个进程被唤醒意味着( )。

选择一项:

A. 它的优先权变为最大 B. 该进程重新占有了CPU C. 其PCB移至就绪队列的队首 D. 进程状态变为就绪

反馈

Your answer is correct.

【解析】进程被唤醒意味着阻塞该进程的事件已经完成,于是这个进程改为就绪态。

正确答案是:进程状态变为就绪

题目12 正确

获得1.00分中的1.00分

标记题目

题干

12.现代操作系统中引入线程以后,进程( )。

选择一项:

A. 既是资源分配的单位,又是调度运行的单位 B. 失去作用

C. 只是资源分配的单位 D. 只是调度运行的单位

反馈

Your answer is correct.

【解析】引入线程后,进程只作为资源拥有者,而线程负责调度和运行。

正确答案是:只是资源分配的单位

题目13 正确

获得1.00分中的1.00分

标记题目

题干

13.下列关于进程和线程的叙述中,正确的是( )。

选择一项:

A. 一个线程可在若干个进程地址空间活动 B. 一个进程可拥有若干个线程 C. 资源分配给线程,处理机分配给进程

D. 一个进程只可拥有一个线程

反馈

Your answer is correct.

正确答案是:一个进程可拥有若干个线程

题目14 正确

获得1.00分中的1.00分

标记题目

题干

14.下列关于引入线程的好处的描述中,不正确的是( )。

选择一项: A. 利于分配资源 B. 易于调度,代价低 C. 并发性高,提高效率 D. 充分发挥多处理器的功能

反馈

Your answer is correct.

【解析】因为资源分配给进程,与引入线程的好处关系不大。

正确答案是:利于分配资源

题目15 正确

获得1.00分中的1.00分

标记题目

题干

15.两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的( )关系。

选择一项: A. 同步 B. 合作 C. 互斥 D. 竞争

反馈

Your answer is correct.

【解析】同步与互斥是进程间的基本关系,合作属于同步关系。

正确答案是:同步

题目16 正确

获得1.00分中的1.00分

标记题目

题干

16.以下不属于进程高级通信方式的是( )。

选择一项: A. 管道文件方式 B. 消息传递方式 C. 共享内存方式 D. 进程互斥和同步方式

反馈

Your answer is correct.

【解析】进程互斥和同步方式因为交换的信息量少,被归结为低级进程通信方式。

正确答案是:进程互斥和同步方式

题目17 正确

获得1.00分中的1.00分

标记题目

题干

17.在进程通信中,使用信箱方式交换信息的是( )。

选择一项: A. 消息传递方式 B. 管道文件方式 C. 共享内存方式 D. 低级进程通信

反馈

Your answer is correct.

【解析】使用信箱方式交换信息的是消息传递方式。

正确答案是:消息传递方式

题目18 正确

获得1.00分中的1.00分

标记题目

题干

18.在一段时间内,只允许一个进程访问的资源称为( )。

选择一项: A. 共享区

B. 临界区 C. 共享资源 D. 临界资源

反馈

Your answer is correct.

【解析】在一段时间内,只允许一个进程访问的资源称为临界资源,要记住临界资源的定义。

正确答案是:临界资源

题目19 正确

获得1.00分中的1.00分

标记题目

题干

19.如果信号量S的值是0 , 此时进程A执行P(S)操作,那么,进程A会( )。

选择一项:

A. 进入就绪态,让出CPU B. 进入阻塞态,让出CPU C. 继续运行

D. 继续运行,并唤醒S队列头上的等待进程

反馈

Your answer is correct.

【解析】对信号量S执行P操作,使进程进入相应阻塞队列等待的条件是S<0。本题中S的值是0,P操作后,S的值为-1,因此要进入阻塞态,让出CPU。

正确答案是:进入阻塞态,让出CPU

题目20 正确

获得1.00分中的1.00分

标记题目

题干

20.若P、V操作的信号量S初值为2,当前值为 1,则表示有( )个等待进程。

选择一项: A. 1 B. 0 C. 3 D. 2

反馈

Your answer is correct.

【解析】S<0表示目前无可用资源,请求者必须等待资源。S当前值为-1,表示有1个等待进程,这与S的初值没有关系。因此,答案为B。

正确答案是:1

题目21 正确

获得1.00分中的1.00分

标记题目

题干

21.在执行V操作时,当信号量的值( ),应释放一个等待该信号量的进程。

选择一项: A. 小于等于0 B. 大于0

C. 小于0 D. 大于等于0

反馈

Your answer is correct.

【解析】V操作释放资源。如果V操作后信号量的值大于0,表示目前没有等待该资源的进程。因此,只有信号量的值小于等于0,才说明目前有进程在排队等待该资源,需释放一个排队进程。

正确答案是:小于等于0

题目22 正确

获得1.00分中的1.00分

标记题目

题干

22.信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为( )。

选择一项: A. 4 B. 6 C. 8 D. 10

反馈

Your answer is correct.

【解析】对信号量S的操作,P操作减1,V操作加1,因此8-10+6=4,D正确。

正确答案是:4

题目23 正确

获得1.00分中的1.00分

标记题目

题干

23.有9个生产者,6个消费者,共享容量为8的缓冲区。在这个生产者-消费者问题中,互斥使用缓冲区的信号量mutex的初值应该为( )。

选择一项: A. 6 B. 8 C. 9 D. 1

反馈

Your answer is correct.

【解析】不论有几个生产者、消费者以及缓冲区,在这个生产者-消费者问题中,互斥信号量的初值只能为1

正确答案是:1

题目24 正确

获得1.00分中的1.00分

标记题目

题干

24.两个进程争夺同一个资源( )。

选择一项: A. 以上说法都不对 B. 不一定死锁 C. 一定死锁

D. 不会死锁

反馈

Your answer is correct.

【解析】根据死锁的定义,两个进程争夺同一个资源不一定死锁,例如两个进程只互斥使用打印机也属于争夺同一个资源,就不会死锁。

正确答案是:不一定死锁

题目25 正确

获得1.00分中的1.00分

标记题目

题干

25.系统出现死锁的原因是( )。

选择一项:

A. 若干进程因竞争资源而无休止地循环等待着,而且都不释放已占有的资源 B. 资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数 C. 有多个封锁的进程同时存在 D. 计算机系统发生了重大故障

反馈

Your answer is correct.

正确答案是:若干进程因竞争资源而无休止地循环等待着,而且都不释放已占有的资源

题目26 正确

获得1.00分中的1.00分

标记题目

题干

26.死锁的四个必要条件中,无法破坏的是( )。

选择一项: A. 不可抢占条件 B. 占有且申请条件 C. 循环等待条件 D. 互斥条件

反馈

Your answer is correct.

【解析】死锁的四个必要条件中,互斥条件无法破坏,因为这是由资源本身的属性决定的。

正确答案是:互斥条件

二、判断题

题目27 正确

获得1.00分中的1.00分

标记题目

题干

1.简单地说,进程是程序的执行过程。因而,进程和程序是一一对应的。( )

选择一项:

对 错 反馈

【解析】“进程是程序的执行过程”这句话是正确的,但是进程和程序无一一对应关系,一个程序为多个进程共用,一个进程在其活动中也能执行多个程序。

正确的答案是“错”。

题目28 正确

获得1.00分中的1.00分

标记题目

题干

2.程序在运行时需要很多系统资源,如内存、文件、设备等,因此操作系统以程序为单位

分配系统资源。( ) 选择一项:

对 错 反馈

【解析】这句话不对,因为操作系统以进程为单位分配系统资源,不是以程序为单位。

正确的答案是“错”。

题目29 正确

获得1.00分中的1.00分

标记题目

题干

3.进程执行的相对速度不能由进程自己来控制。( )

选择一项:

对 错 反馈

【解析】这句话是正确的。进程是程序在并发环境中的执行过程,并发环境下进程执行的相对速度不确定,因此不能由进程自己来控制执行情况。

正确的答案是“对”。

题目30 正确

获得1.00分中的1.00分

标记题目

题干

4.进程控制块(PCB)是专为用户进程设置的私有数据结构,每个进程仅有一个PCB。

( ) 选择一项:

对 错 反馈

【解析】这句话的后半句是正确的,前半句中有错。进程控制块是为系统中各个进程设置的私有数据结构,不是专为用户进程设置的。

正确的答案是“错”。

题目31 正确

获得1.00分中的1.00分

标记题目

题干

5.进程控制块(PCB)是进程存在的唯一标志。( )

选择一项:

对 错 反馈

【解析】这句话是正确的,每个进程由唯一的PCB,当PCB被系统回收,则相应的进程也就不存在了。

正确的答案是“对”。

题目32 正确

获得1.00分中的1.00分

标记题目

题干

6.在进程状态的转换中,从就绪态转换到阻塞态是不可能实现的。( )

选择一项:

对 错 反馈

【解析】这句话是正确的。就绪态进程其他资源都具备了,就差在CPU上运行,因此可能转换为运行态,决不会转换为阻塞态。

正确的答案是“对”。

题目33 正确

获得1.00分中的1.00分

标记题目

题干

7.进程从运行状态变为阻塞状态的原因是输入或输出事件发生。( )

选择一项:

对 错 反馈

【解析】正在运行的进程因某种条件未满足而放弃对CPU的占用,例如该进程要求读入文件中的数据,在数据读入内存之前,该进程无法继续执行下去,它只好放弃CPU,等待读文件这一事件的完成。这个进程的状态就由运行态变为阻塞态。

正确的答案是“对”。

题目34 正确

获得1.00分中的1.00分

标记题目

题干

8.进程从运行状态变为阻塞状态的原因是时间片到时。( )

选择一项:

对 错 反馈

【解析】在分时系统中,运行的进程时间片到时,进程状态会转换为就绪态,不是阻塞态。

正确的答案是“错”。

题目35 正确

获得1.00分中的1.00分

标记题目

题干

9.一个进程被唤醒意味着该进程重新占有了CPU。( )

选择一项:

对 错 反馈

【解析】这句话是错误的。进程被唤醒意味着它从阻塞态转换为就绪态,能否占有CPU,还要看系统当时的情况而定。

正确的答案是“错”。

题目36 正确

获得1.00分中的0.00分

标记题目

题干

10.如同人类的族系一样,操作系统中众多的进程也存在族系关系,并构成一棵树形的进

程族系图。( ) 选择一项:

对 错 反馈

【解析】这句话完全正确。进程存在着族系关系,并构成一棵树形的进程族系图。

正确的答案是“对”。

题目37 正确

获得1.00分中的1.00分

标记题目

题干

11.进程之间的互斥,主要源于进程之间的资源竞争,从而实现多个相关进程在执行次序上的协调。( ) 选择一项:

对 错 反馈

【解析】这句话前后矛盾。“进程之间的互斥,主要源于进程之间的资源竞争”,既然是竞争关系就不可能实现执行次序上的协调,只有同步关系才能实现。

正确的答案是“错”。

题目38 正确

获得1.00分中的1.00分

标记题目

题干

12.进程A和进程B都要使用系统中同一台打印机,为了保证打印结果的正确性,两个进

程要先后分别使用打印机,这属于进程的同步关系。( ) 选择一项:

对 错 反馈

【解析】进程A和进程B争用同一台打印机,属于互斥关系,因此这句话不正确。

正确的答案是“错”。

题目39 正确

获得1.00分中的1.00分

标记题目

题干

13.进程的互斥和同步机构交换的信息量大,被归结为高级通信。( ) 选择一项:

对 错 反馈

【解析】这句话正好说反了。进程的互斥和同步机构交换的信息量小,被归结为低级通信。

正确的答案是“错”。

题目40 正确

获得1.00分中的1.00分

标记题目

题干

14.管道文件方式属于进程的高级通信。( )

选择一项:

对 错 反馈

【解析】这句话是正确的。进程的高级通信有3类:共享内存方式、管道文件方式和消息传递方式。

正确的答案是“对”。

题目41 正确

获得1.00分中的1.00分

标记题目

题干

15.信号量机制是一种有效地实现进程同步与互斥的工具。信号量只能由P、V操作来改变。( ) 选择一项:

对 错 反馈

【解析】这句话是正确的。信号量的值只能由P、V操作来改变。

正确的答案是“对”。

题目42 正确

获得1.00分中的1.00分

标记题目

题干

16.V操作是对信号量执行加1操作,意味着释放一个单位资源,如果加1后信号量的值小

于等于零,则从等待队列中唤醒一个进程,现进程变为阻塞状态,否则现进程继续进行。( ) 选择一项:

对 错 反馈

【解析】这句话前面的都正确,最后两句有错误。现进程 V操作后应继续执行,不一定变为阻塞状态。

正确的答案是“错”。

题目43 正确

获得1.00分中的1.00分

标记题目

题干

17.系统产生死锁的根本原因是资源有限且操作不当。因此,当系统提供的资源少于并发

进程的需求时,系统就产生死锁。( ) 选择一项:

对 错 反馈

【解析】这句话不正确。系统提供的资源少于并发进程的需求不是产生死锁的原因。

正确的答案是“错”。

题目44

正确

获得1.00分中的1.00分

标记题目

题干

18.解决死锁的方法有死锁的预防、死锁的避免、死锁的检测与恢复。( ) 选择一项:

对 错 反馈

【解析】这句话是正确的。死锁的预防保证系统不会进入死锁,死锁的避免是排除死锁的动态策略,死锁的检测与恢复能检测到死锁的位置和原因,将系统从死锁状态中恢复出来。

正确的答案是“对”。

题目45 正确

获得1.00分中的1.00分

标记题目

题干

19.在Linux系统中,用户进程既可以在用户模式下运行,也可以在内核模式下运行。( )

选择一项:

对 错 反馈

【解析】这句话是正确的。用户进程通常在用户模式下执行,但可以通过系统调用或者中断等进入内核模式执行。

正确的答案是“对”。

三、简答题

题目46 完成 满分1.00

标记题目

题干

1.在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么?

在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。这些都是在程序的动态过程中发生的。用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。 进程与程序的主要区别是:

• • • •

进程是动态的;程序是静态的。

进程有性,能并发执行;程序不能并发执行。 二者无一一对应关系。

进程异步运行,会相互制约;程序不具备此特征。

但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。 反馈

答案:在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。这些都是在程序的动态过程中发生的。用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。 进程与程序的主要区别是:

• • • •

进程是动态的;程序是静态的。

进程有性,能并发执行;程序不能并发执行。 二者无一一对应关系。

进程异步运行,会相互制约;程序不具备此特征。

但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。

题目47 完成 满分1.00

标记题目

题干

2.进程的基本状态有哪几种?

通常在操作系统中,进程至少要有三种基本状态。这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。 反馈

答案:通常在操作系统中,进程至少要有三种基本状态。这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。

题目48 完成 满分1.00

标记题目

题干

3.PCB的作用是什么?它是怎样描述进程的动态性质的?

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

PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息来描述进程的动态性质。 反馈

答案:进程控制块PCB是进程组成中最关键的部分。每个进程有唯一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发等特征是利用PCB表现出来的;PCB是进程存在的唯一标志。

PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息

来描述进程的动态性质。

题目49 完成 满分1.00

标记题目

题干

4.PCB表的组织方式主要有哪几种?分别简要说明。

PCB表的组织方式主要有:线性方式、链接方式和索引方式。 线性方式是把所有进程的PCB都放在一个表中。

链接方式按照进程的不同状态把它们分别放在不同的队列中。 索引方式是利用索引表记载相应状态进程的PCB地址。 反馈

答案:PCB表的组织方式主要有:线性方式、链接方式和索引方式。 线性方式是把所有进程的PCB都放在一个表中。

链接方式按照进程的不同状态把它们分别放在不同的队列中。 索引方式是利用索引表记载相应状态进程的PCB地址。

题目50 完成 满分1.00

标记题目

题干

5.进程进入临界区的调度原则是什么?

一个进程进入临界区的调度原则是:

① 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。

② 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。

③ 进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。 ④ 如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。 反馈

答案:一个进程进入临界区的调度原则是:

① 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。

② 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。

③ 进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。

④ 如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。

题目51 完成 满分1.00

标记题目

题干

6.简述信号量的定义和作用。P、V操作原语是如何定义的?

信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它是与相应资源的使用情况有关的;另一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的头。

信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现进程的同步和互斥。

P、V操作原语的定义:

P(S):顺序执行下述两个动作: ① 信号量的值减1,即S=S-1; ② 如果S≥0,则该进程继续执行;

如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。 V(S):顺序执行下述两个动作: ① S值加1,即S=S+1;

② 如果S>0,则该进程继续运行;

如果S≤0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。 反馈

答案:信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它是与相应资源的使用情况有关的;另一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的头。

信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现进程的同步和互斥。 P、V操作原语的定义:

P(S):顺序执行下述两个动作: ① 信号量的值减1,即S=S-1; ② 如果S≥0,则该进程继续执行;

如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。

V(S):顺序执行下述两个动作: ① S值加1,即S=S+1;

② 如果S>0,则该进程继续运行;

如果S≤0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。

题目52 完成 满分1.00

标记题目

题干

7.计算机系统中产生死锁的根本原因是什么?

计算机系统中产生死锁的根本原因是:资源有限且操作不当。 此外,进程推进顺序不合适也可以引发的死锁。 反馈

答案:计算机系统中产生死锁的根本原因是:资源有限且操作不当。此外,进程推进顺序不合适也可以引发的死锁。

题目53 完成 满分1.00

标记题目

题干

8.发生死锁的四个必要条件是什么?

发生死锁的四个必要条件是: 互斥条件。 不可抢占条件。 占有且申请条件。 循环等待条件。 反馈

答案:发生死锁的四个必要条件是:互斥条件,不可抢占条件,占有且申请条件,循环等待条件。

题目54 完成 满分1.00

标记题目

题干

9.一般解决死锁的方法有哪三种?

一般解决死锁的方法有: 死锁的预防。 死锁的避免。 死锁的检测与恢复。 反馈

答案:一般解决死锁的方法有:死锁的预防、死锁的避免、死锁的检测与恢复。

题目55 完成 满分1.00

标记题目

题干

10.是否所有的共享资源都是临界资源?为什么?

不是所有的共享资源都是临界资源。因为临界资源是一次仅允许一个进程使用的资源,而系统中有很多资源可以让多个进程同时使用,例如硬盘、正文段等。 反馈

答案:不是所有的共享资源都是临界资源。因为临界资源是一次仅允许一个进程使用的资源,而系统中有很多资源可以让多个进程同时使用,例如硬盘、正文段等。

四、应用题

题目56 完成 满分1.00

标记题目

题干

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

图 进程状态转换图

试回答:

① 什么事件引起每次显著的状态变迁? ② 下述状态变迁因果关系能否发生?为什么? ①

就绪→运行:CPU空闲,就绪态进程被调度程序选中。

运行→就绪:正在运行的进程用完了本次分配给它的CPU时间片。

运行→阻塞:运行态进程因某种条件未满足而放弃对CPU的占用,如等待读文件。 阻塞→就绪:阻塞态进程所等待的事件发生了,例如读数据的操作完成。 ②下述状态变迁:

(A)2→1:可以。运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。

(B)3→2:不可以。任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再由运行态变为就绪态。

(C)4→1:可以。某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。 反馈 答案: ①

就绪→运行:CPU空闲,就绪态进程被调度程序选中。

运行→就绪:正在运行的进程用完了本次分配给它的CPU时间片。

运行→阻塞:运行态进程因某种条件未满足而放弃对CPU的占用,如等待读文件。 阻塞→就绪:阻塞态进程所等待的事件发生了,例如读数据的操作完成。 ②下述状态变迁:

(A)2→1:可以。运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。

(B)3→2:不可以。任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再由运行态变为就绪态。

(C)4→1:可以。某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。

题目57 完成 满分1.00

标记题目

题干

2.系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?试用P、V操作写出这些进程使用打印机的算法。 因为打印机是一种临界资源,所以这三个进程只能互斥使用这台打印机,即一个用户的计算结果打印完之后,另一个用户再打印。 设三个进程分别为A、B和C。

设一个互斥信号量mutex,其初值为1。 反馈

答案:因为打印机是一种临界资源,所以这三个进程只能互斥使用这台打印机,即一个用户的计算结果打印完之后,另一个用户再打印。 设三个进程分别为A、B和C。

设一个互斥信号量mutex,其初值为1。

题目58 完成 满分1.00

标记题目

题干

3.判断下列同步问题的算法是否正确?若有错,请指出错误原因并予以改正。 ① 设A,B两个进程共用一个缓冲区Q,A向Q写入信息,B从Q读出信息,算法框图如图左侧所示。

② 设A,B为两个并发进程,它们共享一个临界资源。其运行临界区的算法框图如图右侧所示。

① 这个算法不对。因为A、B两个进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。 改正:

A、B两进程要同步使用缓冲区Q。为此,设立两个信号量: empty表示缓冲区Q为空,初值为1;

full表示缓冲区Q为满,初值为0。算法框图如图1所示。

② 这个算法不对。因为A、B两个进程是并发的,它们共享一个临界资源,所以二者应互斥地使用该临界资源,在进入临界区时不存在先A后B的时序关系,而是哪个进程先到一步就先进入自己的临界区。 改正:

A、B两个进程应互斥地进入临界区。为此,设立一个信号量:互斥信号量mutex,其初值为1。 反馈

答案:① 这个算法不对。因为A、B两个进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。 改正:

A、B两进程要同步使用缓冲区Q。为此,设立两个信号量: empty表示缓冲区Q为空,初值为1;

full表示缓冲区Q为满,初值为0。算法框图如图1所示。

② 这个算法不对。因为A、B两个进程是并发的,它们共享一个临界资源,所以二者应互斥地使用该临界资源,在进入临界区时不存在先A后B的时序关系,而是哪个进程先到一步就先进入自己的临界区。 改正:

A、B两个进程应互斥地进入临界区。为此,设立一个信号量:互斥信号量mutex,其初值为1。算法框图如图2所示。

1

图 2

题目59 部分正确

获得8.00分中的7.00分

标记题目

题干

4.设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。设缓冲区是环形的,编号为0~n-1,in和out分别是输入进程和输出进程使用的指针,初值都是0。

n 为使两类进程实行同步操作,设置了3个信号量:两个计数信号量full和empty,一个互斥信号量mutex。

full:表示放有信息的缓冲区数,其初值为( 0 )。 empty:表示可供使用的缓冲区数,其初值为( n )。

mutex:表示互斥信号量,初值为( 1 )。 n 填写相应的P、V操作。 输入进程Input: while (TRUE) { 回答 ; 回答P(mutex)P(empty) ; 信息送往buffer(in); in=(in+1)mod N; /*以N为模*/ 回答 ; 回答 ; } 输出进程Output: while (TRUE){ 回答 ; P(full)V(full)V(mutex) 回答P(mutex) ; 从buffer(out)中取出信息; out=(out+1)mod N; /*以N为模*/ 回答 ; 回答 ; } 题目60 完成 满分1.00 V(empty)V(mutex) 标记题目 题干 5.设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印结果。问: ① 系统要设几个进程来完成这个任务?各自的工作是什么? ② 这些进程间有什么样的相互制约关系? ③ 用P、V操作写出这些进程的同步算法。 ① 系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。

② R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。 ③ 信号量含义及初值:

B1full—— 缓冲区B1满,初值为0; B1empty——缓冲区B1空,初值为0; B2full—— 缓冲区B2满,初值为0; B2empty——缓冲区B2空,初值为0; 反馈 答案:

① 系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。

② R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。 ③ 信号量含义及初值:

B1full—— 缓冲区B1满,初值为0; B1empty——缓冲区B1空,初值为0; B2full—— 缓冲区B2满,初值为0; B2empty——缓冲区B2空,初值为0;

题目61 完成 满分1.00

标记题目

题干

6.设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信息。针对下述两种情况:

① 缓冲区是环形的,最多可容纳n个信息; ② 缓冲区是无穷大的。 试分别回答下列问题:

① 输入、输出两组进程读/写缓冲区需要什么条件?

② 用P、V操作写出输入、输出两组进程的同步算法,并给出信号量含义及初值。

① 针对容量为n的环形缓冲区,输入、输出两组进程读/写缓冲区需要的条件为:

Ø 输入进程和输出进程需同步执行,即输入进程写

缓冲区后,输出进程才可以读; • Ø 由于缓冲区容量有限,因此任一时刻所有输入进程存放信息的单元数不能超过缓冲区的总容量(n); • Ø 同理,所有输出进程取出信息的总量不能超过所有输入进程当前写入信息的总数。

设缓冲区的编号为0~n-1,in和out分别是输入进程和输出进程使用的指针,指向下面可用的缓冲区,初值都是0。

为使两类进程实行同步操作,应设置三个信号量:两个计数信号量full和empty,一个互斥信号量mutex。

full:表示放有信息的缓冲区数,其初值为0。 empty:表示可供使用的缓冲区数,其初值为n。

mutex:互斥信号量,初值为1,表示各进程互斥进入临界区,保证任何时候只有一个进程使用缓冲区。 下面是解决这个问题的算法描述。 输入进程Input: while (TRUE) { P(empty); P(mutex); 信息送往buffer(in);

in=(in+1)mod N; /*以N为模*/ V(mutex); V(full); } 输出进程Output: while (TRUE){ P(full); P(mutex); 从buffer(out)中取出信息;

out=(out+1)mod N; /*以N为模*/ V(mutex); V(empty); }

② 当缓冲区是无穷大时,输入进程存放信息的单元数不再受缓冲区总容量的,因此,可以不设信号量empty。另外,算法中的in=(in+1)mod N; 和

out=(out+1)mod N; 修改为in=in+1;和out=out+1;即可,其余的算法不变。 输入进程Input: while (TRUE) { P(mutex); 信息送往buffer(in); in=in+1;

V(mutex); V(full); } 输出进程Output: while (TRUE){ P(full); P(mutex); 从buffer(out)中取出信息; out=out+1; V(mutex); } 反馈 答案:

① 针对容量为n的环形缓冲区,输入、输出两组进程读/写缓冲区需要的条件为:

➢ 输入进程和输出进程需同步执行,即输入进程写缓

冲区后,输出进程才可以读;

• ➢ 由于缓冲区容量有限,因此任一时刻所有输入进程存放信息的单元数不能超过缓冲区的总容量(n); • ➢ 同理,所有输出进程取出信息的总量不能超过所有输入进程当前写入信息的总数。

设缓冲区的编号为0~n-1,in和out分别是输入进程和输出进程使用的指针,指向下面可用的缓冲区,初值都是0。

为使两类进程实行同步操作,应设置三个信号量:两个计数信号量full和empty,一个互斥信号量mutex。

full:表示放有信息的缓冲区数,其初值为0。 empty:表示可供使用的缓冲区数,其初值为n。

mutex:互斥信号量,初值为1,表示各进程互斥进入临界区,保证任何时候只有一个进程使用缓冲区。 下面是解决这个问题的算法描述。 输入进程Input: while (TRUE) { P(empty); P(mutex);

信息送往buffer(in);

in=(in+1)mod N; /*以N为模*/ V(mutex); V(full); } 输出进程Output: while (TRUE){ P(full); P(mutex); 从buffer(out)中取出信息;

out=(out+1)mod N; /*以N为模*/ V(mutex); V(empty); }

② 当缓冲区是无穷大时,输入进程存放信息的单元数不再受缓冲区总容量的,因此,可以不设信号量empty。另外,算法中的in=(in+1)mod N; 和

out=(out+1)mod N; 修改为in=in+1;和out=out+1;即可,其余的算法不变。 输入进程Input: while (TRUE) { P(mutex); 信息送往buffer(in); in=in+1; V(mutex); V(full); } 输出进程Output: while (TRUE){ P(full); P(mutex); 从buffer(out)中取出信息; out=out+1; V(mutex); }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务