最新操作系统第二版课后习题答案资料_第1页
最新操作系统第二版课后习题答案资料_第2页
最新操作系统第二版课后习题答案资料_第3页
最新操作系统第二版课后习题答案资料_第4页
最新操作系统第二版课后习题答案资料_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品文档第二章进程和线程作业答案1, 2, 4, 6, 7, 10, 11, 12, 14, 211. 在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?答:由于多道程序的并发执行时共享系统资源,共同决定这 些资源的状态,因此系统中各程序在执行过程中就出现了相 互制约的新关系,程序的执行出现“走走停停”的新状态。 用程序这个静态概念已经不能如实反映程序并发执行过程 中的这些特征。为此,人们引入“进程(Process)”这一概 念来描述程序动态执行过程的性质。进程和程序是两个完全不同的概念。进程与程序的主要区别:进程程序进程是动态概念程序是静态概念进程具有并发性,宏观上同时运行程序

2、本身具有顺序性,程序的并发 执行是通过进程实现的进程具有独立性,是一个能独立运仃的单 位,是系统资源分配的基本单位,是运行调 度的基本单位程序本身没有此特性程序和进程无一一对应关系,一个进程可顺 序执行多个程序一个程序可由多个进程共用进程异步前进,会相互制约程序不具备此特性进程和程序之间存在密切的关系:进程的功能是通过程序的 运行得以实现的,进程活动的主体是程序,进程不能脱离开 具体程序而独立存在。2. PCB的作用是什么? 它是怎样描述进程的动态性质的? 答:PCB是进程组成中最关键的部分。每个进程有惟一的进 程控制块;操作系统根据PCB对进程实施控制和管理,进程 的动态、并发特征是利用PC

3、B表现出来的;PCB是进程存在的唯一标志。PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态, 它利用状态信息来描述进程的动态性 质。4.用如图2-26所示的进程状态转换图能够说明有关处理机的大量内容。试回答: 什么事件引起每次显著的状态变迁? 下述状态变迁因果关系能否发生?为什么?答:(1)就绪 运行:CPU空闲,就绪态进程被调度程序 选中运行T阻塞:运行态进程因某种条件未满足而放弃CPU的占用。阻塞T就绪:阻塞态进程所等待的事件发生了。运行T就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A) 1,可以。运行进程用完了本次分配给它的时间片, 让出cpu从

4、就绪队列中选一个进程投入运行。(B) 3宀2,不可以。任何时候一个进程只能处于一种状态, 它既然由运行态变为阻塞态,就不能再变为就绪态。(C) 4-1,可以。某一阻塞态进程等到的事件出现了,而 且此时就绪队列为空, 该进程进入就绪队列后马上又被调度 运行。6. 什么是进程的互斥和同步?进程的互斥:逻辑上本来完全独立的若干进程,由于竞争同 一个资源而产生的相互制约关系。进程的同步:进程间共同完成一项任务时直接发生相互作用 的关系,也就是说,这些具有伙伴关系的进程在执行时间次 序上必须遵循确定的规律。7. 什么是临界区和临界资源?进程进入临界区的调度原则是什么?一次仅允许一个进程使用的资源称为临界

5、资源。 在每个进程中访问临界资源的那段程序叫做临界区。进程进入临界区的调度原则: 如果有若干进程要求进入空闲的临界区,一次仅允许一 个进程进入。 任何时候,处于临界区内的进程不可多于一个。如已有 进程进入自己的临界区, 则其他所有试图进入临界区的进程 必须等待。 进入临界区的进程要在有限时间内退出,以便其他进程 能及时进入自己的临界区。 如果进程不能进入自己的临界区,则应让出CPU,避免进程出现忙等”现象。10. 系统中只有一台打印机,有三个用户的程序在执行过程 中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间 有什么样的制约关系?试用P,V 操作写出这些进程使用打印

6、机的 算法。(1)这三个进程之间存在互斥的制约关系。因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。(2)设三个进程分别为 A、B、Cmutex :用于互斥的信号量,初值为1。进程A进程B进程C P(mutex)P(mutex)P(mutex)使用打印机使用打印机使用打印机V(mutex)V(mutex)V(mutex)11. 判断下列同步问题的算法是否正确?若有错,请指出错 误原因并予以改正。设A, B两个进程共用一个缓冲区 Q, A向Q写入信息, B从Q读出信息,算法框图如图2-27所示。设A,B为两个并发进程,它们共享一个临界资源。其运行临界区的算法框图如图2-28所示

7、。进程A向Q写入信息V( S)进程B图2-27进程A、B的算法框图P( S)从Q读出信息答:(1)这个算法不对。进程A, B共用一个缓冲区,同步 关系。如果 A先运行,且信息数量足够多,则缓冲区 Q中 的信息会被后来的冲掉,造成信息丢失,进程B不能从Q中读出完整的信息。改正:进程A,B同步使用一个缓冲区,设立两个信号量:empty:缓冲区Q为空,初值为1;full:缓冲区Q为满,初值为0;算法框图如下图所示进程B>P(full)从Q读出信息V ( empty)进程A*fP( mutex)临界区代码CSbV( mutex)P( mutex)临界区代码CSaV ( mutex)进程B图2-2

8、8的算法框图改正后图2-27的算法框图 改正后(2)这个算法不对。进程A,B并发的,它们共享一个临界 资源,二者应互斥地使用该临界资源,在进入临界区时不存 在A先B后的时序关系,而是哪个进程先到一步就先进入 自己的临界区。改正:A,B两个进程应互斥地进入临界区。为此,设立一个 互斥信号量 mutex,初值为1,算法框图如上所示。12. 设有一台计算机,有两条 I/O通道,分别接一台卡片输 入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印结果,问: 系统要设几个进程来完成这个任务?各自的工作是什么 这些进程间有什么样的相互制约关系? 用P,

9、 V操作写出这些进程的同步算法。答:这是一个典型的生产者,消费者问题1)系统可设三个进程完成任务,第一个进程 R,从卡片输入机中读入数据,并且把数据放入缓冲区B1中,第二个进程C从B1缓冲区中取数据,加工处理后放入缓冲区B2中。第三个进程P将缓冲区B2的内容取出,在打印机上打印出来2)这三个进程之间是同步关系R进程受C进程影响,B1放满信息后R进程要等待,等到 C 进程将其中的信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束,B1中信息放满后 C进程才可从中取 出它们,且B2被取空后C进程才可将加工结果送入其中;P进程受C进程的约束,B2中信息放满后P进程才可从中取出 它们,进行打

10、印。3)三个进程之间必须协调工作,需设置四个信号量:Biempty:缓冲区 B1空,初值为1 ;Bifull :缓冲区B1满,初值为0;B2empty:缓冲区 B2空,初值为1 ;B2full :缓冲区B2满,初值为0;进程Rwhile (TRUE P(B1empty);从卡片机中读入数据进程Cwhile ( TRUE P( Bifull );将B1中的数据取出计算进程Pwhile ( TRUE P( B2full );将缓冲区B2内容精品文档写入缓冲区B1;V( B1full );在打印机中输出;V(B2empty);V(B1empty);P(B2empty);计算结果送入B2中;V(B2f

11、ull);14.假定一个阅览室最多可容纳100个人,读者进入和离开阅览室时都必须在阅览室门口的一张登记表上做标识(进入 时登记,离开时去掉登记项),而且每次只允许一人登记或 去掉登记。问:应编写几个程序完成此项工作?程序的主要动作是什 么,应设置几个进程?进程与程序间的对应关系如何?用P,V操作写出这些进程的同步通信关系。完成此项工作可编写一个或两个程序(函数),每个读者 对应一个进程。每个读者的动作包括:进入阅览室前查表登记,这时要考虑阅览室里是否有座位;进入阅览室,阅读阅读完毕,离开阅览室,这时的操作主要是删除登记项, 让出座位。 设置的信号量有两个:seats:阅览室的空座位数,初值为

12、100;mutex :互斥使用登记表,初值为 1。每位读者进程:IIIP (seats);P( mutex);填写登记表 ;V(mutex)进入阅览室读书 ;P( mutex)查表,删除登记项;V(mutex)V(seats)/* 没有座位则离开 */* 进入临界区 */* 离开临界区 */* 进入临界区 */* 离开临界区 */* 释放一个座位资源 */21. 什么是线程?它与进程有什么关系?线程(Thread )是进程中实施调度和分派的基本单位线程和进程的关系: 一个进程可以有多个线程,但至少有一个线程;而一个 线程只能在一个进程的地址空间内活动。 资源分配给进程,同一进程的所有线程共享该进程的所 有资源。 处理机分配给线程,即真正在处理机上运行的是线程。 线程在执行过程中,需要协作同步。不同进程的线程间 要利用消息通信的办法实现同步。主要问题:1、第 1 题,未回答“进程与程序之间的关系”2、第 4 题“什么事件引起每次显著的状态变迁?” ,没有回 答“事件”下述状态变迁因果关系能否发生? 为什么 ?没有回答 “原 因” 3、第 6题 什么是进程的互斥和同步?同步的概念不够准确。4、第 7 题,原题为“什么是临界区和临

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论