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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

操作系统复习资料习题 4.docx

1、操作系统复习资料习题 4 第2章 进程控制与同步一、单项选择题1. 在进程管理中,当_时,进程从阻塞状态变为就绪状态。A. 进程被进程调度程序选中 B. 等待某一事件C. 等待的事件发生 D. 时间片用完2. 分配到必要的资源并获得处理机时的进程状态是_。A. 就绪状态 B. 执行状态C. 阻塞状态 D. 撤消状态3. P、V操作是_。A. 两条低级进程通信原语 B. 两组不同的机器指令C. 两条系统调用命令 D. 两条高级进程通信原语4. 进程的并发执行是指若干个进程_。A.同时执行 B.在执行的时间上是重叠的C.在执行的时间上是不可重叠的 D.共享系统资源5. 若P、V操作的信号量S初值为

2、2,当前值为1,则表示有_等待进程。A. 0个 B. 1个 C. 2个 D. 3个6. 进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是 D ;由运行状态变为阻塞状态的条件是 B 。A. 时间片用完 B. 等待某事件发生 C. 等待的某事件已发生 D. 被进程调度程序选中7. 下列的进程状态变化中,_变化是不可能发生的。A. 运行就绪 B. 运行等待 C. 等待运行 D. 等待就绪 8. 用P、V操作管理临界区时,信号量的初值应定义为_。A. 1 B. 0 C. 1 D. 任意值9. 用V操作唤醒一个等待进程时,被唤醒进程的状态变为_。A. 等待 B. 就绪 C.

3、 运行 D. 完成10. 下面对进程的描述中,错误的是_。A. 进程是动态的概念 B. 进程执行需要处理机C. 进程是有生命期的 D. 进程是指令的集合11. 进程控制就是对系统中的进程实施有效的管理,通过使用_、进程撤消、进程阻塞、进程唤酲等进程控制原语实现。A. 进程运行 B. 进程管理C. 进程创建 D. 进程同步12. 信箱通信是一种_通信方式。A. 直接通信 B. 间接通信C. 低级通信 D. 信号量13. 操作系统通过_对进程进行管理。A. JCB B. PCB C. DCT D. CHCT14. 某系统的进程状态如下图所示:a是 B 状态,b是 D 状态,c是 C 状态。1表示

4、B ,2表示 A ,3表示发生了等待事件,4表示等待事件结束。下列情况中,当发生前者的状态转换时, AB 会导致发生后者的状态转换。:A. 挂起 B. 运行 C. 等待 D. 就绪 E. 睡眠: A. 落选 B. 选中 C. 等待 : A. 21 B. 4215. 在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次_。A. 等待活动 B. 运行活动C. 单独操作 D. 关联操作16. 一个进程被唤醒意味着_。A. 该进程重新占有了CPU B. 它的优先权变为最大C. 其PCB移至等待队列队首 D. 进程变为就绪状态17. 下面所述步骤中,_不是创建进程所必需的。A.由调度程序为

5、进程分配CPU B.建立一个进程控制块C.为进程分配内存 D. 将进程控制块链入就绪队列18. 多道程序环境下,操作系统分配资源以_为基本单位。A. 程序 B. 指令 C. 进程 D. 作业19. 对于两个并发进程,设互斥信号量为mutex,若mutex=0,则_。A. 表示没有进程进入临界区B. 表示有一个进程进入临界区C. 表示有一个进程进入临界区,另一个进程等待进入D. 表示有两个进程进入临界区二、填空题1. 进程的基本特征有 动态 、 并发 、独立、异步及结构特征。2. 信号量的物理意义是当信号量值大于零时表示 有资源可用 ;当信号量值小于零时,其绝对值为 等待资源的进程个数 。3.

6、临界资源的概念是 一段时间内只允许一个进程使用的资源 ,而临界区是指 使用临界资源的代码 。4. 进程在运行过程中有三种基本状态,它们是 、 、 。5. 进程主要由 PCB 、 代码段 、 数据段 三部分内容组成,其中 PCB 是进程存在的惟一标志。而 代码段 部分也可以为其他进程共享。6. 系统中各进程之间逻辑上的相互制约关系称为_同步_。7. 对于信号量可以做 操作和 操作, P 操作用于阻塞进程, V 操作用于释放进程。程序中的 P 和 V 操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。8. 程序顺序执行时有顺序性、_封闭性_和可再现性的特点。9. 有m个进程共享同一临界

7、资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是_11-m_。10. 设系统中有n(n2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况: 没有运行进程,有2个就绪进程,n-2个进程处于等待状态。 有1个运行进程,没有就绪进程,n1进程处于等待状态。 有1个运行进程,有个就绪进程,n2进程处于等待状态。 有1个运行进程,n1个就绪进程,没有进程处于等待状态。上述情况中,不可能发生的情况是_。11. 下面关于进程的叙述不正确的是_。 进程申请CPU得不到满足时,其状态变为等待状态。 在单CPU系统中,任一时刻有一个进程处于运行状态。 优先级是进行进程调度的重要依据,

8、一旦确定不能改变。 进程获得处理机而运行是通过调度而实现的。12. 信箱逻辑上分成 信箱头 和 信箱体 两部分。 信箱头 中存放有关信箱的描述。 信箱体 由若干格子组成,每格存放一信件,格子的数目和大小在创建信箱时确定。13. 在操作系统中引入线程概念的主要目的是 _减少进程调度的时空开销和提高系统的并发性_ 。解 析 题 1. 叙述进程和程序的主要区别。解:进程和程序是既有联系又有区别的两个概念,它们的主要区别如下:(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态概念。(2)程序的存在是永久的。而进程则是有生命期的,

9、它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。(3)程序仅是指令的有序集合。而进程则由程序、数据和进程控制块组成。(4)进程与程序之间不是一一对应的,即同一程序同时运行于若干不同的数据集合上,它将属于若干个不同的进程;而一个进程可以执行多个程序。2. 图2.7给出了四个进程合作完成某一任务的前趋图,试说明这四个进程间的同步关系,并用P、V操作描述它。解:说明任务启动后S1先执行。当S1结束后,S2、S3可以开始执行。S2、S3完成后,S4才能开始执行。为了确保这一执行顺序,设三个同步信号量b2、b3、b4分别表示进程S2、S3、S4是否可以开始执行,其初值均为0。这四个进程的

10、同步描述如下:int b2=; /* 表示进程S2是否可以开始执行 */int b3=; /* 表示进程S3是否可以开始执行 */int b4=; /* 表示进程S4是否可以开始执行 */main( ) cobegin S1( ); S2( ); S3( ); S4( ); coendS1( ) v(b2); v(b3);S2( ) p(b2); v(b4); S3( ) p(b3); v(b4);S4( ) p(b4); p(b4); 3. 某系统的进程状态转换图如图所示,请说明:(1)引起各种状态转换的典型事件有哪些?(2)当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引

11、起另一进程作一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换1?(3)试说明是否会发生下述因果转换:2 13 24 1解:(1)在本题所给的进程状态转换图中,存在四种状态转换。当进程调度程序从就绪队列中选取一个进程投入运行时引起转换1;正在执行的进程如因时间片用完而被暂停执行就会引起转换2;正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成I/O)则会引起转换3;当进程等待的事件发生时(如I/O完成)则会引起转换4。(2)如果就绪队列非空,则一个进程的转换3会立即引起另一个进程的转换1。这是因为一个进程发生转换3意味着正在执行的进程由执行状态变为阻塞状态

12、,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3能立即引起另一个进程的转换1。(3)所谓因果转换指的是有两个转换,一个转换的发生会引起另一个转换的发生,前一个转换称为因,后一个转换称为果,这两个转换称为因果转换。当然这种因果关系并不是什么时候都能发生,而是在一定条件下才会发生。21:当某进程发生转换2时,就必然引起另一进程的转换1。因为当发生转换2时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换1。32:某个进程的转换3决不可能引起另一进程发生转换2。这是因为当前执行进程从

13、执行状态变为阻塞状态,不可能又从执行状态变为就绪状态。41:当处理机空闲且就绪队列为空时,某一进程的转换4就会引起该进程的转换1。因为此时处理机空闲,一旦某个进程发生转换4,就意味着有一个进程从阻塞状态变为就绪状态,因而调度程序就会将就绪队列中的此进程投入运行。4. 在单处理机的分时系统中,分配给进程P的时间片用完后,系统进行切换,结果调度到的仍然是进程P。有可能出现上述情形吗?如果可能请说明理由。解:有可能出现上述情况。例如,若在进程P时间片用完后,被迫回到就绪队列时,就绪队列为空,这样进程P就是就绪队列中惟一的一个进程,于是调度程序选中的进程必然是进程P;又如在按优先级调度的系统中,就绪队

14、列按进程优先级排列,在进程P时间片用完之后回到就绪队列时,若其优先级高于当前就绪队列中的其他进程,则它将排在就绪队列之首,从而再次被调度程序选中并投入运行。5.(北京大学1990年试题) 写出P、V操作的定义。 有三个进程PA、PB和PC合作解决文件打印问题:PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小等于一个记录大小。请用P、V操作来保证文件的正确打印。解: P、V操作是两条原语,它们的定义如下:P操作 P操作记为P(S),其中S为一信号量,它执行时

15、主要完成下述动作:S = S1若S0,则进程继续运行。若S0,则该进程被阻塞,并将它插入该信号量的等待队列中。V操作 V操作记为V(S),S为一信号量,它执行时主要完成下述动作:S = S1若S0,则进程继续执行。若S0,则从信号量等待队列中移出队首进程,使其变为就绪状态。 在本题中,进程PA、PB、PC之间的关系为:PA与PB共用一个单缓冲区,而PB又与PC共用一个单缓冲区,其合作方式可用图2.12表示。当缓冲区1为空时,进程PA可将一个记录读入其中;若缓冲区1中有数据且缓冲区2为空,则进程PB可将记录从缓冲区1复制到缓冲区2中;若缓冲区2中有数据,则进程PC可以打印记录。在其他条件下,相应

16、进程必须等待。事实上,这是一个生产者-消费者问题。为遵循这一同步规则。应设置四个信号量empty1、empty2、full1、full2,信号量empty1及empty2分别表示缓冲区1及缓冲区2是否为空,其初值为1;信号量full1及full2分别表示缓冲区1及缓冲区2是否有记录可供处理,其初值为0。其同步描述如下:int empty1=1;int empty2=1; int full1=0;int full2=0;main( ) cobegin PA( ); PB( ); PC( ); coendPA( ) while (1) 从磁盘读一个记录; p(empty1); 将记录存入缓冲区1;

17、 v(full1); PB( ) while(1) p(full1); 从缓冲区1中取出记录; v(empty1); p(empty2); 将记录存入缓冲区2; v(full2); PC( ) while(1) p(full2); 从缓冲区2中取出记录; v(empty2); 打印记录; 6.有一个仓库,可以存放A和B两种产品,但要求:(1)每次只能存入一种产品(A或B);(2)NA产品数量B产品数量M。其中,N和M是正整数。试用P、V操作描述产品A与产品B的入库过程。 本题给出的第一个条件是临界资源的访问控制,可用一个互斥信号量解决该问题。第二个条件可以分解为:NA产品数量B产品数量A产品数

18、量B产品数量M也就是说,A产品的数量不能比B产品的数量少N个以上,A产品的数量不能比B产品的数量多M个以上。解:在本题中,我们可以设置两个信号量来控制A、B产品的存放数量,sa表示当前允许A产品比B产品多入库的数量,即在当前库存量和B产品不入库的情况下,还可以允许sa个A产品入库;sb表示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还可以允许sb个B产品入库。初始时,sa为M1,sb为N1。当往库中存放入一个A产品时,则允许存入B产品的数量也增加1;当往库中存放入一个B产品时,则允许存入A产品的数量也增加1。产品A、B的入库过程描述如下:int mutex=1; /*互斥信号量*/int sa=M1; int sb=N1;main( ) while(1) 取一个产品; if(取的是A产品) p(sa); p(mutex); 将产品入库; v(mutex); v(sb); else /*取的产品是B*/ p(sb); p(mutex); 将产品入库; v(mutex); v(pa); 从本题的解法可以看出,当有比较复杂条件出现时,可以把复杂条件分解成一组简单条件,这样就能很容易地写出对应的程序流程了。

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

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