收藏 分享(赏)

操作系统练习题02898.doc

上传人:dzzj200808 文档编号:2288868 上传时间:2018-09-09 格式:DOC 页数:22 大小:224.25KB
下载 相关 举报
操作系统练习题02898.doc_第1页
第1页 / 共22页
操作系统练习题02898.doc_第2页
第2页 / 共22页
操作系统练习题02898.doc_第3页
第3页 / 共22页
操作系统练习题02898.doc_第4页
第4页 / 共22页
操作系统练习题02898.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、0 操作系统习题与解析第一章什么是操作系统的基本功能? 答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。 2什么是批处理、分时和实时系统?各有什么特征? 答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。 分时系统(timesharingo

2、perationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。 3多道程序(multiprogramming)和多重处理 (multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个 CPU,

3、能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。 4讨论操作系统可以从哪些角度出发,如何把它们统一起来?答:讨论操作系统可以从以下角度出发: (1)操作系统是计算机资源的管理者; (2)操作系统为用户提供使用计算机的界面; (3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。上述这些观点彼此并不矛盾,只不过代表了同一事物(操作系统) 站在不同的角度来看待。每一种观点都有助于理解、分析和设计操作系统。第 2 章 进程控制与同步解 析 题 1. 叙述进程和程序的主要区别。解:进程和程序是既有联系又有区别的两个概

4、念,它们的主要区别如下:(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态概念。(2)程序的存在是永久的。而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。(3)程序仅是指令的有序集合。而进程则由程序、数据和进程控制块组成。( 4) 进 程 与 程 序 之 间 不 是 一 一 对 应 的 , 即 同 一 程 序 同 时 运 行 于 若 干 不 同第 2 章 进程管理 1的 数 据 集 合 上 , 它 将 属 于 若 干 个 不 同 的 进 程 ; 而 一 个 进 程 可 以 执 行多

5、个 程 序 。2. 图 2.7 给出了四个进程合作完成某一任务的前趋图,试说明这四个进程间的同步关系,并用 P、 V 操作描述它。解:说明任务启动后 S1 先执行。当 S1 结束后,S2、S3 可以开始执行。S2、S3 完成后,S4 才能开始执行。为了确保这一执行顺序,设三个同步信号量 b2、b3、b4 分别表示进程 S2、S3 、S4 是否可以开始执行,其初值均为 0。这四个进程的同步描述如下:int b1=; /* 表示进程 S2 是否可以开始执行 */int b2=; /* 表示进程 S3 是否可以开始执行 */int b3=; int b4=; /* 表示进程 S4 是否可以开始执行

6、*/main( )cobeginS1( ) ;S2( ) ;S3( ) ;S4( ) ;coendS1( )v(b1) ;v(b2) ;S2( )p(b1) ;v(b3) ;S3( )p(b2) ;v(b4) ;S4( )p(b3) ;p(b4) ; S1S4S2 S3第 2 章 进程管理 13. 某系统的进程状态转换图如图所示,请说明:(1)引起各种状态转换的典型事件有哪些?(2)当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一进程作一次状态转换。在什么情况下,当一个进程发生转换 3 时能立即引起另一个进程发生转换 1?(3)试说明是否会发生下述因果转换:2 13 2

7、4 1解:(1)在本题所给的进程状态转换图中,存在四种状态转换。当进程调度程序从就绪队列中选取一个进程投入运行时引起转换 1;正在执行的进程如因时间片用完而被暂停执行就会引起转换 2;正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成 I/O)则会引起转换 3;当进程等待的事件发生时(如 I/O 完成)则会引起转换 4。(2)如果就绪队列非空,则一个进程的转换 3 会立即引起另一个进程的转换 1。这是因为一个进程发生转换 3 意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换 3

8、能立即引起另一个进程的转换 1。(3)所谓因果转换指的是有两个转换,一个转换的发生会引起另一个转换的发生,前一个转换称为因,后一个转换称为果,这两个转换称为因果转换。当然这种因果关系并不是什么时候都能发生,而是在一定条件下才会发生。21:当某进程发生转换 2 时,就必然引起另一进程的转换 1。因为当发生转换 2 时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换 1。32:某个进程的转换 3 决不可能引起另一进程发生转换 2。这是因为当前执行阻塞就绪32412 操作系统习题与解析执行进程从执行状态变为阻塞状态,不可能又从执行状态变为就绪状态

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

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

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

12、录从缓冲区 1 复制到缓冲区 2 中;若缓冲区 2 中有数据,则进程 PC 可以打印记录。在其他条件下,相应进程必须等待。事实上,这是一个生产者-消费者问题。为遵循这一同步规则。应设置四个信号量 empty1、empty2、full1、full2,信号缓冲区 1 缓冲区2PA从磁盘读入PB复制 打印PC第 2 章 进程管理 3量 empty1 及 empty2 分别表示缓冲区 1 及缓冲区 2 是否为空,其初值为 1;信号量full1 及 full2 分别表示缓冲区 1 及缓冲区 2 是否有记录可供处理,其初值为 0。其同步描述如下:int empty1=1;int empty2=1; int

13、 full1=0;int full2=0;main( )cobeginPA( ) ;PB( ) ;PC( ) ;coendPA( )while (1)从磁盘读一个记录;p(empty1) ;将记录存入缓冲区 1;v(full1) ;PB( )while(1)p(full1) ;从缓冲区 1 中取出记录;v(empty1) ;p(empty2) ;将记录存入缓冲区 2;v(full2) ;PC( )while(1)p(full2) ;从缓冲区 2 中取出记录;v(empty2) ;4 操作系统习题与解析打印记录;6.有一个仓库,可以存放 A 和 B 两种产品,但要求:(1)每次只能存入一种产品(

14、A 或 B) ;(2)NA 产品数量B 产品数量M。其中,N 和 M 是正整数。试用 P、V 操作描述产品 A 与产品 B 的入库过程。本题给出的第一个条件是临界资源的访问控制,可用一个互斥信号量解决该问题。第二个条件可以分解为:NA 产品数量B 产品数量A 产品数量B 产品数量M也就是说,A 产品的数量不能比 B 产品的数量少 N 个以上,A 产品的数量不能比 B 产 品的数量多 M 个以上。解:在本题中,我们可以设置两个信号量来控制 A、B 产品的存放数量,sa 表示当前允许 A 产品比 B 产品多入库的数量,即在当前库存量和 B 产品不入库的情况下,还可以允许 sa 个 A 产品入库;s

15、b 表示当前允许 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) ;第 2 章 进程管理 5

16、司机正常行车启动车辆到站停车售票员开 车门售票关 车门else /*取的产品是 B*/p(sb) ;p(mutex) ;将产品入库;v(mutex) ;v(pa ) ;从本题的解法可以看出,当有比较复杂条件出现时,可以把复杂条件分解成一组简单条件,这样就能很容易地写出对应的程序流程了。10.公共汽车上,司机和售票员的工作流程如下:为保证乘客的安全,司机和售票员应密切配合协调工作。请用 PV 操作来实现司机和售票员之间的同步。在始发站等待Semaphore S1=0,S2=1Process 司机L1: P(S1)启动行车停车V(S2)Goto L1Process 售票员 L2;P(S2)开门关门

17、V(S1)售票Goto L2 6 操作系统习题与解析在始发站开车门等待Semaphore S1=0,S2=0Process 司机L1: P(S1)启动行车停车V(S2)Goto L1Process 售票员 L2;关门V(S1)售票 P(S2)开门 Goto L2 第 3 章 调度与死锁四、分析题1. 为什么说采用有序资源分配法不会产生死锁?解:为了便于说明,不妨设系统中有 m 类资源,n 个进程,分别用R1,R2,Rm(1,2,m 可看作资源编号)和 P1,P2, Pn 表示。根据有序资源分配法可知,进程申请资源时必须按照资源编号的升序进行,即任何进程在占有了 Ri 类资源后,再申请的资源 R

18、j 的编号 j 一定大于 i。因此在任一时刻,系统中至少存在一个进程 Pk,它占有了较高编号的资源 Rh,且它继续请求的资源必然是空闲的,因而 Pk 可以一直向前推进直至完成,当 Pk 运行完成后即会释放它占有的所有资源;在 Pk 完成之后,剩下的进程集合中同样会存在一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直向前推进直至完成;以此类推,所有进程均可运行完成,故不会发生死锁。2. 有相同类型的 5 个资源被 4 个进程所共享,且每个进程最多需要 2 个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。解:该系统不会由于对这种资源的竞争

19、而产生死锁。因为在最坏情况下,每个进程都需要 2个这样的资源,且每个进程都已申请到了 1 个资源,那么系统中还剩下 1 个可用资源。无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的 2 个资源归还给系统,这就保证了其余三个进程能顺利运行。由此可知,该系统不会由于对这种资源的竞争而产生死锁。3.考虑下列资源分配策略:对资源的申请和释放可以在任何时候进行。如果一个进程提出资源请求时得不到满足,若此时无 由于等待资源而被阻塞的进程,则自己就被阻塞;若此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。

20、如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。例如,考虑一个有 3 类资源的系统,系统所有可用资源为(4,2,2) ,进程 A 申请(2,2,1) ,可满足;进程 B 申请(1,0,1) ,可满足;若 A 再申请(0,0,1) ,则被阻塞。此第 2 章 进程管理 7时,若 C 请求(2,0,0) ,它可以分到剩余资源(1,0,0) ,并从 A 已分到的资源中获得一个资源,于是进程 A 的分配向量变成(1,2,1)而需求向量变成(1,0,1) 。 这种分配策略会导致死锁吗?如果会,请举一个例子;如果不会,请说明产生死锁的哪一个必要条件不成立? 这种分配方式会导致某些进程的无限等

21、待吗?为什么?解:本题所给的资源分配策略不会产生死锁。因为本题给出的分配策略规定若一进程的资源得不到满足,则检查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。从而破坏了产生死锁必要条件中的不剥夺条件,这样系统就不会产生死锁。这种方法会导致某些进程无限期的等待。因为被阻塞进程的资源可以被剥夺,所以被阻塞进程所拥有的资源数量在其被唤醒之前只可能减少。若系统中不断出现其他进程申请资源,这些进程申请的资源与被阻塞进程申请或拥有的资源类型相同且不被阻塞,则系统无法保证被阻塞进程一定能获得所需要的全部资源。例如,本题中的进程 A 申请(2,2,1)后再申请

22、(0,0,1)被阻塞。此后,进程 C 又剥夺了进程 A 的一个资源,使得进程 A 拥有的资源变为(1,2,1) ,其需求向量为(1,0,1) 。之后,若再创建的进程总是只申请第 1 和第 3 类资源,总是占有系统所剩下的第 1 和第 3 类资源的全部且不阻塞,那么进程 A 将会无限期地等待。4.一台计算机有 8 台磁带机。它们由 N 个进程竞争使用,每个进程可能需要 3 台磁带机。请问 N 为多少时,系统没有死锁危险,并说明原因。解:当 N 为 1,2,3 时,系统没有产生死锁的危险。因为,当系统中只有 1 个进程时,它最多需要 3 台磁带机,而系统有 8 台磁带机,其资源数目已足够系统内的

23、1 个进程使用,因此绝不可能发生死锁;当系统中有 2 个进程时,最多需要 6 台磁带机,而系统有 8 台磁带机,其资源数目也足够系统内的 2 个进程使用,因此也不可能发生死锁;当系统中有 3 个进程时,在最坏情况下,每个进程都需要 3 个这样的资源,且假定每个进程都已申请到了 2 个资源,那么系统中还剩下 2 个可用资源,无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的 3 个资源归还给系统,这就保证了其余进程能顺利运行完毕。由此可知,当 N 为 1,2,3 时,该系统不会由于对这种资源的竞争而产生死锁。5.设系

24、统中有 3 种类型的资源(A,B,C)和 5 个进程 P1、P2、P3、P4、P5,A 资源的数量为17,B 资源的数量为 5,C 资源的数量为 20。在 T0时刻系统状态见下表所示。系统采用银行家算法实施死锁避免策略。T0时刻系统状态最大资源需求量 已分配资源数量A B C A B CP1 5 5 9 2 1 2P2 5 3 6 4 0 2P3 4 0 11 4 0 5P4 4 2 5 2 0 4P5 4 2 4 3 1 4剩余资源 A B C2 3 3 T 0时刻是否为安全状态?若是,请给出安全序列。 在 T0时刻若进程 P2 请求资源(0,3,4) ,是否能实施资源分配?为什么? 在的基

25、础上,若进程 P4 请求资源(2,0,1) ,是否能实施资源分配?为什么?8 操作系统习题与解析 在的基础上,若进程 P1 请求资源(0,2,0) ,是否能实施资源分配?为什么?解:由题目所给出的最大资源需求量和已分配资源数量,可以计算出 T0时刻各进程的资源需求量 Need,Need最大资源需求量分配资源数量:资源需求量A B CP1 3 4 7P2 1 3 4P3 0 0 6P4 2 2 1P5 1 1 0 利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全性分析情况:Work Need Allocation Work+Allocation FinishP5 2 3 3 1 1

26、 0 3 1 4 5 4 7 trueP4 5 4 7 2 2 1 2 0 4 7 4 11 trueP3 7 4 11 0 0 6 4 0 5 11 4 16 trueP2 11 4 16 1 3 4 4 0 2 15 4 18 trueP1 15 4 18 3 4 7 2 1 2 17 5 20 true从上述情况分析中可以看出,此时存在一个安全序列P5,P4,P3,P2,P1,故该状态是安全的。 在 T0时刻若进程 P2 请求资源(0,3,4) ,因请求资源数(0,3,4)剩余资源数(2,2,3) ,所以不能分配。 在的基础上,若进程 P4 请求资源(2,0,1) ,按银行家算法进行检查

27、: P4 请求资源(2,0,1) P4 资源需求量(2,2,1) P4 请求资源(2,0,1) 剩余资源数(2,3,3) 试分配并修改相应数据结构,资源分配情况如下:Allocation Need AvailableP1 2 1 2 3 4 7 0 3 2P2 4 0 2 1 3 4P3 4 0 5 0 0 6P4 4 0 5 0 2 0 P5 3 1 4 1 1 0 再利用安全性算法检查系统是否安全,可得此时刻的安全性分析情况:Work Need Allocation Work+Allo FinishP4 0 3 2 0 2 0 4 0 5 4 3 7 trueP5 4 3 7 1 1 0

28、3 1 4 7 4 11 trueP3 7 4 11 0 0 6 4 0 5 11 4 16 trueP2 11 4 16 1 3 4 4 0 2 15 4 18 trueP1 15 4 18 3 4 7 2 1 2 17 5 20 true第 2 章 进程管理 9从上述情况分析中可以看出,此时存在一个安全序列P4,P5,P3,P2,P1,故该状态是安全的,可以立即将 P4 所申请的资源分配给它。 在的基础上,若进程 P1 请求资源(0,2,0) ,按银行家算法进行检查: P1 请求资源(0,2,0) P1 资源需求量(3,4,7) P1 请求资源(0,2,0) 剩余资源数(0,3,2) 试分

29、配并修改相应数据结构,资源分配情况如下:Allocation Need AvailableP1 2 3 2 3 2 7 0 1 2P2 4 0 2 1 3 4P3 4 0 5 0 0 6P4 4 0 5 0 2 0 P5 3 1 4 1 1 0 再利用安全性算法检查系统是否安全,可用资源 Available(0,1,2)已不能满足任何进程的资源需求,故系统进入不安全状态,此时系统不能将资源分配给 P1。6. 若在后备作业队列中等待运行的同时有三个作业 1、2、3,已知它们各自的运行时间为a、b、c,且满足关系 abc,试证明采用短作业优先调度算法能获得最小平均周转时间。解:由于短作业优先调度算

30、法总是在后备作业队列中选择运行时间最短的作业作为调度对象,因此对短作业优先调度算法而言,这三个作业的总周转时间为T1=a(ab)(abc)=3a2bc 若 不 按 短 作 业 优 先 调 度 算 法 来 调 度 这 三 个 作 业 , 不 失 一 般 性 , 假 定 调 度 顺 序 为 2、 1、 3, 则 其总 周 转 时 间 为T2=b(ba)(bac)=3b2ac 式得:T2T1=ba0由此可见,短作业优先调度算法能获得最小平均周转时间。7. 设有 4 道作业,它们的提交时间及执行时间如下:作业号 提交时间 执行时间1 10.0 2.02 10.2 1.03 10.4 0.54 10.5

31、 0.3试计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。 (时间单位:小时,以十进制进行计算。 )解:若采用先来先服务调度算法,则其调度顺序为 1、2、3、4。作业号 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间1 10.0 2.0 10.0 12.0 2.0 1.02 10.2 1.0 12.0 13.0 2.8 2.83 10.4 0.5 13.0 13.5 3.1 6.210 操作系统习题与解析4 10.5 0.3 13.5 13.8 3.3 11.0平均周转时间 T=(2.02.83.13.

32、3)/4=2.8平均带权周转时间 W=(12.86.211)/4=5.25若采用短作业优先调度算法,则其调度顺序为 1、4、3、2。作业号 提交时间 执行时间 开始时间 完成时间 周转时间 带权周转时间1 10.0 2.0 10.0 12.0 2.0 1.04 10.5 0.3 12.0 12.3 1.8 6.03 10.4 0.5 12.3 12.8 2.4 4.82 10.2 1.0 12.8 13.8 3.6 3.6平均周转时间 T=(2.01.82.43.6)/4=2.45平均带权周转时间 W=(1 64.83.6)/4=3.85第 4 章 存 储 管 理解 析 题 1. 已知页面走向

33、为 1、2、1、3、1、2、4、2、1、3、4,且开始执行时主存中没有页面。若只给该作业分配 2 个物理块,当采用 FIFO 页面淘汰算法时缺页率为多少 ? 假定现有一种淘汰算法,该算法淘汰页面的策略为当需要淘汰页面时,就把刚使用过的页面作为淘汰对象,试问就相同的页面走向,其缺页率又为多少?解:根据所给页面走向,采用 FIFO 淘汰算法的页面置换情况如下:页面走向 1 2 1 3 1 2 4 2 1 3 4物理块 1 1 1 3 3 2 2 1 1 4物理块 2 2 2 1 1 4 4 3 3缺页 缺 缺 缺 缺 缺 缺 缺 缺 缺从上述页面置换图可以看出:页面引用次数为 11 次,缺页次数为

34、 9 次,所以缺页率为 9/11。若采用后一种页面淘汰策略,其页面置换情况如下:页面走向 1 2 1 3 1 2 4 2 1 3 4物理块 1 1 1 3 1 1 1 3 4物理块 2 2 2 2 4 2 2 2缺页 缺 缺 缺 缺 缺 缺 缺 缺从上述页面置换图可以看出:页面引用次数为 11 次,缺页次数为 8 次,所以缺页率为 8/11。2. 下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。现有以下作业序列:96K、20K、200K。若用首次适应算法和最佳适应算法来处理这些作业序列,试问哪一种算法可以满足该作业序列的请求,为什么?空闲分区表分区号 大小 起始地址1 32K

35、100K2 10K 150K第 2 章 进程管理 113 5K 200K4 218K 220K5 96K 530K解:若采用最佳适应算法,在申请 96K 存储区时,选中的是 5 号分区,5 号分区大小与申请空间大小一致,应从空闲分区表中删去该表项;接着申请 20K 时,选中 1 号分区,分配后 1 号分区还剩下 12K;最后申请 200K,选中 4 号分区,分配后剩下 18K。显然采用最佳适应算法进行内存分配,可以满足该作业序列的需求。为作业序列分配了内存空间后,空闲分区表如表(a)所示。若采用首次适应算法,在申请 96K 存储区时,选中的是 4 号分区,进行分配后 4 号分区还剩下122K;

36、接着申请 20K,选中 1 号分区,分配后剩下 12K;最后申请 200K,现有的五个分区都无法满足要求,该作业等待。显然采用首次适应算法进行内存分配,无法满足该作业序列的需求。这时的空闲分区表如表(b)所示。分配后的空闲分区表(a)分区号 大小 起始地址1 12K 100K2 10K 150K3 5K 200K4 18K 220K(b)分区号 大小 起始地址1 12K 100K2 10K 150K3 5K 200K4 122K 220K5 96K 530K3. 设有一页式存储管理系统,向用户提供的逻辑地址空间最大为 16 页,每页 2048 字节,内存总共有 8 个存储块,试问逻辑地址至少应

37、为多少位?内存空间有多大?解:本题中,每页 2048 字节,所以页内位移部分地址需要占据 11 个二进制位;逻辑地址空间最大为 16 页,所以页号部分地址需要占据 4 个二进制位。故逻辑地址至少应为 15 位。由于内存共有 8 个存储块,在页式存储管理系统中,存储块大小与页面的大小相等,因此内存空间为 16K。4. 在一个段式存储管理系统中,其段表如下,试求下述逻辑地址对应的物理地址是什么?段号 内存起始地址 段长0 210 5001 2350 202 100 903 1350 5904 1938 9512 操作系统习题与解析段号 段内位移0 4301 102 5003 4004 112本题解

38、答如下:(1)由于第 0 段的内存始址为 210,段长为 500,故逻辑地址0,430是合法地址。逻辑地址0,430对应的物理地址为 210430640 。(2)由于第 1 段的内存始址为 2350,段长为 20,故逻辑地址1,10是合法地址。逻辑地址1,10对应的物理地址为 2350+10=2360 。(3)由于第 2 段起始地址为 100,段长为 90,所给逻辑地址2,500非法。(4)由于第 3 段的内存始址为 1350,段长为 590,故逻辑地址3,400是合法地址。逻辑地址3,400对应的物理地址为 13504001750 。(5)由于第 4 段的内存始址为 1938,段长为 95,

39、所给逻辑地址4,112非法。(6)由于系统中不存在第 5 段,所给逻辑地址5,32非法。5. 若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为 1024 字节,试将逻辑地址 1011,2148,3000,4000,5012 转化为相应的物理地址。页号 块号0 21 32 13 6解:本题中,为了描述方便,设页号为 P,页内位移为 W,逻辑地址为 A,页面大小为 L,则:Pint(A/L)WA mod L 对于逻辑地址 1011Pint(1011/1024)0W1011 mod 10241011查页表第 0 页在第 2 块,所以物理地址为 3059。 对于逻辑地址 2148Pint

40、(2148/1024)2第 2 章 进程管理 13W2148 mod 1024100查页表第 2 页在第 1 块,所以物理地址为 1124。 对于逻辑地址 3000Pint(3000/1024)2W3000 mod 1024952查页表第 2 页在第 1 块,所以物理地址为 1976。 对于逻辑地址 4000Pint(4000/1024)3W4000 mod 1024928查页表第 3 页在第 6 块,所以物理地址为 7072。 对于逻辑地址 5012Pint(5012/1024)4W5012 mod 1024916因页号超过页表长度,该逻辑地址非法。6. 在一分页存储管理系统中,逻辑地址长度

41、为 16 位,页面大小为 4096 字节,现有一逻辑地址为2F6AH ,且第 0、1、2 页依次存放在物理块 5、10、11 中,问相应的物理地址为多少?解:由题目所给条件可知,本页式系统的逻辑地址结构为:页号 P 页内位移 W15 12 11 0逻辑地址 2F6AH 的二进制表示如下:p w0010 111101101010由此可知逻辑地址 2F6AH 的页号为 2,该页存放在第 11 号物理块中,用十六进制表示块号为 B,所以物理地址为 BF6AH。7有一页式存储管理系统,其页表存放在主存中。14 操作系统习题与解析(1)如果对主存的一次存取需要 1.5 微秒,试问实现一次页面访问的存取时

42、间是多少?1.52=3 微秒(2)如果系统加有快表,平均命中率为 85%,当页表项在快表中时,其查找时间忽略为 0,试问此时的存取时间为多少?0.851.5+(1-0.85 )21.5=1.725 微秒8在页式虚存管理系统中,假定驻留集为 m 个页(初始所有页均为空) ,在长为 p 的引用串中具有 n 个不同页号(nm ) ,对于 FIFO、LRU 两种页面置换算法,试给出页故障数的上限和下限,说明理由。并举例说明。解:两种置换算法页故障上限均为 p,下限均为 n。 (请求调入方式) 。例如:m=3,p=12,n=4,有引用串 1、1、1、2、2、3、3、3、4、4、4、4m=3,p=12,n

43、=4,有引用串 2、3、4、1、2、3、4、1、2、3、4、1第六章1. 假脱机系统的基本工作原理是什么?解:假脱机技术主要由输入程序模块和输出程序模块所组成,系统分别为之创建输入进程和输出进程,它们的优先级高于一般用户进程。输入进程负责通过通道将信息从输入设备送到盘区的输入井中,输出进程负责通过通道将信息从盘区的输出井送到输出设备。主机仅和快速存储设备磁盘中的输入井和输出井交换信息,大大提高了信息处理的速率。2. 简述设备分配的过程。解:设备分配程序要用到系统设备表、设备控制表、控制器控制表和通道控制表。设备分配时要考虑到设备的固有属性、分配的算法、防止死锁以及用户程序与实际使用的物理设备无

44、关等特性。设备分配的过程主要是:(1)从系统设备表 SDT 中找到需要的物理设备的设备控制表 DCT;(2)若设备闲,则分配,然后从设备控制表 DCT 中找到控制器控制表指针所指出的控制器控制表 COCT;(3)若控制器闲,则分配,然后从控制器控制表 COCT 中找到通道控制表指针所指出的通道控制表 CHCT;(4)根据通道控制表 CHCT 中的状态信息来判断是否可以启动 I/O 设备传送信息,若闲则可以,若忙则把该进程插入到等待通道的队列中去。3. 有几种 I/O 控制方式?各有何特点?解:I/O 控制方式有四种,即程序直接控制方式、中断控制方式、DMA 方式和通道控制方式。 程序直接控制方

45、式 优点是控制简单,也不需要多少硬件支持。但 CPU 和外设只能串行工作,且 CPU 的大部分时间处于循环测试状态,使 CPU 的利用率大大降低;CPU 在一段时间内只能和一台外设交换数据信息,从而不能实现设备之间的并行工作;由于程序直接控制方式依靠测试设备状态标志来控制数据传送,因此,无法发现和处理因设备或其他硬件所产生的错误。所以,程序直接控制方式只适用于那些 CPU 执行速度较慢且外设较少的系统。 中断控制方式 优点是能实现 CPU 与设备以及设备与设备间的并行操作,CPU 的利用率较第 2 章 进程管理 15程序直接控制方式大大提高。但由于 I/O 控制器的数据缓冲寄存器装满数据后将会

46、发出中断且数据缓冲寄存器通常较小,因此在一次数据传送过程中发生中断次数较多而耗去大量CPU 时间;如果系统中配置的外设数目较多,且都以中断方式进行并行操作,则可能耗去大量 CPU 时间或因 CPU 来不及处理而造成数据丢失。 DMA 方式 与中断方式相比,DMA 方式是在一批数据传送完成后中断 CPU,从而大大减少了 CPU 进行中断处理的次数,且 DMA 方式下的数据传送是在 DMA 控制器控制下完成的。但DMA 方式仍有一定的局限,如对外设的管理和某些操作仍由 CPU 控制,多个 DMA 控制器的使用也不经济。 通道控制方式 通道是一个专管输入/输出控制的处理机。在通道控制方式下,CPU

47、只需发出 I/O 指令,通道就能完成相应的 I/O 操作,并在操作结束时向 CPU 发出中断信号;同时一个通道还能控制多台外设。但是,通道价格较高,从经济的角度出发不宜过多使用。4. 有如下请求磁盘服务的队列,要访问的磁道分别是98、183、37、122、14、124、65、67。现在磁头在 53 道上,若按最短寻道时间优先法,磁头的移动道数是多少?解:最短寻道时间优先法总是让查找时间最短的那个请求先执行,而不考虑请求访问者到来的先后时间。即靠近当前移动臂位置的请求访问者将优先执行。当前磁头在 53 道上,则总的移动道为:12+2+30+23+84+24+2+59=236 65 67 98 1

48、22 124 183 37 1412 2 31 24 2 59 1465. 信息在外存空间的排列方式也会影响存取等待时间。考虑几个逻辑记录 A、B、C、J,它们被存放于磁盘上,每个磁道存放 10 个记录,安排如下:物理块 1 2 3 4 5 6 7 8 9 10逻辑记录 A B C D E F G H I J假定要经常顺序处理这些记录,旋转速度为 20ms/转,处理程序读出每个记录后花 4ms 进行处理,试问:(1)处理的总时间为多少?(2)考虑对信息的分布进行优化,信息分布优化后,处理的总时间为多少?物理块 1 2 3 4 5 6 7 8 9 10逻辑记录 A H E B I F C J G

49、 D解:在本题中,设备旋转速度为 20ms/转,每道存放 10 个记录,因此读出 1 个记录的时间是:20/10=2ms(1)对于第一种记录分布情况,读出并处理记录 A 需要 6ms,则此时读写头已转到了记录 D的开始处,因此为了读出记录 B,必须再转一圈少两个记录(从记录 D 到记录 B) 。后续8 个记录的读取及处理与此相同,但最后一个记录的读取与处理只需 6ms。于是,处理10 个记录的总时间为:9(216)(24)=204ms16 操作系统习题与解析(2)对于第二种记录分布情况,读出并处理记录 A 后,读写头刚好转到记录 B 的开始处,因此立即就可读出并处理,后续记录的读取与处理情况相同。故处理 10 个记

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报