资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第一章 操作系统引论,*,1,、当,CPU,执行操作系统代码时,称处理机处于()。,A,自由态,B,目态,C,管态,D,就绪态,2,、从目态到管态的转换是由()完成的。,A,硬件,B,管态程序,C,用户程序,D,中断处理程序,解释:从目态到管态的转换是执行访管指令,引起一次中断,触发中断后,硬件中断机制将计算机状态置为管态。管态程序是指在管态下执行的程序。,3,、操作系统提供给应用程序的接口是()。,C,A,系统调用,1,4,、简述中断处理过程。,答:当中断发生时,一旦,CPU,响应中断,系统就开始进行中断处理,中断处理过程如下:,(,1,)保护被中断进程的现场,为了在中断处理程序结束后能使进程正确的返回到中断点,系统必须保存当前处理机的状态字(,PSW,)和程序计数器(,PC,)等的值。,(,2,)分析中断原因,转去执行相应的中断处理程序,在多个中断请求同时发生时,处理优先级最高的中断源发出的中断请求。,(,3,)恢复被中断进程的现场,,CPU,继续执行原来被中断的进程。,2,5,、简述系统调用的实现过程。,答:系统调用的一般处理过程如下:,(,1,)系统产生软中断,由硬件完成现场保护,并通过中断向量转向系统调用总控程序,同时处理机状态由用户态切换到核心态。,(,2,)系统调用总控程序根据系统调用号和系统内部的系统调用入口转入相应的系统调用处理过程。,(,3,)系统调用处理程序执行完毕后,返回执行成功与否以及成功时的执行结果给调用者,恢复中断进程或新调度进程的,CPU,现场,返回被中断进程或新进程运行。,3,1,、进程与程序的关系和区别是什么?,答:进程就是可并发执行的程序在一数据集合上的一次执行过程。,进程和程序的区别主要体现在:,1,)进程是动态的,具有一定的生命周期,而程序是静态的;,2,)进程可并发执行,而没有创建进程的程序是不能执行的;,3,)进程是操作系统中申请和分配资源的基本单位,而没有创建进程的程序是不能申请资源的;,4,)进程包括程序、数据和进程控制块;,5,)同一程序的多次执行对应多个进程。,4,3,、什么是操作系统?从资源管理的角度来看,,OS,的主要功能是什么?现代,OS,的四大主要特征是什么?,答:从资源管理的角度来看,,OS,的主要功能是控制和管理计算机中的软硬件资源。现代,OS,的,4,大主要特征是:并发、共享、虚拟和不确定性。,5,4,、什么叫重定位?动态重定位和静态重定位有什么区别?,答:使一个作业程序装入到与其地址空间不一致的存储空间所引起的对有关地址部分的调整过程叫重定位。,静态重定位是由作业装入程序在装入程序时一次性集中完成的,而动态重定位是由专用硬件地址变换机构在程序执行中随着指令的执行动态完成的。,6,7,、请详细说明请求分页系统的地址变换过程。,答:请求分页系统的地址变换过程如下:(图略去),1,)取逻辑地址分解为页号,P,和页内偏移,w;,2),根据页号查找页表,获得该页的描述信息;,3,)若该页中断位为,1,,产生缺页中断;,4,)更新该页的描述信息;,5,)根据页块号和页内偏移,w,,计算物理地址。,7,5,、简述分段和分页的区别。,答:分段和分页有本质的区别:,1,)分段是逻辑划分,每个分段逻辑意义完整,而分页是物理划分,每个分页逻辑意义不完整;,2,)分段的划分需程序员的参与,而分页的划分是操作系统完成的,对用户是透明的;,3,)分段的地址空间是二维的,而分页的地址空间是一维的;,4,)分段大小可变,甚至可动态扩充,而分页的大小是固定不变的;,8,14.,作业的页面映象表如下图所示:(一页,=,一块,=1024,字节),页号,块号,中断位,访问位,修改位,辅存地址,问:指出页表中中断位、访问位、修改位、辅存地址的含义?,当执行到单元的指令,“,,,”,时,系统是怎样进行地址变换(即在主存的哪个单元中),当执行到单元指令(,)时,会发生什么现象?,9,(,1,)中断位:是否在内存;访问位:是否被访问过、修改位:是否被修改过;辅存地址:页面在辅存备份的地址。,(,2,),1000,逻辑地址位于,0,号虚页,,1800,逻辑地址位于,1,号虚页,,5,号页架,对应物理地址,51024,776,5896,;,(,3,)访问逻辑地址,3600,时,,3600,位于,3,号虚页,对应中断位为,0,,说明不在内存,产生缺页中断。,10,15.,有个一虚拟存储系统,每个进程在内存占有,3,页数据区,刚开始时数据区为 空,.,有以下访页序列,:2,3,4,5,3,4,1,2,3,5,1,4,2,4,5,1,3,2,1,3,试给出下列情形下的缺页次数,:(1),系统采用先进先出,(FIFO),淘汰算法,.(2),系统采用最近最少使用,(LRU),淘汰算法,.(3),系统采用优化,(OPT),淘汰算法,.,11,页面流,缺页情况,答:,(,1,)采用,FIFO,算法:,2,3,4,5,3,4,1,2,3,5,1,4,2,4,5,1,3,2,1,3,2,3,4,5,5,5,1,2,3,5,1,4,2,2,5,1,3,2,2,2,2,3,4,4,4,5,1,2,3,5,1,4,4,2,5,1,3,3,3,2,3,3,3,4,5,1,2,3,5,1,1,4,2,5,1,1,1,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,缺页次数为,15,。,12,(,2,)采用,LRU,算法:,2,3,4,5,3,4,1,2,3,5,1,4,2,4,5,1,3,2,1,3,2,3,4,5,3,4,1,2,3,5,1,4,2,4,5,1,3,2,1,3,2,3,4,5,3,4,1,2,3,5,1,4,2,4,5,1,3,2,1,2,3,4,5,3,4,1,2,3,5,1,1,2,4,5,1,3,2,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,缺页次数为,15,。,13,(,2,)采用,OPT,算法:,2,3,4,5,3,4,1,2,3,5,1,4,2,4,5,1,3,2,1,3,2,3,4,4,4,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,1,4,4,4,4,4,3,3,3,3,2,5,5,5,5,5,5,5,5,5,5,5,5,1,1,1,1,1,T,T,T,T,T,T,T,T,T,T,缺页次数为,10,。,14,1,、下列选项中,降低进程优先级的合理时机是()。,A,进程的时间片用完,B,进程刚完成,I/O,,进入就绪队列,C,进程长期处于就绪队列中,D,进程从就绪状态转为运行态,2,、下列选项中,导致创建新进程的操作是()。(,1,)用户登录成功;(,2,)设备分配;(,3,)启动程序执行,A,仅(,1,)和(,2,),B,仅(,2,)和(,3,),C,仅(,1,)和(,3,),D,(,1,)、(,2,)、(,3,),A,C,15,3,、下列进程调度算法中,综合考虑进程等待时间和执行时间的是()。,A,时间片轮转调度算法,B,短进程优先调度算法,C,先来先服务调度算法,D,高响应比优先调度算法,解释:在高响应比调度算法中,响应比,=,(等待时间,+,估计作业运行时间),/,估计作业运行时间。,D,16,12.,多级反馈队列调度算法的原理是什么?优点是什么?,应设置多个就绪队列,并为各个队列赋予不同的优先级。当一个新进程进入内存后,首先将它放入第一队列的末尾,按,FCFS,原则排队等待调度。当轮到该进程执行时,如它能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚未完成,调度程序便将该进程转入第二队列的末尾,再同样地按,FCFS,原则等待调度执行;仅当第一队列空闲时,调度程序才调度第二队列中的进程运行;仅当第,1(i-1),队列均空时,才会调度第,i,队列中的进程运行。,17,19,、一单道批处理系统中,有如下五个作业,并采用,FCFS,SJF,调度算法,试计算作业的平均周转时间和平均带权周转时间。,(,单位,:,小时,),作业,提交时间,运行时间,7,00,2,5,8,00,2.5,9,00,1,4,9,00,0,50,5,10,00,1,0,18,答,(,1,),FCFS,算法:,7,点时作业,1,先运行,作业,提交时间,运行时间,开始时间,结束时间,周转时间,带权周转,7,00,2,5,7,00,9,30,2.5,1,8,00,2.5,9.30,12.00,4,1.6,9,00,1,12.00,13.00,4,4,4,9,00,0,50,13.00,13.30,4.5,9,5,10,00,1,0,13.30,14.30,6.5,6.5,19,答,(,1,),SJF,算法:,7,点时作业,1,先运行,作业,提交时间,运行时间,开始时间,结束时间,周转时间,带权周转,7,00,2,5,7,00,9,30,2.5,1,8,00,2.5,12.00,14.30,6.5,2.6,9,00,1,10.00,11.00,2,2,4,9,00,0,50,9.30,10.00,1,2,5,10,00,1,0,11.00,12.00,2,2,20,20.,有,4,个进程,P1,,,P2,,,P3,,,P4,,它们进入就绪队列的先后次序为,P1,,,P2,,,P3,,,P4,,它们的优先级和需要的处理机时间如表所示。假定这四个进程执行过程中不会发生等待事件,忽略进程调度等所花费的时间,从某个时刻开始进程调度,请写出分别采用“先来先服务”、“非抢占式优先级”(固定优先级),“时间片轮转”调度算法中进程的执行次序。计算各个进程在就绪队列中的等待时间以及平均等待时间。,进程,处理机时间,优先级,P1,8,3,P2,6,1,P3,22,5,P4,4,4,21,1,)先来先服务算法,进程的执行顺序,P1,、,P2,、,P3,、,P4,;,进程,P1,等待时间为,0,;,进程,P2,等待时间为,8,;,进程,P3,等待时间为,8,6,14,;,进程,P4,等待时间为,8,6,22,36,;,平均等待时间为(,0+8+14+36,),/4,14.5,2,)优先级算法,进程的执行顺序,P3,、,P4,、,P1,、,P2,;,进程,P1,等待时间为,4+22,26,;,进程,P2,等待时间为,22+4+8,34,;,进程,P3,等待时间为,0,;,进程,P4,等待时间为,22,;,平均等待时间为(,26+34+0+22,),/4,20.5,22,3,)时间片轮转算法,进程的执行顺序,P1,、,P2,、,P3,、,P4,、,P1,、,P2,、,P3,、,P3,、,P3,、,P3,;,进程,P1,等待时间为,0,(,5,5,4,),14,;,进程,P2,等待时间为,5,(,5,4,3,),17,;,进程,P3,等待时间为(,5,5,)(,4,3,1,),18,;,进程,P4,等待时间为,5,5,5,15,;,平均等待时间为(,14+17+18+15,),/4,16,23,1,、进程,P0,和,P1,的共享变量定义及初值为:,Boolean flag2;int turn=0;flag0=false;flag1=false;,算法中标志数组,flag,表示进程是否希望进入临界区或是否在临界区中执行,,turn,变量用于指示允许进入临界区的进程标识。,P0,和,P1,访问临界资源的类,C,语言代码实现如下,请问能否保证互斥?会不会出现饥饿现象?,答:算法中利用,flag,解决临界资源的互斥访问,利用,turn,解决“饥饿”现象,既能解决临界资源的互斥访问,又不会出现“饥饿”现象。,void P0,while(TRUE),flag0=TRUE;,turn=1;,while(flag1,临界区;,flag0=FALSE;,void P1,while(TRUE,),flag1=TRUE;,turn=0;,while(flag0,临界区;,flag1=FALSE;
展开阅读全文