




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序ACPU 20msIO2 30msCPU 30msIO2 20msCPU 30msIO1 20ms程序BIO2 30msCPU 30msIO1 40msCPU 30msIO1 20ms程序CIO1 20msCPU 50msIO1 30msCPU 20msIO2 30ms习题1.413014015017018011010090200306070单位:msCPU XCPU YI/O1程序A程序B程序CI/O2假定在具有2个CPU为X和Y的多机系统中,以多道程序设计方式,按如下条件执行上述3个程序,条件如下:(1)X和Y运算速度相同,整个系统可以同时执行2个程序,并且在并行处理程序时速度也不下降。(2)X的优先级比Y高,即当X、Y均能执行程序时,由X去执行。(3)当多个程序同时请求CPU或I/O设备时,按程序A、B、C的次序分配所请求的资源。(4)除非请求输入输出,否则执行中的程序不会被打断,也不会把控制转给别的CPU。而且因输入输出而中断的程序再重新执行时,不一定仍在同一CPU上执行。(5)控制程序的介入时间可忽略不计。(6)程序A、B、C同时开始执行。求:(1)程序A、B、C同时开始执行到执行完毕为止的时间。(2)X和Y的使用时间。由上图可以看出(1)A 170ms B 150ms C 180ms(2)X的使用时间 120ms Y的使用时间 90ms习题3.41)引起各种状态转换的典型原因有哪些?运行态就绪态 时间片到或被更高优先级的进程抢占就绪态运行态 被调度运行态阻塞态 等待某一事件的发生而事件未发生阻塞态就绪态 等待的事件已发生 2)当观察系统中某些进程时,能够看到某一进程的一次状态转换能引起另一个进程的一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换2?就绪队列中只有一个进程3)如图315,说明是否会发生下述因果转换:21 会,在抢占式调度的情况下,更高优先级的进程到达,或时间片到32 会,一个正在运行的进程因等待某一事件的发生而转入阻塞态,而就绪队列中有进程在等待运行41 不会 (3)挂起状态和阻塞状态有何区别?在具有挂起操作的系统中,进程的状态有哪些?如何变迁?被挂起进程处于静止状态,不能参与竞争CPU,直到被激活,但被挂起进程可能并不缺少资源;而阻塞进程是由于等待某一事件的发生,处于缺乏资源的状态。(4)在创建一个进程时需要完成的主要工作是什么?在撤消一个进程时需要完成的主要工作又是什么?创建进程的主要工作是为被创建进程创建一个PCB,并填入相应的初始值。并把该进程插入就绪队列。撤消该进程的所有子孙进程。在撤消的过程中,被撤消进程的所有系统资源(内存、外设)应全部释放出来归还给系统,并将它们从所有队列中移出。如果被撤消进程正在处理器上运行,则要调用进程调度程序将处理器分配给其它进程。习题4.55应用题(1)有三个并发进程R、W1和W2,共享两个各可存放一个数的缓冲区B1、B2。进程R每次从输入设备读入一个数,若读入的是奇数,则将它存入B1中,若读入的是偶数,将它存入B2中;当B1中有数,由进程W1将其打印输出;当B2中有数,进程W2将其打印输出。试编写保证三者正确工作的程序。struct semaphone B1_Empty, B1_Full, B2_Empty, B2_Full;B1_Empty.value=1;B1_Full.value=0;B2_Empty.value=1;B2_Full.value=0;void R( )int a;While(1)read a number a;if (a%2)wait(B1_Empty);put a in B1;signal(B1_Full);elsewait(B2_Empty);put a in B2;signal(B2_Full);void W1( )while(1)wait(B1_Full);print a number from B1;signal(B1_Empty);void W2( )while(1)wait(B2_Full);print a number from B2;signal(B2_Empty);void main( )parbegin(R, W1, W2);(4)桌上有一空盘,可放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子;儿子专等吃盘中的桔子;女儿专等吃盘中的苹果。规定一次只能放一只水果,试写出爸爸、儿子、女儿正确同步的程序。 struct semaphone plate, apple, orange;plate.value=1;apple.value=0;orange.value=0;void father( )while(1)prepare an apple or orange;wait(plate);put the apple or orange in plate;if(放入的是Apple) signal(apple); /如果放的是苹果else signal(orange); /如果放的是桔子void son( )while(1)wait(orange);get an orange from the plate;signal(plate);void daughter( )while(1)wait(apple);get an apple from the plate;signal(plate);Void main( ) parbegin(father, son, daughter); 互斥与同步区别:互斥是为了保证资源一次只能由一个进程使用;而同步是为了实现进程通信,即传递资源当前的状态是否适合另一个进程进行使用。(5)三个进程P1、P2、P3互斥使用一个包含N(N0)个单元的缓冲区。P1每次用prodcuce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述(2009年全国硕士研究生入学考试题)。定义信号量full_odd控制P1与P2之间的同步;full_even控制P1与P3之间的同步;empty控制生产者与消费者之间的同步(是否可生产);mutex控制进程间互斥使用缓冲区。struct semaphone full_odd, full_even, mutex, empty;full_odd.value=0;full_even.value=0;mutex.value=1;empty.value=N;void P1( )int x;while(1)x=produce( );wait(empty);wait(mutex);put( );if(x%2=0) signal(full_even);else signal(full_odd);signal(mutex);void P2( )wait(full_odd);wait(mutex);getodd( );countodd( )=countodd( )+1;signal(empty);signal(mutex);void P3( )wait(full_even);wait(mutex);geteven( );counteven( )=counteven( )+1;signal(empty);signal(mutex);void main( )parbegin(P1( ), P2( ), P3( );习题5.33.61 时间片轮转调度算法:这是一种常用于分时系统的调度算法,它只能适用于一般实时信息处理系统,而不能用于实时要求严格的实时控制系统。2 非抢占的优先级调度算法:常用于多道批处理系统的调度算法,也可用于实时要求不太严格的实时控制系统。3 基于时钟中断抢占的优先级调度算法:用于大多数的实时系统中。 4 立即抢占的优先级调度算法:这种算法适用于实时要求比较严格的实时控制系统。4应用题(1)考虑5个进程P1、P2、P3、P4、P5,它们的创建时间、运行时间及优先数如下表所示。规定进程的优先数越小,优先级越高。试描述在采用下述几种调度算法时各个进程运行过程,并计算采用每种算法时的进程平均周转时间。假设忽略进程的调度时间。1)先来先服务调度算法;2)时间片轮转调度算法(时间片为1ms);3)非剥夺式优先级调度算法;4)剥夺式优先级调度算法。 进程创建时间运行时间(ms)优先数P1033P2265P3441P4652P58241)先来先服务调度算法作业号进入时间运行时间(ms)开始执行时间完成时间周转时间P103033P226397P3449139P465131812P582182012平均周转时间T(3+7+9+12+12)/ 5=8.6ms平均带权周转时间W=(3/3+7/6+9/4+12/5+12/2) / 5=2.562)时间片轮转调度算法当时间片q=1时,列出下表,找出运行序列: 时刻运行进程排队进程时刻运行进程排队进程01P11011P5P4 P3 P212P11112P4P3 P2 P523P2P11213P3P2 P5 P434P1P21314P2P5 P4 P345P2P31415P5P4 P3 P256P3P21516P4P3 P267P2P4 P31617P3P2 P478P4P3 P21718P2P489P3P2 P5 P41819P4910P2P5 P4 P31920P4作业号进入时间运行时间完成时间周转时间P10344P2261816P3441713P4652014P582157平均周转时间T(4+16+13+14+7)/ 5=10.8ms平均带权周转时间W=(4/3+16/6+13/4+14/5+7/2) / 5=2.153) 非剥夺式优先级调度算法作业号进入时间运行时间优先数完成时间周转时间P103333P226597P3441139P46521812P58242012平均周转时间T(3+7+9+12+12)/ 5=8.6ms平均带权周转时间W=(3/3+7/6+9/4+12/5+12/2) / 5=2.562015138430P1P2P3P4P54)剥夺式优先级调度算法作业号进入时间运行时间优先数完成时间周转时间P103333P22652018P344184P4652137P5824157平均周转时间T(3+18+4+7+7)/ 5=7.8ms平均带权周转时间W=(3/3+18/6+4/4+7/5+7/2) / 5=1.989有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的剥夺式调度算法。下表所示为作业序列,作业优先数即为进程优先数,优先数越小优先级越高。进程到达时间估
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中信银行呼和浩特市新城区2025秋招笔试英文行测高频题含答案
- 农发行梅州市五华县2025秋招笔试行测高频题及答案
- 2025年内江市市本级部分事业单位考核招聘35人(第二批)的笔试备考题库带答案详解
- 光大银行南宁市西乡塘区2025秋招结构化面试15问及话术
- 中信银行宜昌市夷陵区2025秋招半结构化面试15问及话术
- 兴业银行青岛市莱西市2025秋招笔试英语题专练及答案
- 农发行黄冈市罗田县2025秋招笔试价值观测评题专练及答案
- 2023年度工程硕士考试彩蛋押题附完整答案详解(考点梳理)
- 2024-2025学年度公务员考试《常识》每日一练试卷附答案详解(黄金题型)
- 光大银行成都市成华区2025秋招笔试行测高频题及答案
- 医疗器械配送应急预案模板(3篇)
- DB65-T 4803-2024 冰川厚度测量技术规范
- 护理专业新进展介绍
- 大疆无人机培训课件
- 中级消防员维保培训课件
- 小儿推拿进修总结汇报
- 2025公司应急预案演练计划(5篇)
- 医疗机构医院全员培训制度
- 2025仓库保管员试题及答案
- 生猪养殖场实施方案
- 矛盾纠纷化解培训课件
评论
0/150
提交评论