计算机操作系统(第四版)第二章 习题答案

1.什么是前趋图?为什么要引入前趋图?
答:①前趋图是指一个有向无循环图,可记为DAG,它用于描述进程之间执行的先后顺序。
②为了更好地描述程序的顺序和并发执行情况。

2.试画出下面四条语句的前趋图:
S1:a=x+y;
S2:b=z+1;
S3:c=a-b;
S4:w=c+1;
答:
在这里插入图片描述

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

4.程序并发执行时为什么会失去封闭性和可在现性?
答:①当系统中存在着多个可以并发执行的程序时,系统中的各种资源将为它们所共享,而这些资源的状态也由这些程序来改变,致使其中任一程序在运行时,其环境都必然会受到其它程序的影响。例如,当处理机已被分配给某个进程时,其它程序必须等待。显然,程序的运行已失去了封闭性。
②程序在并发执行时,由于失去了封闭性,也将导致其又失去可再现性。程序经过多次执行后,虽然它们执行时的环境和初始条件相同,但得到结果却各不相同。

5.在操作系统中为什么要引入进程的概念?它会产生什么样的影响?
答:①为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制。
②使程序能并发执行。

6.试从动态性、并发性和独立性上比较进程和程序。
答:①动态性:进程的实质是进程实体的执行过程,动态性是进程的最基本特征,进程实体有一定的生命期。程序则只是一组有序指令的集合,并存放于某种介质上,其本身并不具有活动的含义,因而是静态的。
②并发性:多个进程实体同存于内存中,且能在一段时间内同时运行。因此,进程能使其进程实体和其它进程实体并发执行。程序因为没有建立PCB是不能参与并发执行的。
③独立性:在传统的OS中,独立性是指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行。

7.试说明PCB的作用具体表现在哪几个方面?为什么说PCB是进程存在的唯一标志?
答:①作为独立运行基本单位的标志。PCB是进程存在的唯一标志。
②能实现间断性运行方式。保存现场CPU信息。
③提供进程管理所需要的信息。记录程序和数据的指针信息、资源清单等。
④提供进程调度所需要的信息。存储状态信息,调度所需信息。
⑤实现与其它进程的同步与通信。存储信号量等。
⑥当系统创建一个新进程时,就为它建立了一个PCB。进程结束时又回收其PCB,进程于是也随之消亡。系统是通过PCB感知进程的存在的,所以,PCB是进程存在的唯一标志。

8.PCB提供了进程管理和进程调度所需要的哪些信息?
答:①记录程序和数据的指针信息、资源清单等。
②存储状态信息,调度所需信息。

9.进程控制块的组织方式有哪几种?
答:线性方式、链接方式、索引方式。

10.何谓操作系统内核?内核的主要功能是什么?
答:①将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理、进程调度和许多模块所公用的一些基本操作),都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常被称为的OS内核。
②支撑功能:中断处理、时钟管理、原语操作。
资源管理功能:进程管理、存储器管理、设备管理。

11.试说明进程在三个基本状态之间转换的典型原因。
答:①就绪→执行:进程调度。
②执行→就绪:时间片完。
③执行→阻塞:I/O请求。
④阻塞→就绪:I/O完成。
在这里插入图片描述

12.为什么要引入挂起状态?该状态有哪些性质?
答:①终端用户的需要、父进程请求、负荷调节的需要、操作系统的需要。
②当该操作作用于某个操作时,该进程将被挂起,意味着此时该进程处于静止状态。如果进程正在执行,它将暂停执行。若原本处于就绪状态,则该进程此时暂不接受调度。

13.在进行进程切换时,所要保存的处理机状态信息有哪些?
答:①进程当前暂存信息。
②下一指令地址信息。
③进程状态信息。
④过程和系统调用参数及调用地址信息。

14.试说明引起进程创建的主要事件。
答:①用户登录:在分时系统中,用户在终端键输入登录命令后,若登录成功,系统将为该用户建立一个进程,并把它插入就绪队列中。
②作业调度:在多道批处理系统中,当作业调度程序按一定的算法调度到某个(些)作业时,便将它(们)装入内存,为它(们)创建进程,并把它(们)插入就绪队列中。
③提供服务:当运行中的用户程序提出某种请求后,系统将专门创建一个进程来提供用户所需要的服务。
④应用请求:由用户进程自己创建新进程,以便使新进程以同创建者进程并发运行的方式完成特定任务。

15.试说明引起进程被撤销的主要事件。
答:①正常结束:表示进程的任务已经完成,准备退出运行。
②异常结束:是指进程在运行时发生了某种异常事件,使程序无法继续运行。如越界错、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O故障。
③外界干预:是指进程应外界的请求而终止运行。如操作员或操作系统干预、父进程请求、因父进程终止。

16.在创建一个进程所要完成的主要工作是什么?
答:①申请空白PCB,为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB。
②为新进程分配其运行所需的资源,包括各种物理和逻辑资源,如内存、文件、I/O设备和CPU时间等。
③初始化进程控制块(PCB),包括标识信息、处理机状态信息、处理机控制信息。
④如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。

17.在撤销一个进程所要完成的主要工作是什么?
答:①根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态。
②若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。
③若该进程还有子孙进程,还应将其所有子孙进程也都予以终止,以防它们成为不可控的进程。
④将被终止进程所拥有的全部资源或者归还给其父进程,或者归还给系统。
⑤将被终止进程(PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息。

18.试说明引起进程阻塞或被唤醒的主要事件是什么?
答:①向系统请求共享资源失败:进程在向系统请求共享资源时,由于系统已无足够的资源分配给它,此时进程因不能继续运行而转变为阻塞状态。
②等待某种操作的完成。当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,则应先将该进程阻塞起来,以等待操作完成。
③新数据尚未到达:对于相互合作的进程,如果一个进程需要先获得另一进程提供的数据后才能对该数据进行处理,只要其所需数据尚未到达,进程便只有阻塞。
④等待新任务的到达:在某些系统中,特别是在网络环境下的OS,往往设置一些特定的系统进程,每当这种进程完成任务后便把自己阻塞起来,等待新任务的到来。

19.为什么要在OS中引入线程?
答:为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。

20.试说明线程具有哪些属性?
答:①轻型实体。
②独立调度和分派的基本单位。
③可并发执行。
④共享进程资源。

21.试从调度性、并发性、拥有资源及系统开销方面对进程和线程进行比较。
答:①调度性:在多线程OS中,线程是独立调度的基本单位,进程是资源分配的基本单位。同一进程中切换线程,不会引起进程切换。
②并发性:在多线程OS中,进程可以并发执行,线程也可以并发执行,线程的并发大大提高了OS的并发性。
③拥有资源:进程拥有资源,而线程(一般)不拥有资源,这样做是为了减少切换线程的开销。同一进程中的多个线程共享该进程的资源。
④系统开销:创建和撤销进程,需要分配和回收相关资源,开销较大;切换进程的成本较高,相对而言,创建和切换线程的成本较低,只需要保存少量寄存器内容,开销小。

22.线程控制块TCB包含了哪些内容?
答:①线程标识符,为每个线程赋予一个唯一的线程标识符。
②一组寄存器,包括程序计数器PC、状态寄存器和通用寄存器的内容。
③线程运行状态,用于描述线程正处于何种运行状态。
④优先级,描述线程执行的优先程度。
⑤线程专有存储区,用于线程切换时存放现场保护信息,和与该线程相关的统计信息等。
⑥信号屏蔽,即对某些信号加以屏蔽。
⑦堆栈指针,为每个线程设置一个堆栈,用它来保存局部变量以及返回地址。

23.何谓用户级线程和内核支持线程?
答:①用户级线程是在用户空间中实现的。对线程的创建、撤销、同步与通信等功能,都无需内核的支持,即用户级线程是与内核无关的。
②内核支持线程KST是在内核的支持下运行的,它们的创建、阻塞、撤销和切换等,也都是在内核空间实现的。

24.试说明用户级线程的实现方法。
答:线程管理工作由应用程序完成,内核感受不到用户级线程的存在,在应用程序中通过线程库创建新的线程。

25.试说明内核支持线程的实现方法。
答:线程管理工作由内核完成,由内核的内部需求进行创建和撤销。应用程序可以通过一个内核级线程的编程接口访问内核线程,内核为进程及其内部线程维护上下文信息,需要内核的参与来完成线程的调度。

26.多线程模型有哪几种类型?多对一模型有何优缺点?
答:①多对一模型、一对一模型和多对多模型。
②优点是线程管理的开销小,效率高;缺点是如果一个线程在访问内核时发生阻塞,则整个进程都会被阻塞,在任一时刻,只有一个线程能够访问内核,多个线程不能同时在多个处理机上运行。

  • 17
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值