操作系统第二版第二章课后习题答案
第二章 进程和线程 作业答案
1,2,4, 6,7,10,11,12,14, 21
1. 在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?
答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。
进程和程序是两个完全不同的概念。进程与程序的主要区别:
进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。
操作系统第二版第二章课后习题答案
2. PCB的作用是什么?它是怎样描述进程的动态性质的? 答:PCB是进程组成中最关键的部分。每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。
PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。
4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量内容。试回答:
① 什么事件引起每次显著的状态变迁?
② 下述状态变迁因果关系能否发生?为什么?
(A) 2→1 (B)3→2 (C)4→1
答:(1)就绪 → 运行:CPU空闲,就绪态进程被调度程序选中
操作系统第二版第二章课后习题答案
运行→阻塞:运行态进程因某种条件未满足而放弃CPU的占用。
阻塞→就绪:阻塞态进程所等待的事件发生了。
运行→就绪:正在运行的进程用完了本次分配给它的时间片
(2)下述状态变迁
(A)2→1,可以。运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。
(B)3→2,不可以。任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。
(C)4→1,可以。某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
6. 什么是进程的互斥和同步?
答: 进程的互斥:逻辑上本来完全独立的若干进程,由于竞争同一个资源而产生的相互制约关系。
进程的同步:进程间共同完成一项任务时直接发生相互作用的关系,也就是说,这些具有伙伴关系的进程在执行时间次序上必须遵循确定的规律。
7. 什么是临界区和临界资源?进程进入临界区的调度原则是什么?
操作系统第二版第二章课后习题答案
答:
一次仅允许一个进程使用的资源称为临界资源。
在每个进程中访问临界资源的那段程序叫做临界区。
进程进入临界区的调度原则:
① 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
② 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其他所有试图进入临界区的进程必须等待。
③ 进入临界区的进程要在有限时间内退出,以便其他进程能及时进入自己的临界区。
④ 如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
10. 系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?试用P,V操作写出这些进程使用打印机的算法。
答:
(1) 这三个进程之间存在互斥的制约关系。因为打印机属于临界
资源,必须一个进程使用完之后另一个进程才能使用。
(2)设三个进程分别为A、B、C
mutex:用于互斥的信号量,初值为1。
操作系统第二版第二章课后习题答案
① 设 A,B两个进程共用一个缓冲区Q,A向Q写入信息,B从Q读出信息,算法框图如图2-27所示。
② 设A,B为两个并发进程,它们共享一个临界资源。其
运行临界区的算法框图如图
操作系统第二版第二章课后习题答案
答:(1) 这个算法不对。进程A,B共用一个缓冲区,同步关系。如果A先运行,且信息数量足够多,则缓冲区Q中的信息会被后来的冲掉,造成信息丢失,进程B不能从Q中读出完整的信息。
改正:
进程A,B同步使用一个缓冲区, 设立两个信号量:
empty:缓冲区Q为空,初值为1;
full:缓冲区Q为满,初值为0;
(2) 这个算法不对。进程A,B并发的,它们共享一个临界资源,二者应互斥地使用该临界资源,在进入临界区时不存在A先B后的时序关系,而是哪个进程先到一步就先进入自己的临界区。
操作系统第二版第二章课后习题答案
改正:A,B两个进程应互斥地进入临界区。为此,设立一个互斥信号量mutex,初值为1,算法框图如上所示。
12. 设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区