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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

第四章 PV补充练习.docx

1、第四章 PV补充练习1、在操作系统中,P、V操作是一种(D)。A.机器指令 B. 系统调用命令 C.作业控制命令 D.低级进程通信原语2、若信号量S的初值为2,当前值为-1,则表示有(B)个等待进程。A. 0 B. 1 C.2 D.33、当(B)时,进程从执行状态转变为就绪状态。A.进程被调度程序选中 B.时间片到C.等待某一事件 D.等待事件发生4、临界区是(C)A.一个缓冲区 B.一段共享数据区 C. 一段程序 D.一个互斥资源5、如果系统中有n个进程,则就绪队列中进程的个数最多为(C)A.n+1 B.n C.n-1 D.16、进程的基本状态有:执行、就绪和阻塞(等待、挂起).7、进程的基

2、本特征有:动态、并发、独立、异步、结构特征。8、进程是一个程序对某个数据集的一次执行过程。9、程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性10、有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量的取值范围是1-(m-1)1、什么是进程?进程与程序的主要区别是什么? 答:进程,即是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 进程与程序的主要区别是:(1)程序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义,进程是程序在处理机上的一次执行过程,是一个动态概念。(2)程序作为软件资料可长期保存,而进程是有生命

3、期的,因创建而产生、因调度而执行、因得不到资源而暂停、因撤消而消亡。 (3)程序是记录在介质上指令的有序集合,而进程则由程序、数据和进程控制块3 部分组成。 (4)进程与程序之间无一一对应关系。不同的进程可以包含同一程序,同一程序在执行中也可以产生多个进程。(5)进程是一个独立的运行单位,也是系统进行资源分配和调度的独立单位,而程序无此概念。2、什么是线程?线程和进程有什么区别?答:线程有时也称为轻量级进程,它是比进程更小的活动单位,它是进程中的一个执行路径。一个进程可以有多个执行路径即线程。线程和进程的主要区别如下:(1)线程是进程的一个组成部分。一个进程可以有多个线程,而且至少有一个可执行

4、的线程。(2)进程是资源分配的基本单位,它拥有自己的地址空间和各种资源。线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而本身并不具有任何资源。(3)进程的多个线程都在进程的地址空间内活动。这样,在以线程为单位进行处理机调度和切换时,由于不发生资源变化特别是地址空间的变化,因此切换时间较短。而以进程为单位进行处理机调度和切换时,由于涉及到资源转移及现场保护等问题,将导致切换时间变长和资源利用率降低。(4)线程和进程一样,都有自己的状态和相应的同步机制。但是,由于线程没有自己单独的程序和数据空间,因而不能像进程的程序和数据那样交换到外存去。 (5)进程的调度和控制大多由操作系统的内核

5、完成,而线程的控制既可以由操作系统内核完成,也可以由用户控制完成。3、试说明进程互斥、同步和通信三者之间的关系。答:进程的同步与互斥是指进程在推进时的相互制约关系。在多道程序系统中,由于资源共享与进程合作,这种进程间的制约成为可能。为了保证进程的正确运行以及相互合作的进程之间交换信息,需要进程之间的通信。 进程之间的制约关系体现为:进程的同步和互斥。 进程同步:它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系。为进程之间的直接制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。 进程互斥:它主要源于资源共享,是进程之间的间接制约关系。在多道系统中,每次只允许一

6、个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。进程通信是指进程间的信息交换。PV操作作为进程的同步与互斥工具因信息交换量少,效率太低,称为低级通信。而高级通信则以较高的效率传送大批数据。P115 4-9 n个并发进程共用一个公共变量Q,写出用信号灯实现n个进程互斥时的程序描述,给出信号灯值的取值范围,并说明每个取值的物理意义。main()int mutex=1cobegin p1(); p2(); pn();coendpn()p(mutex);csn;v(mutex);p2()p(mutex);cs2;v(mutex);p1()p(mutex);cs1;v(mut

7、ex);对于两个并发进程,互斥信号灯的取值仅取1、0、-1这三个值若mutex=1,表示没有进程进入临界区;若mutex=0,表示有一个进程进入临界区;若mutex=-1,表示有一个进程进入临界区,另一个进程等待进入。P116 4-12如图4.34 所示,get、copy、put 三进程共用两个缓冲区 s、t (其大小为每次存放一个记录)。get 进程负责不断地把输入记录送入缓冲区s 中,copy 进程负责从缓冲区 s 中取出记录复制到缓冲区t 中,而 put 进程负责从缓冲区 t 中取出记录打印。试用P、V 操作实现这三个进程之间的同步,并写出程序描述。 缓冲区s缓冲区tget copy p

8、ut 解:main() int sa=1,sb=0;/ sa 表示缓冲区 s 是否为空,sb 表示是否有数据可被处理。 int ta=1,tb=0;/ ta 表示缓冲区 t 是否为空,tb 表示是否有数据可被处理。 cobegin get; copy; put; coend Get() while(1) P(sa); input data to buffer s; V(sb); Put() while(1) P(tb); output data to buffer s; V(ta); Copy () while(1) P(sb); copy data from buffer s; V(sa);

9、 P(ta); input copy-data to buffer t; V(tb); 6、某车站售票厅,任何时刻最多可容纳 20 名购票者进入,当售票厅中少于 20 名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题: (1) 用 PV 操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。 (2) 根据所定义的信号量,把应执行的 PV 操作填入下述方框中,以保证进程能够正确地并发执行。 COBEGIN PROCESS PI(I=1 ,2, ) begin ; ;进入售票厅; 购票; 退出; ;end ; COEN

10、D (3) 若欲购票者最多为 n 个人,写出信号量可能的变化范围 ( 最大值和最小值 ) 。 (1) 定义一信号量 S ,初始值为 20 。 意义: S0 S 的值表示可继续进入售票厅的人数 S=0 表示售票厅中已有 20 名顾客 ( 购票者 ) S0 |S| 的值为等待进入售票厅的人数 (2) 上框为 P(S) 下框为 V(S) (3)S 的最大值为 20 S 的最小值为 20-n7、假设公共汽车上,司机和售票员的活动分别是:司机:启动车辆、正常行车、到站停车售票员:关车门、售票、开车门在汽车不断的到站、停站、行驶过程中,这两个活动有什么同步关系?用信号量P和V操作实现他们的同步。解:在汽车

11、的行驶过程中,司机活动与售票员活动的同步关系为:售票员关车门后,向司机发开车信号,司机接到开车信号后启动车辆,在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门让乘客上下车。同步要求:先关门,后开车;先停车,后开门因此司机启动车辆的动作必须与售票员关车门的动作取得同步;售票员开车门的动作必须与司机停车动作取得同步。 driver( ); while(true) P(S1); 启动车辆; 正常驾驶; 到站停车; V(S2); busman(); while(true) 关门; V(S1); 售票; P(S2); 开门; 上下乘客;本题中设置两个信号量,S1、S2,其中S1表示是

12、否允许司机启动汽车,初值为0, S2表示是否允许售票员开门,初值为0。这两个活动的同步用P、V原语描述如下:semaphore s1=0;semaphore s2=0;main( ) cobegin driver(); busman(); coend 经典IPC问题变形1、用P、V操作实现下述问题的解。桌子上有一个盘子,可以存放一个水果。父亲总是放苹果到盘子中,母亲是放香蕉在盘子中;一个儿子专门等吃盘中的香蕉,一个女儿专门等吃盘中的苹果。(生产者-消费者 变形)2、哲学家甲请哲学家乙、丙、丁到某处讨论问题,约定全体到齐后开始讨论;在讨论的间隙四位哲学家进餐,每人进餐时都需要使用刀、叉各一把,餐

13、桌上的布置如下。请用信号量及P、V操作说明这四位哲学家的同步、互斥过程。(哲学家进餐 变形) 1、父亲、母亲、儿子、女儿四人共用1个盘子,盘中一次只能放一个水果。当盘为空时,父亲及母亲均可试着将一个水果放入盘中,但一次只能有一个人成功放入。若盘中是香蕉,则允许儿子吃,女儿必须等待;若盘中是苹果,则允许女儿吃,儿子必须等待。设置3个信号量,dish 表示盘子是否为空,初值为1,apple表示盘中是否有苹果,初值为0,banana表示盘中是否为香蕉,初值为0,进程同步描述如下:semaphore dish=1;semaphore apple=0;semaphore banana=0;main()c

14、obeginfather();mother();son();daughter();coenddaughter()while(1)P(apple);从盘中取出苹果;V(dish);吃苹果son()while(1)P(banana);从盘中取出香蕉;V(dish);吃香蕉;father()while(1)P(dish);将苹果放人盘中;V(apple);mother()while(1)P(dish);将香蕉放人盘中;V(banana);2、四位哲学家讨论问题期间的生活方式为交替的进行讨论和进餐。由于刀和叉的资源均为2,而哲学家有四位,肯定会出现资源竞争,为此应对他们的进餐进行同步控制。假设解决方案

15、为:所有哲学家先申请使用刀,申请到刀的再申请使用叉,刀和叉都拿到后才能进餐。设置4个信号量fork1、fork2、knife1、knife2,初值均为1,分别表示叉1、叉2、刀1、刀2是否可用。semaphore fork1=1;semaphore fork2=1;semaphore knife1=1;semaphore knife2=1;main()cobeginpa(); /用进程pa、pb、pc、pd分别代表哲学家甲、乙、丙、丁的活动pb();pc();pd();coendpd()while (1)p(knife1);p(fork2);进餐;v(knife1);v(fork2);讨论问题;pc()while (1)p(knife2);p(fork2);进餐;v(knife2);v(fork2);讨论问题;pb()while (1)p(knife2);p(fork1);进餐;v(knife2);v(fork1);讨论问题;pa()while (1)p(knife1);p(fork1);进餐;v(knife1);v(fork1);讨论问题;

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

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