设计多道系统时,为实现对并发进程的控制和管理应解决哪些方面的问题?简要说明之。
第1题:
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
在并发系统设计中,通过对信号量S的P、V操作实现进程的同步与互斥控制。
P(S):S:=S-1,若S≥0,则执行P操作的进程继续执行:若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。
V(S):S:=S+1,若S>0,则执行V操作的进程继续执行;若S≤0,则从阻塞队列唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续执行。
在某并发系统中,有一个发送进程A、一个接收进程B、一个环形缓冲区BUFFER、信号量S1和S2。发送进程不断地产生消息并写入缓冲区BUFFER,接收进程不断地从缓冲区BUFFER取消息。假设发送进程和接收进程可以并发地执行,那么,当缓冲区的容量为N时,如何使用P、V操作才能保证系统的正常工作。发送进程A和接收进程B的工作流程如图4-1所示。请在图4-1中的空(1)~(4)处填入正确的内容。
第2题:
A 多道程序设计
B 中断处理
C 实现分时与实时处理
D 程序的并发执行
第3题:
操作系统是根据______来对并发执行的进程进行控制和管理的。
A.进程的基本状态
B.进程控制块
C.多道程序设计
D.进程的优先权
第4题:
多道程序设计可以实现进程并发,那么,多道程序设计环境具有以下哪些特点?
A.独立性
B.随机性
C.共享性
D.确定性
E.封闭性
第5题:
为了解决进程间的同步和互斥问题,通常采用一种称为(39)机制的方法。
A.系统调度
B.系统分派
C.多道程序设计
D.信号量
第6题:
A 运行进程的时间片用完
B 运行进程出错
C 运行进程要等待某一时间发生
D 有新进程进入就绪状态
第7题:
阅读下列说明和图表,回答问题1到问题3。
[说明]
在多道程序系统中,各个程序之间是并发执行的,共享系统资源。CPU需要在各个运行的程序之间来回地切换,这样的话,要想描述这些多道的并发活动过程就变得很困难。为此,操作系统设计者提出了进程的概念。
进程是具有独立功能的程序关于某个数据集合上的一次动态执行过程,是系统进行资源分配和调度的独立单位。
进程在生命消亡前处于且仅处于三种基本状态之一。运行态(Running):进程占有CPU,并在CPU上运行。就绪态(Ready):一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU时,立即可以运行)。等待态(Blocked):指进程因等待某种事件的发生而暂时不能运行的状态,即使CPU空闲,该进程也不可运行。指出如下进程状态转换图(图4-1)中“状态1”~“状态3”分别是什么状态。
[图4-1]
第8题:
在多道程序系统中,多个进程可对共享设备进行同时访问。因此,在实现时应考虑问题有
Ⅰ.正确性
Ⅱ.系统性能
Ⅲ.合理性
A.Ⅰ和Ⅱ
B.Ⅱ和Ⅲ
C.Ⅰ和Ⅲ
D.都正确
第9题:
阅读下列说明和程序,回答问题l至问题3.将答案填入答题纸的对应栏内。
【说明】
在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中:
【程序1】;实现两个变量的值的互换;
【程序2】:完成某功能的C语言程序;
【程序3】和【程序4】:是P、V操作的形式化定义,设S为信号量。在多道程序系
统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和
互斥两个方面。信号量是解决进程间同步与互斥的有效方法。
【程序1】
【程序3】
P操作的形式化定义
P (S)
{
(1):
If(2) {
阻塞该进程;
将该进程插入信号量S的等待队列
}
}
【程序4】
V操作的形式化定义:
V(S)
{
(3)
if(4) {
从信号量s的等待队列中取出队首进程
将其插入就绪队列:
}
}
【问题1】(6分)
执行【程序1】后,没有能够实现两个变量值的交换,为什么?请修改上述函数
实现两个变量值的交换,要求函数无返回值,形式为:void swap(...)。请将答案填写在
答题纸中对应的栏目。
【问题2】(3分)
请问【程序2】运行结果是什么?
【问题3】(6分)
请简述什么是临界资源?什么是临界区?
请完成【程序3】和【程序4】的形式化定义,将应填入(n)处的内容写在答题纸
的对应栏中。
第10题:
实现多道程序应解决哪些问题?