![](https://csdnimg.cn/release/download_crawler_static/87350127/bg5.jpg)
d. 应用请求.
12 试说明引起进程撤消的主要事件.
a. 正常结束;
b. 异常结束;
c. 外界干预;
13 在创建一个进程时,需完成的主要工作是什么?
a. 操作系统发现请求创建新进程事件后,调用进程创建原语 Creat();
b. 申请空白 PCB;
c. 为新进程分配资源;
d. 初始化进程控制块;
e. 将新进程插入就绪队列.
14 在撤消一个进程时,需完成的主要工作是什么?
a. OS 调用进程终止原语;
b. 根据被终止进程的标志符,从 PCB 集合中检索出该进程的 PCB,从中读出该进程的状态;
c. 若被终止进程正处于执行状态,应立即中止该进程的执行,并设置调度标志为真;
d. 若该进程还有子孙进程,还应将其所有子孙进程予以终止;
e. 将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;
f. 将被终止进程(它的 PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息.
15 试说明引起进程阻塞或被唤醒的主要事件是什么?
a. 请求系统服务;
b. 启动某种操作;
c. 新数据尚未到达;
d. 无新工作可做.
16 试从调度性,并发性,拥有资源及系统开销几个方面,对进程和线程进行比较.
a. 在引入线程的 OS 中,把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;
b. 在引入线程的 OS 中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发
执行,因而使 OS 具有更好的并发性;
c. 进程始终是拥有资源的一个独立单位,线程自己不拥有系统资源,但它可以访问其隶属进程的资源;
d. 在创建,撤消和切换进程方面,进程的开销远远大于线程的开销.
17 什么是用户级线程和内核级线程?并对它们进行比较.
a. 内核级线程是依赖于内核的,它存在于用户进程和系统进程中,它们的创建,撤消和切换都由内核
实现;
---用户级线程仅存在于用户级中,它们的创建,撤消和切换不利用系统调用来实现,因而与内核无关,
内核并不知道用户级线程的存在.
b. 内核级线程的调度和切换与进程十分相似,调度方式采用抢占式和非抢占式,调度算法采用时间轮转
法和优先权算法等,当由线程调度选中一个线程后,再将处理器分配给它;而用户级线程通常发生在
一个应用程序的诸线程之间,无需终端进入 OS 内核,切换规则也较简单,因而,用户级线程的切换
速度较快.
---用户级线程调用系统调用和调度另一个进程执行时,内核把它们看作是整个进程的行为,内核级线程
调用是以线程为单位,内核把系统调用看作是该线程的行为.
---对于用户级线程调用,进程的执行速度随着所含线程数目的增加而降低,对于内核级线程则相反.
18 在 Solaris OS 中,设置了哪几种线程?轻型线程的作用是什么?
a. 用户级线程,内核级线程和轻型线程;
b. 作用: 由 LWP 实现了在内核与用户级线程之间的隔离,从而使用户级线程与内核无关.