1、操作系统复习题集及答案操作系统复习题集三、简答题1. 分页存储管理存在的局限性是什么?逻辑地址空间:页是物理单位,共享困难、不便对代码进行分类管理,不能进行动态连接。2. 多道程序系统为什么能提高CPU的利用率?利用了原来CPU空闲等待时间3. 文件的逻辑结构有哪些?一种是无结构的流式文件,是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件;一种是有结构的记录式文件,是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。所有记录通常都是描述一个实体集的,有着相同或不同数目的数据项,记录的长度可分为定长和不定长记录两类。4. 什么是设备独立性?应用程
2、序独立于具体使用的物理设备。设备独立性又称为数据无关性。它指的是应用程序在使用设备进行I/O时,使用的是逻辑设备,而系统在实际执行时使用的是物理设备,由操作系统负责逻辑设备与物理设备的映射。5. 为什么要引入线程,解释一下线程与进程之间的相互关系。因为虽然进程可以提高CPU的利用率,但是进程之间的切换是非常耗费资源和时间的,为了能更进一步的提高操作系统的并发进,引进了线程.这样,进程是分配资源的基本 单位,而线程则是系统调度的基本单位.一个进程内部的线程可以共享该进程的所分配到的资源.线程的创建与撤消,线程之间的切换所占用的资源比进程要少很多.总的来说就是为了更进一步提高系统的并发性,提高CP
3、U的利用率. 线程是进程的基础,进程包含多个线程,是线程的载体。6. 死锁的必要条件是什么?死锁:当某进程提出资源申请后,使得系统中一些进程处于无休止的阻塞状态,在无外力作用下,永远不能再继续前进。产生死锁的必要条件:互斥条件:某段时间内某资源只能由一个进程使用。不剥夺条件:资源在未使用完前,不能被剥夺,由使用进程释放。部分分配(请求和保持):进程因请求资源而阻塞时,对已分配给它的资源保持不放。环路条件:发生死锁时,有向图必构成一环路。7. 什么是虚拟内存?虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个
4、物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。8. 假脱机技术是什么?通过共享设备来模拟独享设备所采用的操作是假脱机操作,即在联机情况下外部设备设备同时操作。所使用的假脱机技术称之为假脱机技术。9. 为银行取款机系统配备的操作系统应归类于什么类型的操作系统?10. 多道程序设计的主要优点是什么?解:多道程序设计是指在主存中同时存放多道用户作业,使它们都处于执行的开始点和结束点之间,这些程序共享计算机系统资源。多道程序设计的主要优点有:(1) 提高CPU的利用率。在多道程序环境下,多个程序共享计算机资源,当某个程序等待I/O操作时,CPU可以执行其他程序,大大提高了CP
5、U的利用率。(2) 提高设备的利用率。在多道程序环境下,多个程序共享系统的设备,大大提高系统设备的利用率。(3)提高系统的吞吐量。在多道程序环境下,减少了程序的等待时间,提高了系统的吞吐量。11. 请为的下面应用环境的计算机选择适合的操作系统。(1)飞机的导航(2)办公室自动化系统(3)航空订票系统(4)复杂的科学计算(5)图书检索系统12. 什么是并发、并行?并发和并行是即相似又有区别的两个概念,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序
6、执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行13什么是临界区?一次仅允许一个进程使用的资源称为临界资源,在进程中对于临界资源访问的程序段称为临界区。14. 引入缓冲的目的是什么?答:(1)缓和外部设备和CPU的速度差异;(2)减少CPU被中断的次数;(3)实现CPU和设备、设备和设备之间的并行操作。15. 设备驱动程序的主要任务是什么?设备驱动程序是请求I/O的进程与设备控制器之间的一个通信程序,主要功能有:将用户的要求转换为具
7、体要求。检查用户的合法性,了解设备状态,根据要求传递参数,设置设备的工作方式。向设备控制器发I/O命令启动设备,完成具体的I/O操作。及时响应外设的中断请求,根据中断类型调用相应的中断处理程序。具有通道的控制系统,还要构造通道程序。四、综合题1. 信号量的PV操作解决进程的同步问题。2. 银行家算法判断系统状态是否安全。3. 分页系统中逻辑地址和物理地址的转换。4. 页面置换算法,主要掌握先进先出、LRU、最佳置换。5. 磁盘调度算法,包括FCFS、短寻道优先、电梯算法、LOOK算法等。6. 进程调度算法,包括FCFS、短任务优先、最短剩余时间优先、时间片轮转等。综合题案例:1.考虑下列进程集
8、,进程占用的CPU区间长度以毫秒来计算:假设在时刻0以进程P1,P2,P3,P4,P5的顺序到达。 a.画出4个Gantt图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片1)算法调度时进程的执行过程。b.在a里每个进程在每种调度算法下的周转时间是多少? c.在a里每个进程在每种调度算法下的等待时间是多少? d.在a里哪一种调度算法的平均等待时间对所有进程而言最小?答:a.甘特图(看教材138页)FCFS:P1P2P3P4P5 0 10 11 13 14 19SJF:P2P4P3P4P5 0 1 2 4 9 19非抢占优先级:P2P5P1P3P4 0 1 6 16
9、17 19 RR: P1P2P3P4P5P1P3P5P1P5P1P5P1P5P1P1P1P1P10 19 b.周转时间FCFSRRSJF非抢占优先级P110191916P211211P3137418P4144219P5191496c.等待时间FCFSRRSJF非抢占优先级P10996P210100P3115216P4133118P514942d.SJF2.考虑一个运行十个I/O限制任务和一个CPU限制任务的系统。假设,I/O限制任务一次分配给一个I/O操作1毫秒的CPU计算,但每个I/O操作的完成需要 10毫秒。同时,假设间接的上下文切换要0.1毫秒,所有的进程都是长进程。对一个RR调度来说,
10、以下情况时CPU的利用率是多少: a.时间片是1毫秒 b.时间片是10毫秒答:a.时间片是1毫秒:不论是哪个进程被调度,这个调度都会为每一次的上下文切换花费一个0.1毫秒的上下文切换。CPU的利用率是1/1.1*100=92%。b.时间片是10毫秒:这I/O限制任务会在使用完1毫秒时间片后进行一次上下文切换。这个时间片要求在所有的进程间都走一遍,因此,10*1.1+10.1(因为每个I / O限定任务执行为1毫秒,然后承担上下文切换的任务,而CPU限制任务的执行10毫秒在承担一个上下文切换之前) 。因此,CPU的利用率是20/21.1*100=94%。3. 考虑下面的一个系统在某一时刻的状态:
11、Allocation Max AvailableA B C D A B C D A B C DP0 0 0 1 2 0 0 1 2 1 5 2 0P1 1 0 0 0 1 7 5 0P2 1 3 5 4 2 3 5 6P3 0 6 3 2 0 6 5 2P4 0 0 1 4 0 6 5 6使用银行家算法回答下面问题:a.Need矩阵的内容是怎样的?b.系统是否处于安全状态?c.如果从进程P1发出一个请求(0 4 2 0),这个请求能否被满足?答:a.Need矩阵的内容是P0(0 0 0 0) P1(0 7 5 0) P2(1 0 0 2) P3(0 0 2 0) P4(0 6 4 0)。b.
12、.系统处于安全状态,因为Available矩阵等于(1 5 2 0),进程P0和P3都可以运行,当进程P3运行完时,它释放它的资源,而允许其它进程运行。c.可以被满足,满足以后,Available矩阵等于(1 1 0 0),当以次序P0,P2, P3, P1 ,P4运行时候,可以完成运行。4. 按顺序给出5个部分的内存,分别是100KB,500KB,200KB,300KB和600KB,用 first-fit,best-fit和worst-fit算法,能够怎样按顺序分配进程212KB,417KB,112KB,426KB和426KB?哪个算法充分利用了内存空间?答:a. First-fit:b.
13、212K is put in 500K partitionc. 417K is put in 600K partitiond. 112K is put in 288K partition (new partition 288K = 500K 212K)e. 426K must waitf. Best-fit:g. 212K is put in 300K partitionh. 417K is put in 500K partitioni. 112K is put in 200K partitionj. 426K is put in 600K partitionk. Worst-fit:l. 2
14、12K is put in 600K partitionm. 417K is put in 500K partitionn. 112K is put in 388K partitiono. 426K must waitBest-fit: 算法充分利用了内存空间。5. 考虑一个分页系统在内存中存储着一张页表。a.如果内存的查询需要200毫秒,那么一个分页内存的查询需要多长时间?b.如果我们加上相关联的寄存器,75%的页表查询可以在相关联的寄存器中找到,那么有效的查询时间是多少?(假设如果入口存在的话,在相关的寄存器中找到页表入口不花费时间)答:a.400毫秒:200毫秒进入页表,200毫秒进入内
15、存中的字 b.有效进入时间=0.75*200毫秒+0.25*400毫秒=250毫秒6. 假设有一个请求调页存储器,页表放在寄存器中:处理一个页错误,当有空的帧或被置换的页设有被修改过时要用8ms,当被置换的页被修改过明用20ms,存储器访问时间为100ns。 假设被置换的页中有70被修改过,有效访问时间不超过200ns时最大可接受的页错误率是多少?答:0.2 sec = (1 P) 0.1 sec + (0.3P) 8 millisec + (0.7P) 20 millisec0.1 = 0.1P + 2400 P + 14000 P0.1= 16,400 PP = 0.0000067. 假设
16、一个请求调页系统具有一个平均访问和传输时间为20ms的分页磁盘。地址转换是通过在主存中的页表来进行的,每次内存访问时间为1s。这样,每个通过页表进行的内存引用都要访问内存两次。为了提高性能,加入一个相关内存,当页表项在相关内存中时,可以减少内存引用的访问次数。 假设80%的访问发生在相关内存中,而且剩下中的10%(总量的2%)会导致页错误。内存的有效访问时间是多少?答: 有效访问时间= (0.8) (1 sec)+ (0.1) (2 sec) + (0.1) (5002 sec)= 501.2 sec 0.5 millisec8. 某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB
17、。试问:(1)逻辑地址的有效位是多少?(2)物理地址需要多少位?(3)假定某时刻系统用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚地址0A5C和093C变换为物理地址。解 (1)程序空间的大小为32KB,因此逻辑地址的有效位数是15位。(2)内存空间的大小是16KB,因此物理地址至少需要14位。(3)当页面为1KB时,虚地址0A5C表示页号为00010,页内地址是1001011100。该页在内存的第4块,即块号为0100,因此0A5C的物理地址是100,即125CH。(4)用同样的方法可以求得,093C的物理地址是113CH。9. 若在一分页存储管理系统中,某作业的页表如
18、下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,3000,5012转化为相应的物理地址(注:此处块号即为页面号)。页号块号01232316解 本题中,为了描述方便,设页号为P,页内位移为W,逻辑地址为A,内存地址为M,页面大小为L,则P=int(A/L)W=A mod L对于逻辑地址1011P=int(1011/1024)=0W=1011 mod 1024=1011A=1101=(0,1101)查页表第0页在第2块,所以物理地址为M=1024*2+1101= 3059。对于逻辑地址为2148P=2148/1024=2W=2148 mod 1024=100A=2148=(2,
19、100)查页表第2页在第1块,所以物理地址为M=1024*1+100=1124。对于逻辑地址为3000P=3000/1024=2W=3000 mod 1024=952A=3000=(2,952)查页表第2页在第1块,所以物理地址为M=1024*1+952=1976对于逻辑地址5012P=5012/1024=4W=5012 mod 1024=916因页号超过页表长度,该逻辑地址非法。10. 某段式存储管理系统中,有一作业的段表(SMT)如下表所示,求逻辑地址0,65,1,55,2,90,3,20对应的主存地址(按十进制)。(其中方括号中的第一个元素为段号,第二个元素为段内地址)段号段长(容量)主
20、存起始地址状态01232005010015060085010001110解 逻辑地址0,65:对应的主存地址为60065665。逻辑地址1,55:因段内地址超过段长,所以产生段地址越界中断。逻辑地址2,90:对应的主存地址为1000901090。逻辑地址3,20:因为状态位为0,即该段在辅存中,所以产生缺段中断。11对页面访问串:1,2,3,4,1,2,5,1,2,3,4,5,指出在驻留集大为3时,使用FIFO、OPT和LRU替换算法的缺页次数。(OPT和LRU如果出现多选项时使用FIFO)答: FIFO: 缺页11次页面号12341251234511144444222522211111333
21、3332555544 OPT: 缺页7次页面号123412512345111111111333222222222443444555555LRU: 缺页10次页面号12341251234511144455533322211111144333222222512.假设一个磁盘驱动器有5000个柱面,从0到4999,驱动器正在为柱面143的一个请求提供服务,且前面的一个服务请求是在柱面125.按FIFO顺序,即将到来的请求队列是 86,1470,913,1774,948,1509,1022,1750,130从现在磁头位置开始,按照下面的磁盘调度算法,要满足队列中即将到来的请求要求磁头总的移动距离(按柱
22、面数计)是多少?a. FCFSb. SSTFc. SCANd. LOOKe. C-SCAN答:a. FCFS的调度是143 , 86 , 1470 , 913 , 1774 , 948 , 1509 , 1022 , 1750 , 130 。总寻求距离是7081 。b. SSTF的调度是143 , 130 , 86 , 913 , 948 , 1022, 1470, 1509, 1750, 1774。总寻求距离是1745。 c. SCAN的调度是143 , 913 , 948 , 1022, 1470, 1509, 1750, 1774 , 4999 , 130 , 86 。总寻求距离是976
23、9 。d. LOOK的调度是143 , 913 , 948 , 1022, 1470, 1509, 1750, 1774, 130 , 86 。总寻求距离是3319 。 e. C-SCAN的调度是143 , 913 , 948 , 1022 , 1470 , 1509 , 1750 , 1774 , 4999 , 86 , 130 。总寻求距离是9813 。f. C-LOOK的调度是143 , 913 , 948 , 1022 , 1470 , 1509 , 1750 , 1774 , 86 , 130 。总寻求距离是3363 。13.假设有两个并发进程P1和P2, 程序代码为 P1: beg
24、in P2: begin A; C; B; D; end end其中,A, B, C和D均为原语。请给出P1和P2两个进程所有可能的执行过程。答:ABCD,ACBD,ACDB,CDAB,CABD,CADB14. 桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘中空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。分析 在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入果盘中。若放入果盘中的是苹果,则允许女儿吃,儿子必须等待;若放入果盘
25、中的是桔子,则允许儿子吃,女儿必须等待。本题实际上是生产者-消费者问题的一种变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。解 在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:int S=1;int Sa=0;int So=0;main( ) cobeginfather();son();daughter();coendfather() while(1) P(S );将水果放入盘中;if (放入的是桔子) V(So);else V(Sa);son( ) while(1) P(So);从盘中取出桔子;V(S);吃桔子; daughter( ) while(1)P(Sa);从盘中取出苹果;V(S);吃苹果;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1