全国自考操作系统(进程通信)模拟试卷3
-
27. 信号可以直接传送信息内容。( )
- 正确
- 错误
-
28. 若进程资源分配和等待图中含有圈,则一定有进程处于死锁状态。( )
- 正确
- 错误
-
25. 利用信号量既能实现进程间的同步,也能实现进程间的互斥。( )
- 正确
- 错误
-
26. 中断和信号都有优先级。( )
- 正确
- 错误
-
24. 普通用户能用文件的creat系统调用实现锁操作。( )
- 正确
- 错误
-
23. 锁可以用于控制临界段的互斥执行。( )
- 正确
- 错误
-
21. 有两个生产者a、b不断向仓库存放产品,由销售者c取走仓库中的产品(仓库初态产品数为0,仓库容量为无限大)。请写出通过semWait、semSignal操作实现三个进程间的同步和互斥的框图或伪程序,并写出信号量的初值和意义。
-
22. 变量也可以是一个临界资源。( )
- 正确
- 错误
-
19. 在解决死锁的方法中,哪种方法最浪费资源?哪种方法最容易实现?如果死锁发生的可能性很小,用哪种方法最好?
-
20. 用纯用户软件实现进程的互斥。对共享资源的访问要互斥进行,进程级的互斥可以通过系统提供的锁和信号量等实现,也可通过纯软件实现。用纯软件实现进程互斥地进入临界段的方法既可用于单处理机环境,也可用于多处理机环境,只要这些处理机能共享同一个存储区,且诸进程对同一主存单元的访问是串行地进行的,除此以外不需要任何硬件、操作系统或程序设计语言的特殊支持。
通过纯软件来实现进程间的互斥所需共享存储区,就要通过共享内存的系统调用shmget、shmat获得。父进程的全局变量在创建子进程后,两者也是分开存放的,故即使父子进程之间也不能通过全局变量进行通信。
线程能有效地增强不同执行程序之间的通信效率。在大多数的操作系统中,独立进程之间的通信需要与核心交互,以提供进程通信所需的机制。可是,由于在同一进程中的线程共享内存,它们之间的通信就不需要调用核心。
由于同一个进程中的所有线程共享进程的资源,它们驻留在相同的地址空间和访问相同的数据。如一个线程修改了存储空间中的一项数据,其他线程访问该数据项时也会获得改变了的结果。故子线程之间就能通过进程的全局变量进行通信,也能用全局变量实现纯软件的安全锁。
试编一个多线程并发的程序,用纯软件来实现对共享资源的访问计数,最简单的互斥共享资源就是共享计数变量。
-
18. 在某系统中,有N个进程共享6台同类设备资源,每个进程最多需要2台设备资源,试问:N最多为几时才能保证系统不会发生死锁?简略说明。
-
16. 叙述面向连接的Socket通信基本过程实现网络通信。
-
17. 在生产者一消费者问题中,如果将两个semWait操作即生产者程序流程中的semWait(buffers)和semWait(mutex)互换位置,或者是将semSignal(mutex)与semSignaj(products)互换位置,结果会如何?
-
14. 什么是临界资源和临界区?一个进程进入临界区的调度原则是什么?
-
15. 说明互斥和同步对信号量操作方法的差异。
-
12. 一个进程要向另一个进程传送大量数据,如不考虑进程间的同步,效率最高的进程通信机制为_______。
-
13. 对资源采用_______的策略可以使循环等待资源的条件不成立。
-
11. 某一时刻系统中共有6个进程,每个进程要使用1个相关临界资源。互斥信号量s的初值为3,当前值为-2,则表示有_______个进程正在访问相关临界资源,有_______个访问相关临界资源的进程进入了阻塞状态,有_______个进程还没有申请访问相关临界资源。
-
9. 若一个进程已进入一个临界区,其他欲进入同一临界区的进程必须_______。
-
10. 每执行一次semSignal操作,信号量的数值S加1。若_______,则该进程继续执行;否则,从对应的_______队列中移出一个进程,该进程的状态将为_______。
-
7. 系统有11台磁带机供5个进程使用,如每个进程最多同时分配_______台磁带机,就没有死锁的危险。
- A.2
- B.3
- C.4
- D.5
-
8. 设有12个同类资源可供4个进程共享,资源分配情况见表。
当进程P1、P2、P3、P4都相继提出申请要求,为使系统不致死锁,应满足_______的要求。
- A.P1
- B.P2
- C.P3
- D.P4
-
6. 在多进程的并发系统中,肯定不会因竞争_______而产生死锁。
- A.打印机
- B.磁带机
- C.光刻机
- D.处理机
-
5. 如果系统只有一个临界资源,同时有很多进程要竞争该资源,那么系统_______发生死锁。
- A.一定会
- B.一定不会
- C.不一定会
- D.由进程数量决定
-
3. 在进程之间要传递大量的数据,效率高而且互斥与同步控制方便的方法是采用_______。
- A.管道
- B.共享存储
- C.全局变量
- D.信号量
-
2. 解决进程间同步与互斥问题的常用方法是使用_______。
- A.锁操作
- B.存储管理
- C.信号机构
- D.信号量
-
4. 能支持两台计算机之间的通信机制是_______。
- A.Signal
- B.Pipe
- C.Ipc
- D.Socket
-
1. 临界区是指并发进程中_______。
- A.用于实现进程互斥的程序段
- B.用于实现进程同步的程序段
- C.用于实现进程通信的程序段
- D.与互斥的共享资源有关的程序段