操作系统第二版第二章课后习题答案.doc

上传人:s****u 文档编号:12808742 上传时间:2020-05-25 格式:DOC 页数:11 大小:81.50KB
返回 下载 相关 举报
操作系统第二版第二章课后习题答案.doc_第1页
第1页 / 共11页
操作系统第二版第二章课后习题答案.doc_第2页
第2页 / 共11页
操作系统第二版第二章课后习题答案.doc_第3页
第3页 / 共11页
点击查看更多>>
资源描述
第二章 进程和线程 作业答案1,2,4, 6,7,10,11,12,14, 211. 在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。进程和程序是两个完全不同的概念。进程与程序的主要区别:进程程序进程是动态概念程序是静态概念进程具有并发性,宏观上同时运行程序本身具有顺序性,程序的并发执行是通过进程实现的进程具有独立性,是一个能独立运行的单位,是系统资源分配的基本单位,是运行调度的基本单位程序本身没有此特性程序和进程无一一对应关系,一个进程可顺序执行多个程序一个程序可由多个进程共用进程异步前进,会相互制约程序不具备此特性进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。2. PCB的作用是什么?它是怎样描述进程的动态性质的?答:PCB是进程组成中最关键的部分。每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量内容。试回答: 什么事件引起每次显著的状态变迁? 下述状态变迁因果关系能否发生?为什么?(A) 21 (B)32 (C)41运行状态就绪状态阻塞状态3412图2-26 进程状态转换图答:(1)就绪 运行:CPU空闲,就绪态进程被调度程序选中运行阻塞:运行态进程因某种条件未满足而放弃CPU的占用。阻塞就绪:阻塞态进程所等待的事件发生了。运行就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A)21,可以。运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。(B)32,不可以。任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。(C)41,可以。某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。6. 什么是进程的互斥和同步?答:进程的互斥:逻辑上本来完全独立的若干进程,由于竞争同一个资源而产生的相互制约关系。进程的同步:进程间共同完成一项任务时直接发生相互作用的关系,也就是说,这些具有伙伴关系的进程在执行时间次序上必须遵循确定的规律。7. 什么是临界区和临界资源?进程进入临界区的调度原则是什么?答:一次仅允许一个进程使用的资源称为临界资源。在每个进程中访问临界资源的那段程序叫做临界区。进程进入临界区的调度原则: 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其他所有试图进入临界区的进程必须等待。 进入临界区的进程要在有限时间内退出,以便其他进程能及时进入自己的临界区。 如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。10. 系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?试用P,V操作写出这些进程使用打印机的算法。答:(1) 这三个进程之间存在互斥的制约关系。因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。(2)设三个进程分别为A、B、C mutex:用于互斥的信号量,初值为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所示。进程A临界区代码CSaV(S1)P(S2)进程BP(S1)临界区代码CSbV(S2)信号量S1,S2的初值为0图2-28 两个并发进程临界区的算法框图进程A向Q写入信息V(S)进程BP(S)从Q读出信息图2-27 进程A、B的算法框图答:(1) 这个算法不对。进程A,B共用一个缓冲区,同步关系。如果A先运行,且信息数量足够多,则缓冲区Q中的信息会被后来的冲掉,造成信息丢失,进程B不能从Q中读出完整的信息。改正:进程A,B同步使用一个缓冲区, 设立两个信号量:empty:缓冲区Q为空,初值为1;full:缓冲区Q为满,初值为0;算法框图如下图所示:进程AP(mutex)临界区代码CSaV(mutex)进程BP(mutex)临界区代码CSbV(mutex)图2-28的算法框图 改正后进程AP(empty)向Q写入信息V(full)进程BP(full)从Q读出信息V(empty)图2-27的算法框图 改正后(2) 这个算法不对。进程A,B并发的,它们共享一个临界资源,二者应互斥地使用该临界资源,在进入临界区时不存在A先B后的时序关系,而是哪个进程先到一步就先进入自己的临界区。改正:A,B两个进程应互斥地进入临界区。为此,设立一个互斥信号量mutex,初值为1,算法框图如上所示。12. 设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印结果,问: 系统要设几个进程来完成这个任务?各自的工作是什么 这些进程间有什么样的相互制约关系? 用P, 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进程才可从中取出它们,进行打印。3)三个进程之间必须协调工作,需设置四个信号量:B1empty:缓冲区B1空,初值为1;B1full:缓冲区B1满,初值为0;B2empty:缓冲区B2空,初值为1;B2full:缓冲区B2满,初值为0;进程 R 进程C 进程Pwhile(TRUE)while(TRUE) while(TRUE) P(B1empty); P(B1full); P(B2full); 从卡片机中读入数据 将B1中的数据取出计算; 将缓冲区B2内容 写入缓冲区B1; V(B1empty); 在打印机中输出; V(B1full); P(B2empty); V(B2empty); 计算结果送入B2中; V(B2full); 14. 假定一个阅览室最多可容纳100个人,读者进入和离开阅览室时都必须在阅览室门口的一张登记表上做标识(进入时登记,离开时去掉登记项),而且每次只允许一人登记或去掉登记。问: 应编写几个程序完成此项工作? 程序的主要动作是什么,应设置几个进程?进程与程序间的对应关系如何? 用P,V操作写出这些进程的同步通信关系。答: 完成此项工作可编写一个或两个程序(函数),每个读者对应一个进程。每个读者的动作包括:l 进入阅览室前查表登记,这时要考虑阅览室里是否有座位;l 进入阅览室,阅读l 阅读完毕,离开阅览室,这时的操作主要是删除登记项,让出座位。 设置的信号量有两个: seats:阅览室的空座位数,初值为100; mutex:互斥使用登记表,初值为1。每位读者进程: P (seats); /*没有座位则离开*/ P(mutex); /*进入临界区*/ 填写登记表; V(mutex)/*离开临界区*/ 进入阅览室读书; P(mutex) /*进入临界区*/ 查表,删除登记项; V(mutex) /*离开临界区*/ V(seats) /*释放一个座位资源*/ 21. 什么是线程?它与进程有什么关系?答:线程(Thread)是进程中实施调度和分派的基本单位线程和进程的关系: 一个进程可以有多个线程,但至少有一个线程;而一个线程只能在一个进程的地址空间内活动。 资源分配给进程,同一进程的所有线程共享该进程的所有资源。 处理机分配给线程,即真正在处理机上运行的是线程。 线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。主要问题:1、第1题,未回答“进程与程序之间的关系”2、第4题“什么事件引起每次显著的状态变迁?”,没有回答“事件” 下述状态变迁因果关系能否发生?为什么?没有回答“原因”3、第6题 什么是进程的互斥和同步?同步的概念不够准确。4、第7题,原题为“什么是临界区和临界资源?进程进入临界区的调度原则是什么?”没有回答“原则”5、第10题“系统中只有一台打印机。”,只说明,没写算法;给出算法,但是没说明信号量mutex6、第11题“判断下列同步问题的算法是否正确”缺少信号量的说明PV操作不匹配,缺少V(empty)操作 PV操作后面没有信号量7、12题没做或者没做完整,如没写算法8、14题,只写一个程序即可9、没留第22题。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!