计算机操作系统(第四版)第二章进程的描述与控制—课后习题答案

4c0c3554170e412eb9dd507443f7b20b.png

79a45e7e9d774ce0831875c5604cdf07.png

ed3bdac1093e492393fd3f6fb5ed3b9e.png  

1.什么是前趋图?为什么要引入前趋图?

前趋图是一个有向无循环图,记为DAG,用于描述进程之间执行的先后关系。

2.试画出下面四条语句的前趋图:
S1:a=x+y;
S2:b=z+1;
S3:c=a-b;
S4:w=c+1;


69ac8716cc054587a1eb4b52977118dd.png

3.为什么程序并发执行会产生间断性特征?

程序并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使这些并发执行的进程之间形成了相互制约关系。相互制约将导致并发程序具有“执行—暂停—执行”这种间断性的活动规律。

4.程序并发执行时为什么会失去封闭性和可再现性?

当系统中存在着多个可以并发执行的程序时,系统中的各种资源将为它们所共享,而这些资源的状态也由这些程序来改变,致使其中任一程序在运行时,其环境都必然会受到其它程序的影响,由于失去封闭性,也将导致失去可在现性。

5.在操作系统中为什么要引入进程概念?它会产生什么样的影响?

为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程的概念。
影响:使程序的并发执行得以实行。

6.试从动态性、并发性和独立性上比较进程和程序。

1)动态性。是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。进程有一定的生命期,而程序只是一组指令的有序集合。是静态实体。
2)独立性。在传统的OS中,独立性是指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行。
3)并发性。是指进程是按异步方式运行的,即按各自独立的、不可预知的速度向前推进。正是源于此因,才导致了传统意义上的程序若参与并发执行,会产生其结果的不可再现性。

7.试说明PCB的作用具体表现在哪几个方面?为什么说PCB是进程存在的唯一标志?

  1. 作为独立运行基本单位的标志。
  2. 能实现间断性运行方式。
  3. 提供进程管理所需要的信息。
  4. 提供进程调度所需要的信息。
  5. 实现与其他进程的同步与通信。

当系统创建一个新进程时,就为它建立了一个PCB。进程结束时又回收其PCB,进程于是也随之消亡。系统是通过PCB感知进程的存在的。

8.PCB提供了进程管理和进程调度所需要的哪些信息?

进程管理:程序和数据的地址、进程同步和通信机制、资源清单、链接指针
进程调度:进程状态、进程优先级、进程调度所需的其他信息、事件

9.进程控制块的组织方式有哪几种?

线性方式、链接方式、索引方式

10.何谓操作系统内核?内核的主要功能是什么?

通常将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理、进程调度和许多模块所公用的一些基本操作),都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常被称为的OS内核。
大多数OS内核包含这两大功能:支撑功能、资源管理功能。

11.试说明进程在三个基本状态之间转换的典型原因。

处于就绪态的进程,在调度程序为之分配了处理机之后便可执行,相应地,其状态就由就绪态转变为执行态;
正在执行的进程如果因分配给它的时间片已完而被剥夺处理机暂停执行时,其状态便由执行态转为就绪;
如果因发生某事件,致使当前进程的执行受阻,使之无法继续执行,则该进程状态将由执行转变为阻塞。

12.为什么要引入挂起状态?该状态有哪些性质?

  1. 终端用户的需要;
  2. 父进程请求;
  3. 负荷调节的需要;
  4. 操作系统的需要。

性质:处于挂起状态的进程不能接收处理机调度。

13.在进行进程切换时,所要保存的处理机状态信息有哪些?

通用寄存器、指令计数器、程序状态字PSW、用户栈指针。

14.试说明引起进程创建的主要事件。

用户登录、作业调度、提供服务、应用请求。

15.试说明引起进程被撤销的主要事件。

正常结束、异常结束、外界干预。

16.在创建一个进程时所要完成的主要工作是什么?

  1. 申请空白PCB,为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB;
  2. 为新进程分配其运行所需的资源,包括各种物理和逻辑资源,如内存、文件、I/O设备和CPU时间等;
  3. 初始化进程控制块;
  4. 如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。

17.在撤销一个进程时所要完成的主要工作是什么?

  1. 根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态;
  2. 若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度;
  3. 若该进程还有子孙进程,还应将其所有子孙进程也都予以终止,以防它们成为不可控的进程;
  4. 将被终止进程所拥有的全部资源或者归还给其父进程,或者归还给系统;
  5. 将被终止进程从所在队列中移出,等待其他程序来搜集信息。

18.试说明引起进程阻塞或被唤醒的主要事件是什么?

  1. 向系统请求共享资源失败;
  2. 等待某种操作的完成;
  3. 新数据尚未到达;
  4. 等待新任务的到达。

19.为什么要在OS中引入线程?

为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。

20.试说明线程有哪些属性?

轻型实体、独立调度和分派的基本单位、可并发执行、共享进程资源。

21.试从调度性、开发性、拥有资源及系统开销方面对进程和线程进行比较。

  1. 调度性:在传统的操作系统中,进程是作为独立调度和分派的基本单位,因而进程是能独立运行的基本单位。在每次被调度时,都需要进行上下文切换,开销较大;在引入线程的OS中,已把线程作为调度和分派的基本单位,因而线程是能独立运行的基本单位。当线程切换时,仅需保存和设置少量寄存器内容,切换代价远低于进程;
  2. 并发性:在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行,甚至还允许在一个进程中的所有线程都能并发执行。同样,不同进程中的线程也能并发执行;
  3. 拥有资源:进程作为系统中拥有资源的一个基本单位,线程本身并不拥有系统资源,而是仅有一点必不可少的、能保证独立运行的资源;
  4. 系统开销:在创建或撤销进程时,系统都要为之分配和回收进程控制块、分配或回收其他资源,如内存空间等。OS为此所付出的开销,明显大于进程创建或撤销时所付出的开销。在进程切换时,涉及到进程上下文的切换,而线程的切换代价也远低于进程的。

22.线程控制块TCB中包含了哪些内容?

线程标识符、一组寄存器、线程运行状态、优先级、线程专有存储区、信号屏蔽、堆栈指针。

23.何谓用户级线程和内核支持线程?

用户级线程是在用户空间中实现的,与内核无关。
内核支持线程是在内核支持下运行的。

24.试说明用户级线程的实现方法。

用户级线程是在用户空间实现的。所有的用户级线程都具有相同的结构,它们都运行在一个中间系统上。当前有两种方式实现中间系统,运行时系统和内核控制系统。

25.试说明内核支持线程的实现方法。

系统在创建新进程时,分配一个任务数据区PTDA,其中包括若干个线程控制块TCB空间。创建一个线程分配一个TCB,有关信息写入TCB,为之分配必要的资源。当PTDA中的TCB 用完,而进程又有新线程时,只要所创建的线程数目未超过系统允许值,系统可在为之分配新的TCB;在撤销一个线程时,也应回收线程的所有资源和TCB。

26.多线程模型有哪几种类型?多对一模型有何优缺点?

多对一、一对一、多对多。
优点:线程管理的开销小,效率高;
缺点:如果一个线程在访问内核时发生阻塞,则整个进程都会被阻塞;此外,在任一时刻,只有一个线程能够访问内核,多个线程不能同时在多个处理机上运行。

猜你喜欢

转载自blog.csdn.net/H1453571548/article/details/129757235