8、高级进程通信方式大致分为三大类__________、__________和__________。 9、wait操作和signal操作的对象是__________。
10、用某信号量来实现n个进程对某个临界资源互斥时,该信号量取值范围是__________。 11、操作系统通过__________对进程进行管理,它是进程存在的唯一标志。
12、在一个多道程序系统中,进程之间存在着的不同关系可以划分为两大类:其中__________指进程间存在一定的逻辑关系,需要在执行次序上协调;__________指进程间在使用共享资源方面的约束关系。解决上述两个问题的一种常用方法是__________。 13、利用信号量mutex实现进程的互斥,临界区应置于__________和__________之间。 14、一个进程独占处理器顺序执行时具有__________、__________和__________三个特性。 15、把一组可在一段时间内同时执行的进程称为__________进程。 16、把并发进程中涉及到对共享变量进行访问的程序段称为__________。
17、用wait、signal操作管理相关临界区时,任何一个进程要进人自己的临界区前应调用__________、操作,退出临界区时应调用__________操作。
18、有一资源可供n个进程共享,但限制它们只能互斥使用,若采用wait、signal操作来管理则信号量的初值应定义为__________,可能出现的信号量的最小值为__________。 19、若信号量S的初值定义为10,则在S上调用了18次wait操作和15次signal操作后S的值应该为__________。
20、用wait、signal操作实现进程同步时,进程应调用__________操作来检测自己等待的消息是否到达,调用__________操作则可唤醒一个等待消息的进程。
21、如果在一个取负值的信号量上调用wait操作,则将使该进程变为_______状态,而调用signal操作将使一个等待资源的进程成为_______状态。
22、常用的进程控制块的组织方式有_________方式和索引方式。
23、同步机制应遵循的规则是空闲让进、___________、有限等待和让权等待。 三、判断题
1、采用多道程序设计的系统中,系统的程序道数越多,系统的效率越高。( ) 2、操作系统的设计必须要保证进程具有可再现性。( ) 3、并发是并行的不同表述,其原理相同。( )
4、某用户两次运行了AUTOCAD软件,都对同一个图形文件进行操作,因为运行的软件和操作的数据相同,所以系统两次运行AUTOCAD软件的是同一个进程。( )
10
5、如果两个进程不同,则两个进程执行的代码也不相同。( ) 6、在单处理机上的进程就绪队列和阻塞队列最多都只能有一个。( ) 7、PCB是操作系统感知进程存在的唯一标识。( ) 8、在单处理系统中最多允许两个进程处于运行状态。( )
9、简单地说,进程是程序的执行过程。因而,进程和程序是一一对应的。( ) 10、原语的执行是屏蔽中断的。( )
11、在生产者和消费者进程中,两个signal操作的次序改变不会带来太大的问题,而两个wait操作的次序改变则会造成错误。( )
12、并发进程的执行结果只取决于进程本身,不受外界影响。(13、多道程序设计必然导致进程的并发执行。( ) 四、简答题
1、 解释进程的顺序性和并发性。
2、简述进程和程序的区别与联系。
3、什么是进程,进程控制块PCB中包含哪几类信息。
4、试说明进程在三个基本状态之间转换的典型原因。
11
) 5、请画出包含有五种基本状态的进程模型图,并在图中标出状态之间发生转换的原因。
6、 试说明你对进程互斥、同步关系的理解。
7、从并发性,调度性,拥有资源和系统开销方面比较进程与和线程。
8、记录型信号量所采用的数据结构可描述为:
struct semaphore {
int value;
pointer_PCB queue;
}
请在下面的空格中填上合适的内容,以符合wait(S)和signal(S)操作的正确描述。
wait(s) { s.value= s.value ①_______; if (s.value ②______0) ③__________(s.queue) }
signal(s) { s.value= s.value ①_______; if (s.value ②______0) ③__________(s.queue) }
12
五、综合分析题
1、兄弟俩共用一个账号,他们都可以用该账号到任何一家联网的银行自动存款或取款。假定银行的服务系统有“存款”和“取款”两个并发进程组成,且规定每次的存款额和取款额总是为100元。若进程结构如下: begin
amount:integer; amount:=0; cobegin
Process SAVE m1: integer; begin
m1:=amount; m1:=m1+100; amount:=m1
end; Process TAKE m2:Integer; begin
m2:=amount; m2:=m2-100; amount:=m2
end;
coend;
end; 请回答下列问题:
(1)若哥哥先存了两次钱,但在第三次存钱时弟弟却正在取钱,则该账号上可能出现的余额为多少?正确的余额应该为多少?
(2)为保证系统的安全,若用wait、signal操作来管理,应怎样定义信号量及其初值?解释信号量的作用。在上述程序的适当位置加上wait操作和signal操作,使其能正确工作。
13
2、在公共汽车上,司机和售票员的工作流程如下:
司机售票员启动车辆关车门正常行车售票到站停车开车门
为保证乘客的安全,司机和售票员应密切配合协调工作。假定初始状态为:车辆正在起点站停着车、开着门,等待第一批乘客。当发车时间到,售票员关好车门后司机可以启动车辆。若用wait、signal操作来实现司机与售票员之间的协调工作,请回答下列问题: (1)司机与售票员之间的关系是同步还是互斥?解释之。
(2)用wait、signal操作来管理时应定义几个信号量?初值为多少?
(3)请在上述司机与售票员的工作流程中填上适当的wait操作和signal操作,使他们能安全、协调地工作。
3、如下程序,如果以语句为单位实行并发。请写出该程序所有6种可能的交替执行次序,并给出每种执行次序的x,y的最后结果。 int x=0; int y=0; void f1() {
x=2; ①
}
14
y=y+x; ②
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统 总复习题(3)在线全文阅读。
相关推荐: