12.试说明引起迚程被撤销的主要事件。
答:引起进程被撤销的主要事件有:正常结束、异常结束(越界错误、保护错、非法指令、特权指令错、
运行超时、等待超时、算术运算错、I/O 故障)、外界干预(操作员或操作系统干预、父进程请求、父进
程终止)。
13.在创建一个迚程时所要完成的主要工作是什么?
(1)OS 发现请求创建新进程事件后,调用进程创建原语 Creat();
(2)申请空白 PCB; (3)为新进程分配资源; (4)初始化进程控制块;
(5)将新进程插入就绪队列.
14.在撤销一个迚程时所要完成的主要工作是什么?
(1)根据被终止进程标识符,从 PCB 集中检索出进程 PCB,读出该进程状态。
(2)若被终止进程处于执行状态,立即终止该进程的执行,臵调度标志真,指示该进程被
终止后重新调度。
(3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。
(4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统。
(5)将被终止进程 PCB 从所在队列或列表中移出,等待其它程序搜集信息。
15.试说明引起迚程阻塞戒被唤醒的主要事件是什么?
答:a. 请求系统服务;b. 启动某种操作;c. 新数据尚未到达;d. 无新工作可做.
16.迚程在运行时存在哪两种形式的制约?并丼例说明之。
(1)间接相互制约关系。举例:有两进程 A 和 B,如果 A 提出打印请求,系统已把唯一的
一台打印机分配给了进程 B,则进程 A 只能阻塞;一旦 B 释放打印机,A 才由阻塞改为就绪。
(2)直接相互制约关系。举例:有输入进程 A 通过单缓冲向进程 B 提供数据。当缓冲空时,
计算进程因不能获得所需数据而阻塞,当进程 A 把数据输入缓冲区后,便唤醒进程 B;反
之,当缓冲区已满时,进程 A 因没有缓冲区放数据而阻塞,进程 B 将缓冲区数据取走后便唤醒 A。
17.为什么迚程在迚入临界区之前应先执行“迚入区”代码?而在退出前又要执行“退出区”
代码?
答:为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是
否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设臵正被访问标志,如果
正被访问,则本进程不能进入临界区,实现这一功能的代码为" 在退出临界区后,必须执行"退出区"代码,
用于恢复未被访问标志,使其它进程能再访问此临界资源。
18. 同步机构应遵循哪些基本准则?为什么?
答:同步机构应遵循的基本准则是:空闲让进、忙则等待、有限等待、让权等待原因:为实现进程互斥进
入自己的临界区。
19. 试从物理概念上说明记录型信号量 wait 和 signal。
答:wait(S):当 S.value>0 时,表示目前系统中这类资源还有可用的。执行一次 wait 操作,意味着进程
请求一个单位的该类资源,使系统中可供分配的该类资源减少一个,因此描述为 S.value:=S.value-1;当
S.value<0 时,表示该类资源已分配完毕,进程应调用 block 原语自我阻塞,放弃处理机,并插入到信号量
链表 S.L 中。