




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
12例题精选 例1.1如何理解虚拟机的概念? 解:一台仅靠由硬件组成的计算机一般被称为裸机,不易使用。操作系统为用户使用计算机提供了许多服务,从而把一台难于使用的裸机改造成了功能更强大、使用更方便的计算机系统,这种计算机系统称为虚拟机。所谓虚拟,是指把一个物理上的实体变为若干个逻辑上的对应物。前者是实际存在的,而后者是虚的,只是用户的一种感觉。在单CPU的计算机系统中能同时运行多道程序,好像每个程序都独享一个CPU,这就是虚拟。在构造操作系统时,把操作系统分成若干层,每层完成特定的功能,从而形成一个虚拟机。下层的虚拟机为上层的虚拟机提供服务,这样逐次扩充以完成操作系统的功能。 讨论 “虚拟”的概念体现在操作系统的方方面面。例如,虚拟存储器,使一台只有4MB内存的计算机可以运行总容量远远超过4 MB的程序;虚拟外设,能够使多个用户同时访问该外设等。 例1.2什么是多道程序设计,它的主要优点是什么? 解: 所谓多道程序设计是指把一个以上的程序存放在内存中,并且同时处于运行状态,这些程序共享CPU和其他计算机资源。其主要优点是: (1)CPU的利用率高:在单道程序环境下,程序独占计算机资源,当程序等待IO操作时CPU空闲,造成CPU资源的浪费。在多道程序环境下,多个程序共享计算机资源,当某个程序等待 IO操作时,CPU可以执行其他程序,这大大地提高 了CPU的利用率。 (2)设备利用率高:在多道程序环境下,内存和外设也由多个程序共享,无疑也会提高内存和外设的利用率。 (3)系统吞吐量大:在多道程序环境下,资源的利用率大幅度提高,减少了程序的等待时间,提高了系统的吞吐量。 讨论 多道程序在计算机中并发地运行是现代计算机系统的重要特征。早期的单道批处理系统与人工操作相比自动化程度大大提高,但系统中仍有较多的空闲资源,系统的性能较差。多遭批处理系统虽有很多优点,但这种系统交互能力差,作业的平均周转时间长。多道程序处理系统要解决的主要问题是,如何使多个程序合理、有序地共事处理机、内存、外设等资源。例1.3 A, B两个程序,程序 A按顺序使用CPU 10 S,使用设备甲 5 S,使用 CPU 5 S,使用设备乙 10 S,最后使用 CPU 10 S。程序 B按顺序使用设备甲 10 S,使用 CPU 10 S,使用设备乙5S,使用CPU 5S,使用设备乙 10S。(忽略调度程序执行时间)试问:(1)在顺序环境下执行程序A和程序B,CPU的利用率是多少?(2)在多道程序环境下, CPU的利用率是多少?解(1)程序A和程序B顺序执行时,程序A执行完毕,程序B才开始执行。两个程序共耗时80S,其中占用CPU时间为40S,顺序执行时CPU的利用率为50。 (2)在多道程序环境下,两个程序并发执行,其执行情况如图所示。可以看出,两个程序共耗时45S,其中占用CPU时间为40S,故此时CPU的利用率为40/45=88.89。讨论 (1)在单道程序环境下,程序顺序执行,CPU被一道程序独占,即使CPU空闲,其他程序也不能使用,所以 CPU的利用率低。 (2)在多道程序环境下,若干个程序宏观上同时执行,微观上交替执行。当其中一个程序由于某种原因(例如进行1O操作)而不能占用CPU时,其他程序就可以占用CPU,提高了CPU的利用率。 (3)在该例中,当程序 A使用完设备甲时,由于 CPU正被程序 B占用,所以程序 A必须等待一段时间(如虚线所示)。同理,当程序B第二次使用完CPU准备使用设备动时,由于此时设备乙正被程序 A占用,所以程序 B也必须等待一段时间(如虚线所示),这时 CPU将空闲(如虚线所示)。例1.4 试述分时系统与实时系统,并比较它们的区别。解: 分时系统是指在一个系统中多个用户分时地使用同一计算机。实时系统是指计算机及时响应外部事件的请求,在规定时限内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地运行。 实时系统与分时系统的主要区别有两点。 (1)分时系统的目标是提供一种通用性很强的系统,有较强的交互能力,而实时系统则大都是具有特殊用途的专用系统,交互能力略差;(2)分时系统对响应时间虽有要求,但一般来说,响应时间由人所能承受的等待时间来确定;而实时系统对响应时间要求更高,一般由控制系统或信息处理系统所能接受的延迟时间来决定。13习题1. 填空题:(1) 当CPU执行操作系统代码时,称处理机处于 (A)执行态(B)目态(C)管态(D)就绪态(2) 在下列性质中,不是分时系统的特征。(A)多路性(B)交互性(C)独占性(D)成批性(3) 下列仅一条指令只能在管态下执行。(A)读取时钟指令(B)访管指令(C)屏蔽中断指令(D)取数指令2. 何谓管态(系统态)和目态(用户态)?3. 一般从哪几方面对操作系统的性能进行评价?4. 试说出几种你所熟悉的操作系统名称,并说明其特征。5. 试列举UNIX操作系统的特点。6. 根据你使用计算机系统的经验,说明操作系统的作用。7. 试说明批处理系统、分时系统和实时系统的主要特征。8. 如何理解网络操作系统的主要功能?9. A,B 两个程序,A按顺序使用CPU 10s, 使用设备甲5s,使用CPU 5s, 使用设备乙 10s, 最后使用CPU 10s; 程序B按顺序使用设备甲10s, 使用CPU 10s, 使用设备乙 5s,使用CPU 5s, 最后使用设备乙 10s。 请问:(1) 在顺序执行程序A和B时,CPU的利用率是多少?(2) 在多道程序环境下执行时,CPU的利用率是多少?例题: 考虑5个进程P1,P2,P3,P4,P5,见表2.1。规定进程的优先数越小,优先级越高。试描述在采用下述几种调度算法时各个进程运行过程,并计算采用每种算法时的进程平均周转时间。假设忽略进程的调度时间。(1)先来先服务调度算法;(2)时间片轮转调度算法(时间片为1ns);进程创建时间运行时间优先数P1033P2265P3441P4652P5824(3)非剥夺式优先级调度等法;(4)剥夺式优先级调度算法。 表2l例25数据表练习题一、 单选题1、 一个进程是_。 (清华大学1996)A 由协处理机执行的一个程序 B 一个独立的程序+数据集C PCB结构与程序和数据的组合 D 一个独立的程序2、 并发进程之间_。A 彼此无关 B 必须同步 C 必须互斥 D 可能需要同步或互斥3、_是进程调度算法。A 时间片轮转法 B 先来先服务 C 响应比高者优先 D 均衡调度算法4、当_时,进程从执行扎转变为就绪状态。 (西北工大 1999)A 进程被调度程序选中 B 时间片到 C 等待某一事件 D 等待的事件发生5、系统中有n(n2)个进程,并且当前没有执行进程调度程序,则_不可能发生。A 有一个运行进程,没有就绪进程,剩下的n-1个进程处于等待状态B 有一个运行进程和n-1个就绪进程,但没有进程处于等待状态C 有一个运行进程和1个就绪进程,剩下的n-2个进程处于等待状态D 没有运行进程但有2个就绪进程,剩下的n-2个进程处于等待状态6、支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中_不是引起操作系统选择新进程的直接原因。 (复旦大学 1999)A 运行进程的时间片用完 B 运行进程出错C 运行进程要等待某一事件的发生 D 有新进程进入就绪状态二、 判断题1、 在剥夺式进程管理方式下,现运行进程的优先级不低于系统中所有进程的优先级。2、 进程是一个独立的运行单位,也是系统进行资源分配和调度的基本单位。3、 程序的并发执行是指同一时刻有两个以上的程序,它们的指令在同一处理器上执行。4、 进程由进程控制块和数据集以及对该数据集进行操作的程序段组成。5、 并发是并行的不同表述,其原理相同。三、 问答题1、 操作系统中为什么要引入进程的概念?为了实现进程的并发运行,操作系统在进程管理方面应做那些工作? (南京大学 1997)2、 试比较进程与程序的区别。 (哈尔滨工业大学 2000)3、 进程与线程的主要区别是什么? (西北工大1999)例:假设某系统中有4种资源(R1,R2,R3,R4),在某时刻系统中共有5个进程。进程P1,P2,P3,P4,P5的最大资源需求数向量和此时已分配到的资源数向量分别为进程当前已分配到资源最大资源需求P1(0,0,1,2)(0,0,1,2)p2(2,0,0,0 )(2,7,5,0 )P3(0,0,3,4)(6,6,5,6)P4(2,3,5,4)(4,3,5,6)P5(0,3,3,2)(0,6,5,2)系统中当前可用资源向量为(2,1,0,0)。问:(1)当前系统是否是安全的?(2)如果进程3已发出资源请求向量(0,1,0,0),系统能否将资源分配给它?解:(1)进程的最大资源需求数减去当前进程已获得的资源数就是进程仍需的资源数。此时各个进程的仍需资源数向量为P1:(0,0,0,0)P2:(0,7,5,0)P3:(6,6,2,2)P4:(2,0,0,2)P5:(0,3,2,0)而系统的可用资源向量为(2,1,0,0),这时存在如下进程执行序列,可以使进程顺利执行完毕,所以该状态是安全的。进程可用资源数P1完成后:(2,1,1, 2)P4完成后:(4,4,6, 6)P5完成后:(4,7,9, 8)P2完成后:(6,7,9, 8)P3完成后:(6,7,12,12)(2)在P3发出资源请求(0,1,0,0)后,假设系统把资源分配给P3,则各进程已分配资源数为P1:(0,0,1,2)P2:(2,0,0,0)P3:(0,1,3,4)P4:(2,3,5,4)P5:(0,3,3,2)这时系统可用资源数为(2,0,0,0),各个进程仍需资源向量为P1:(0,0,0,0)P2:(0,7,5,0)P3:(6,5,2,2)P4:(2,0,0,2)P5:(0,3,2,0)满足资源需求的进程执行序列为进程可用资源数P1完成后:(2,0,1,2)P4完成后:(4,3,6,6)P5完成后:(4,6,9,8)此时可用资源已不能满足P2或P3的需求,即此时系统状态是不安全的,系统将拒绝资源请求。讨论 银行家算法的关键是寻找一个进程的运行序列,如果系统按该序列调度进程运行,系统的可用资源就可以满足它们的需求,这时资源分配是安全的;否则,若该进程序列不存在,则资源分配是不安全的,系统暂不进行资源分配。一、 生产者和消费者问题1、有n个缓冲区,一个生产者和一个消费者情况:main () int S=1; /可否进入缓冲区 int full=0; /产品数目 int empty=n /可用缓冲区数 int buffern; int in=0; /指向下一个可放产品的缓冲区 int out=0; /指向下一个可取产品的缓冲区producer();consumer(); producer()While(生产未结束) produce a product P(empty); P(S); Bufferin= product; in=(in+1)mod n; V(S);V(full); consumer() While(消费未结束) P(full); P(S); Take a product from Bufferout Out=(out+1)mod n; V(S);V(empty); Consume the product2、 m个生产者和k个消费者共享n个缓冲区的情况:main() int Bn; /缓冲区 int p=r=0; /p表示生产者指针, r表示消费者指针 int S=1; /可否进入缓冲区 int full=0; /产品数目 int empty=n; /可用缓冲区数 producer-i(i=1,2,m); consumer-j(j=1,2,k);Producer-i(i=1,2,m) while (producing does not end ) produce a product P(empty); P(S); Bp=product; p=(p+1)mod n; /每放入一个产品,位置指针后移一位 V(S); V(full); Consumer-j(j=1,2,k) while (continue to consume) P(full); P(S); Take a product from Br r=(r+1)mod n; / 从第一个开始,消费一个后,指向下一个 V(S); V(empty); Consume 二、 读者与写者问题1、 读者与写者有相同的优先级的情况: main() int S=1; /读者与写者,写者与写者间的互斥,即可否修改文件 int Sr=1; /可否修改读者个数 int rc=0; /读者个数 reader(); writer();reader() While(读过程未结束)P(Sr); if( rc=0) P(S); rc=rc+1; V(Sr); read file F else rc=rc+1; V(Sr);read file FP(Sr);rc=rc-1;if(rc=0) V(S);V(Sr);writer() While(写过程未结束)P(S); Write file F V(S); 2、写者优先问题:main() int S=1; /读者与写者,写者与写者间的互斥,即可否修改文件 int Sn=n; /最多有n个进程可以同时进行读操作 reader();writer()reader(i) P(S);P(Sn);V(S); Read file F V(Sn); writer(j) P(S) Write file F V(S);例题1、 有一个阅览室,读者进入时必须先在一张登记表上进行登记。该表为每一座位列出一个表目,包括座号、姓名。读者离开时要撤消登记信息。阅览室有100个座位,试问:(1) 为描述读者的动作,应编写几个程序?,应该设置几个进程?进程和程序之间的关系如何?(2) 试用P、V操作描述这些进程之间的同步算法。2、 若系统有某类资源m*n+1个,允许作业执行过程中动态申请该类资源,但在该系统上运行的每一个作业对该类资源的占有量在任一时刻都不会超过m+1个。当作业申请资源时,只要资源尚未分配完,则总能满足它的要求。但用限制系统中可同时执行的作业个数来防止死锁。你认为作业调度允许同时执行的最大作业数应为多少?证明之。3、若系统有同类资源m个,被n个进程共享,试问:当mn和mT时,计算操作比输入操作慢,在此情况下上一块数据计算完成后,仍需将一个缓冲区中的数据送到用户区,其花费时间为M,再对这块数据进行计算,花费时间为C,所以此时一块数据的处理时间为C+M,即max(C,T)+M; 当CT时,输入操作比计算操作慢,在此情况下由于M远小于T,故在将磁盘上的一块数据传送到一个缓冲区期间(花费时间为T),系统已经完成了将另一个缓冲区中数据送到用户区并对这块数据进行计算的工作。所以一块数据的处理时间为T,即max(C,T)。例:在设备管理中,何谓设备独立性(或无关性)? 答:设备独立性又称设备无关性,是指用户程序独立于所使用的具体物理设备。即用户只使用逻辑设备名来访问设备,而不直接和具体设备打交道。它体现在两个方面:(1) 从程序设计的角度来看,各种设备所体现的接口都是一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应链管理风险评估与应对工具
- 服装技工考试题及答案
- 物流规划与成本优化工具介绍
- 春雨中的故事写景作文11篇
- 发酵工程考试题及答案
- 我的好友小李写人作文(12篇)
- 项目资金落实承诺书8篇
- (正式版)DB15∕T 3377-2024 《油莎豆脱脂粉生产加工技术规程》
- 农村生态旅游资源开发合作合同
- (正式版)DB15∕T 3260-2023 《河流湖泊代码》
- 第9课《天上有颗“南仁东星”》课件 2025-2026学年统编版八年级语文上册
- 早读的好处教学课件
- 人教版高一上学期数学(必修一)《1.3集合的基本运算》同步练习题及答案
- 大店童装开业活动方案
- 储冷培训课程
- 神经外科护理质量改善十佳案例
- 体育培训行业合伙协议书
- 农发行退休中人待遇新政
- 食品异物赔偿协议书
- 老年社会支持网络的构建与效果评估-全面剖析
- 学生午托安全管理制度
评论
0/150
提交评论