第二章
1. 什么是前趋图为什么要引入前趋图
答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。
2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1;
S3=c:=a-b; S4=w:=c+1;
答:其前趋图为:
3. 为什么程序并发执行会产生间断性特征
程序在并发执行时,由于它们共享系统资源,以及为完成同
一项任务而相互合作,致使在这些并发执行的进程之间,形成
了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性
因为程序并发执行时,是多个程序共享系统中的各种资
源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。
5. 在操作系统中为什么要引入进程概念它会产生什么样的
影响
为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。 影响: 使程序的并发执行得以实行。
6. 试从动态性,并发性和独立性上比较进程和程序
a. 动态性是进程最基本的特性,可表现为由创建而产生,由
调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,
因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。 b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。 c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7. 试说明PCB的作用为什么说PCB是进程存在的唯一标志 a. PCB是进程实体的一部分,是操作系统中最重要的记录型
数据结构。PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运
行的基本单位,一个能和其它进程并发执行的进程。 b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进
程的存在的,所以说,PCB是进程存在的唯一标志。
11.试说明进程在三个基本状态之间转换的典型原因。 答: (1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成
12.为什么要引入挂起状态该状态有哪些性质
答:引入挂起状态处于五种不同的需要: 终端用户需要,父进程需要,操作系统需要,对换需要和负荷调节需要。处于挂起状态的进程不能接收处理机调度。 10.在进行进程切换时,
所要保存的处理机状态信息有哪些 答:进行进程切换时,所要保存的处理机状态信息有: (1)进程当前暂存信息 (2)下一指令地址信息 (3)进程状态信息 (4)过程和系统 调用参数及调用地址信息。
13.在进行进程切换时,所要保存的处理机状态信息有哪些 答:进行进程切换时,所要保存的处理机状态信息有: (1)进程当前暂存信息
(2)下一指令地址信息 (3)进程状态信息
(4)过程和系统调用参数及调用地址信息。
14.试说明引起进程创建的主要事件。 答:引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。15.试说明引起进程被撤销的主要事件。 答:引起进程被撤销的主要事件有:正常结束、异常结束(越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O 故障)、外界干预(操作员或操作系统干预、父进程请求、
父进程终止)。
16.在创建一个进程时所要完成的主要工作是什么
答: (1)OS 发现请求创建新进程事件后,调用进程创建原语Creat(); (2)申请空白PCB; (3)为新进程分配资源; (4)初始化进程控制块; (5)将新进程插入就
绪队列.
17.在撤销一个进程时所要完成的主要工作是什么
答: (1)根据被终止进程标识符,从PCB 集中检索出进程PCB,读出该进程状态。 (2)若被终止进程处于执行状态,立即终止该进程的执行,臵调度标志真,指示该进程被 终止后重新调度。 (3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。 (4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统。 (5)将被终止进程PCB 从所在队列或列表中移出,等待其它程序搜集信息。
18.试说明引起进程阻塞或被唤醒的主要事件是什么 答:a. 请求系统服务;b. 启动某种操作;c. 新数据尚
未到达;d. 无新工作可做.
19. 为什么要在OS中引入线程
在OS中引入进程的目的,是为了使多个程序能并发执行,以提高资源利用率和系 统吞吐量。在OS中再引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。
20.试说明线程具有哪些属性
答:(1)轻型实体(2)独立调度和分派的基本单位(3)可并发执行(4)共享进程资源。
21. 试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较. a. 调度性。在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程,在引入线
程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位; b. 并发性。在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之
间,亦可并发执行,因而使OS具有更好的并发性; c. 拥有
资源。无论是传统的操作系统,还是引入了线程的操作系统,进程始终是拥有资源的一个基本单位,而线程除了拥有一点在运行时必不可少的资源外,本身基本不拥有系统资源,但它可以访问其隶属进程的资源; d. 开销。由于创建或撤销进程时,系统都要为之分配和回收资源,如内存空间等,进程切换时所要保存和设置的现场信息也要明显地多于线程,因此,操作系统在创建、撤消和切换进程时所付出的开销将显著地大于线程。