ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:67.17KB ,
资源ID:23778234      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23778234.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第二章进程和线程.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第二章进程和线程.docx

1、第二章进程和线程1顺序性是指顺序程序所规定的每个动作都在上个动作结束后才开始的特性。2封闭性是指只有程序本身的动作才能改变程序的运行环境。3可再现性是指程序的执行结果与程序运行的速度无关。4进程程序在并发环境中的执行过程。5互斥在逻辑上本来完全独立的进程,由于竞争同一个资源而产生的相互制约的关系。6同步是指进程间共同完成一项任务时直接发生相互作用的关系。也就是说,这些具有伙伴关系的进程在执行次序上必须遵循确定的规律。7临界资源一次仅允许一个进程使用的资源。8临界区在每个进程中访问临界资源的那段程序。9线程线程是进程中实施调度和分派的基本单位。10管程管程是一种高级同步机制,一个管程定义一个数据

2、结构和能为并发进程在其上执行的一组操作,这组操作能使进程同步和改变管程中的数据。11进程控制块进程控制块是进程存在的唯一标识,它保存了系统管理和控制进程所必须的信息,是进程动态特性的集中表现。12原语指操作系统中实现一些具有特定功能的程序段,这些程序段的执行过程是不可分割的,即其执行过程不允许被中断。13就绪态进程已经获得了除cpu之外的全部资源,等待系统分配cpu,一旦获得cpu,进程就可以变为运行态。14运行态正在cpu上执行的进程所处的状态。在单cpu系统中,任何时候最多只能有一个进程处于运行状态。15阻塞态又称等待态,指正在运行的进程因等待某个条件发生而不能运行时所处的状态。处于阻塞态

3、的进程在逻辑上是不能运行的,即使cpu空闲,它也不能占用cpu。16进程通信是指进程间的信息交换。17同步机制同步机构是负责处理进程之间制约关系的机制,即操作系统中负责解决进程之间协调工作的同步关系(直接制约关系),以及共享临界资源的互斥关系(间接制约关系)的执行机构。简答题1在操作系统中为什么要引入进程概念?答: 由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。用程序这个静态的概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入了“进程(Process)”这一概念来描述程序动态执行

4、过程的性质。 进程和程序是两个完全不同的概念。然而,进程与程序之间存在密切关系,进程的功能是通过程序的运行得以实现的,进程活动的主体是程序。进程不能脱离开具体程序而独立存在。 2有人说,一个进程是由伪处理机执行的一个程序,这话对吗?为什么?答:对。 因为伪处理机的概念只有在执行时才存在,它表示多个进程在单处理机上并发执行的一个调度单位。因此,尽管进程是动态概念,是程序的执行过程,但是,在多个进程并行执行时,仍然只有一个进程占据处理机执行,而其他并发进程则处于就绪或等待状态。这些并发进程就相当于由伪处理机执行的程序。 3试比较进程和程序的区别答:(1)进程是一个动态的概念,而程序是一个静态的概念

5、,程序是指令的有序集合,无执行含义,进程则强调执行的过程。 (2)进程具有并行特征(独立性、异步性),程序则没有。 (3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。4进程的基本状态有哪些?试描绘进程状态转换图。答:进程至少有三种基本状态:运行状态、就绪状态和阻塞状态(或等待状态) 。进程状态转换如下图:5并发进程间的制约有哪两种?引起制约的原因是什么?答:并发进程所受的制约有两种:直接制约和间接制约。 直接制约是由并发进程相互共享对方的私有资源所引起的;间接制约是由竞争共有资源而引起的。 6什么是进程间的互斥?什么是进程间同步?答:进程间的互斥是指:一组并发进程中的一个

6、或多个程序段,因共享某一共有资源而导致它们必须以一个不许交叉执行的单位执行,即不允许两个以上的共享该资源的并发进程同时进入临界区。 进程间的同步是指:异步环境下的一组并发进程因直接制约相互发送消息而进行相互合作、相互等待,是各进程按一定的速度执行的过程。7什么是临界区和临界资源?进程进入临界区的调度原则是什么?答:临界资源一次仅允许一个进程使用的资源临界区在每个进程中访问临界资源的那段程序一个进程进入临界区的调度原则是:如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其他所有试图进入临界区的进程必须等待进入临界区

7、的进程要在有限的时间内退出,以便让其他进程能及时进入自己的临界区如果进程不能进入自己的临界区,则应让出cpu,避免进程出现“忙等”现象.8简述信号量的定义和作用。P,V操作原语是如何定义的?答:信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它与相应资源的使用情况有关;另一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的队首。(2分)信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现进程的同步和互斥。(1分)P,V操作原语有如下定义。P(S)顺序执行下述两个动作(1分):信号量的值减1

8、,即S=S-1;如果S=0,则该进程继续执行。如果S0,则该进程继续运行;如果SN begin V(S1); goto L; end /同方向过河的人站满桥墩时,重新申请计数 R=R+1; If R=1 P(S); /申请过河 V(S1); /释放计数器的使用权 (3) 占有一个桥墩,并顺序过河到对岸; P(S1); R=R-1; If R=0 V(S); /如果已经无同向的人过河,释放占用权 V(S1); (3)end. 7在一个飞机订票系统中,多个用户共享一个数据库。各用户可以同时查询信息,若有一个用户要订票,须更新数据库时,其余所有用户都不可以访问数据库。请用P,V操作设计一个同步算法,

9、实现用户查询与订票功能。要求:当一个用户订票而需要更新数据库时,不能因不断有查询者到来而使其长时间等待。利用信号量机制保证其正常执行。解:这是典型的读者写者问题,查询信息的用户是读者,订票用户是写者,并且要求写者优先。(2)变量说明:(2)计数变量rc正在运行的查询者进程数目,初值为0.信号量Sw控制订票者进程的活动,初值为1.Src互斥使用rc变量,初值为1.S当订票者到达时封锁后续的读进程,初值为1.读者进程 P(S)P(Src)rc=rc+1if (rc=1) P(Sw)V(Src)V(S) (2)查询库当中的信息P(Src)rc=rc-1;if (rc=0) V(Sw)V(Src) (

10、2) 写者进程 (2)P(S)P(Sw)更新数据库内容V(Sw)V(S)8某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:(1)用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。(2)根据所定义的信号量,把应执行的PV操作填入下述空格中,以保证进程能够正确地并发执行。COBEGINPROCESSPI(I=1,2,) begin进入售票厅; 购票; 退出; endCOEND(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最

11、小值)。答:(1)定义一信号量S,初始值为20。(1)意义:(3=1*3)S0S的值表示可继续进入售票厅的人数S=0表示售票厅中已有20名顾客(购票者)S0|S|的值为等待进入售票厅的人数(2)上空格为P(S) (2) ;下空格为V(S)(2)(3)S的最大值为20 (1 );S的最小值为20n(1 )9在公共汽车上,司机和售票员各行其职,司机负责开车和到站停车;售票员负责售票和开门关门,当售票员关好车门后,驾驶员才能开车行使。试用P/V操作实现司机与售票员间的同步。解答:semaphore mutex1=0,mutex2=0; (2) main() cobegin driver() busm

12、an()coend (2)driver() while(true) p(mutex1) 启动公共汽车 正常开车 到站停车 v(mutex2) (3)busman() while(true) 关车门 v(mutex1) 售票 p(mutex2) 开车门 上下乘客 (3)10并发问题:设有两个优先级相同的进程p1, p2如下。令信号s1, s2的初值为0,已知z=2,试问p1, p2并发运行结束后x=? y=? z=? 进程p1 进程p2 y := 1 x := 1 y := y+2 x := x+1 v(s1) p(s1) z := y+1 x := x+y p(s2) v(s2) y := z

13、+y z := x+z 解答:(分析过程略 2)从结果来看,两个进程无论谁先谁后,结果都是一样的。(2) x = 5; y = 12; z = 9 (6)11 试用信号量机制来描述下述前趋图 解答:首先定义信号量S12,S13,S14,S26,S36,S47,S57,S38,S78的初值都为0,分别表示相对应的进程是否完成:(2)COBEGIN (8=1*8)Process M1:begin V(S12) V(S13) V(S14) endProcess M2:begin P(S12) V(26) endProcess M3:begin P(S13) V(S36) V(S38) endProc

14、ess M4:begin P(S14) V(S47) endProcess M5:begin V(S57) endProcess M6:begin P(S26) P(S36) endProcess M7:begin P(S47) P(S57) P(S78) endProcess M8:begin P(S38) P(S78) end COEND12 试用信号量机制来描述下述前趋图 解答:首先定义信号量S12,S13,S24,S25,S56,S46,S36的初值都为0,分别表示相对应的进程是否完成(2):COBEGIN (6=1*6)Process M1:begin V(S12) V(S13) e

15、ndProcess M2:begin P(S12) V(24) V(25) endProcess M3:begin P(S13) V(S36) endProcess M4:begin P(S24) V(S46) endProcess M5:begin P(S25) V(S56) endProcess M6:begin P(S36)P(S46) P(S56) end COEND13设系统有三个并发进程R,C,P,共享一个能存放n个数据的环形缓冲区buf。进程R负责从输入设备上读数据,每读一个后把它存放在缓冲区buf的一个单元中;进程C负责从缓冲区读数据并进行处理,之后将处理结果再送入缓冲区的一个

16、单元中;进程P负责从缓冲区读进程C处理的结果并打印。请用P、V操作为三进程的正确执行写出同步算法。解答:解决同步问题需设一个互斥信号量mux,用于控制三个进程互斥使用缓冲区,初值为1;再设三个同步信号量,用于控制对缓冲区的空闲数量和不同数据个数的记录。S0表示缓冲区空闲个数,初值为n;S1表示缓冲区中输入数据的个数,初值为0;S2表示缓冲区中输出数据的个数,初值为0。(4)算法描述如下:(6=2*3) 进程R 进程C 进程P L1: L2: L3:P(S0) P(S1) P(S2)P(mux) P(mux) P(mux)读一个数据 从缓冲区中取一个 从缓冲区中读 送缓冲区 数据处理后放回去 输出数据V(mux) V(mux) V(mux)V(S1) V(S2) V(S0) 打印gotoL1: gotoL2: gotoL3:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1