操作系统课后习题答案 2 进程答案
- 格式:doc
- 大小:19.50 KB
- 文档页数:7
习题2 进程、线程管理
一、选择题
题号 1 2 3 4 5 6 7 8 9 10
答案 B B D C D C A B D C
题号 11 12
答案 A A
二、综合题
2、答:在多道程序环境下,允许多个程序并发执行,这就导致了在操作系统中引入了“进
程”。进程是随着操作系统中分时思想的提出而引出的。进程是一个可并发执行的具有
独立功能的程序在某个数据集合的一次执行过程,它是操作系统进行资源分配和保护的
基本单位。
①进程和程序的最大区别就是进程是程序的一次执行过程,它是一个动态概念。程序
是以文件形式存放在磁盘上的代码序列,它是一个静态概念。
②进程能够并发执行。在同一段时间内,并发执行的若干进程共享一个处理机,各个
进程按照不同的推进速度运行。进程状态及其转换可以很好地描述并发执行进程的执行过
程。
③进程是计算机系统资源分配的基本单位,程序不能作为一个独立单位运行和申请系
统资源。
④进程由含有代码和数据的用户地址空间、进程控制块和执行栈区等部分组成,而程
序只由静态代码组成。
⑤进程和程序之间是多对多的关系。一个程序可被多个进程共用,一个进程在其活动
中又可调用若干个程序。
2、答:
原语是由若干条机器指令组成的、用于完成一定功能的一个过程。原语不可分割,其执
行期间不充许被中断,要么从头到尾执行一遍,要么全不执行。原语的特征保证其在执行过
程中不受外界因素的影响。
原语的一般实现方法是以系统调用的方式提供原语接口,原语在执行过程中采用屏蔽中断的
方式来保证其不能被中断。原语常驻内存,只在核心态下运行。通常情况下,原语只提供给
系统进程或系统服务器使用。
3、答:
传统操作系统通过进程的并发执行提高了系统资源利用率和作业吞
吐量,但进程模型
存在如下局限性。
①每个进程都有一个进程控制块和一个私有的用户地址空间,如果按进程进行并发控
制,那么在同一个地址空间中只允许单个执行序列运行。显然,在不进行地址变换的情况下,
只允许一个执行序列运行,处理机资源仍然不能得到充分利用。
②一个进程内部只有一个执行序列,不能满足用户让一个进程内部并发执行多个任务
的要求。
③进程在处理机上的频繁切换给系统造成大量时空开销,这限制了系统中并发执行进
程的数目,降低了系统并发执行程序。
实用操作系统教程(第2 版)课后习题参考答案
5
④进程通信代价大。进程间传递信息时,要把消息从一个进程的工作区传送到另一个
进程的工作区,这需要操作系统提供进程通信机制并且给编程者带来负担。
⑤不适合并行计算和分布并行计算的要求。对于多处理机和分布式的计算环境来说,
进程之间大量频繁的通信和切换,会大大降低并行度。
线程是进程内部一个相对独立的、具有可调度特性的执行单元。一个进程可包含多个线
程。
4、答:内核支持线程(Kernel Supported Threads, KST)是由内核负责管理线程的创建、
撤消和切换等,在内核空间为每一个内核支持线程设置一个线程控制块。
内核支持线程实现方式主要有以下优点:
①多处理器系统中,可以调度使一进程中的多个线程同时执行。
②提高了线程的并发执行程度,如果进程中的一个线程被阻塞了,内核可调度该进程
中的其它线程或其它进程中的线程运行。
③内核支持线程具有很小的数据结构和堆栈,线程切换开销小,切换速度快。
④内核本身也可采用多线程技术,提高系统并发执行程度。
内核支持线程实现方式的主要缺点是系统需频繁进行用户态和核心态的转换,模式切换
开销较大。这是因为用户线程在用户态下运行,但线程的调度和管理由系统内核实现,系统
内核负担较大。
用户级线程(User Level Threads, ULT)仅存在于用户空间中,与内核无关。这种线程
的创建、撤消、线程间切换、同步和通信等功能,都无需利用系统调用来实现,不需要内核
支持。就内核而言,它只是管理常规进程,而感知不到用户级线程的存在。
用户级线程实现的主要优点:
①不需要得到内核的支持,因此线程开销小,速度快。
②用户线程和系统线程的调度算法可分开设计,线程库对用户线程的调度算法与操作
系统的调度算法无关,线程库可提供多种调度算法供应用程序选择使用。
③平台无关性好,用户级线程的实现与系统平台无关。
用户级线程实现的主要缺点:
①在基于进程机制的操作系统中,内核以进程为单位进行调度,这样如果进程中某一
个线程阻塞可能导致整个进程阻塞。
②在单纯的用户级线程实现方式中,内核每次分派给一个进程仅有一个CPU,因此无法让
同一进程的多个线程在多个处理机上同时运行。
5、答:(1)调度
传统操作系统中,拥有资源的基本单位和独立调度的基本单位都是进程。引入线程的操作系
统中,线程作为CPU 调度的基本单位,真正在处理机上运行的是线程,
进程仍作为拥有资源
的基本单位。同一进程中的线程切换不会引起进程切换;但一个进程中的线程切换到另外一
个进程中的线程时,仍将会引起进程切换。
(2)并发性
引入线程的操作系统中,一个进程可有多个线程,并且线程只能在该进程的地址空间内活动。
进程之间的并发执行转变为更多个线程的并发执行,操作系统具有更好的并发性。
实用操作系统教程(第2 版)课后习题参考答案
6
(3)拥有资源
不论是传统的操作系统,还是设有线程的操作系统,进程都是拥有资源的一个独立单位。一
般地说,线程自己不拥有系统资源(只有一些必不可少的资源),它们共享其所在进程的所有
资源。
(4)系统开销
在创建或撤消进程时,系统都要为之分配或回收资源,如内存空间、I/O 设备等。因此,操
作系统为此付出的开销将显著地大于创建或撤消线程时的开销。依次类似,在进行进程切换