您好,欢迎访问三七文档
第一章操作系统引论1•1、当CPU执行操作系统代码时,称处理机处于()。–A自由态B目态C管态D就绪态•2、从目态到管态的转换是由()完成的。–A硬件B管态程序C用户程序D中断处理程序–解释:从目态到管态的转换是执行访管指令,引起一次中断,触发中断后,硬件中断机制将计算机状态置为管态。管态程序是指在管态下执行的程序。•3、操作系统提供给应用程序的接口是()。CA系统调用第一章操作系统引论24、简述中断处理过程。•答:当中断发生时,一旦CPU响应中断,系统就开始进行中断处理,中断处理过程如下:•(1)保护被中断进程的现场,为了在中断处理程序结束后能使进程正确的返回到中断点,系统必须保存当前处理机的状态字(PSW)和程序计数器(PC)等的值。•(2)分析中断原因,转去执行相应的中断处理程序,在多个中断请求同时发生时,处理优先级最高的中断源发出的中断请求。•(3)恢复被中断进程的现场,CPU继续执行原来被中断的进程。第一章操作系统引论35、简述系统调用的实现过程。•答:系统调用的一般处理过程如下:•(1)系统产生软中断,由硬件完成现场保护,并通过中断向量转向系统调用总控程序,同时处理机状态由用户态切换到核心态。•(2)系统调用总控程序根据系统调用号和系统内部的系统调用入口转入相应的系统调用处理过程。•(3)系统调用处理程序执行完毕后,返回执行成功与否以及成功时的执行结果给调用者,恢复中断进程或新调度进程的CPU现场,返回被中断进程或新进程运行。第一章操作系统引论41、进程与程序的关系和区别是什么?答:进程就是可并发执行的程序在一数据集合上的一次执行过程。•进程和程序的区别主要体现在:•1)进程是动态的,具有一定的生命周期,而程序是静态的;•2)进程可并发执行,而没有创建进程的程序是不能执行的;•3)进程是操作系统中申请和分配资源的基本单位,而没有创建进程的程序是不能申请资源的;•4)进程包括程序、数据和进程控制块;•5)同一程序的多次执行对应多个进程。第一章操作系统引论53、什么是操作系统?从资源管理的角度来看,OS的主要功能是什么?现代OS的四大主要特征是什么?•答:从资源管理的角度来看,OS的主要功能是控制和管理计算机中的软硬件资源。现代OS的4大主要特征是:并发、共享、虚拟和不确定性。第一章操作系统引论64、什么叫重定位?动态重定位和静态重定位有什么区别?•答:使一个作业程序装入到与其地址空间不一致的存储空间所引起的对有关地址部分的调整过程叫重定位。静态重定位是由作业装入程序在装入程序时一次性集中完成的,而动态重定位是由专用硬件地址变换机构在程序执行中随着指令的执行动态完成的。第一章操作系统引论77、请详细说明请求分页系统的地址变换过程。答:请求分页系统的地址变换过程如下:(图略去)•1)取逻辑地址分解为页号P和页内偏移w;•2)根据页号查找页表,获得该页的描述信息;•3)若该页中断位为1,产生缺页中断;•4)更新该页的描述信息;•5)根据页块号和页内偏移w,计算物理地址。第一章操作系统引论85、简述分段和分页的区别。答:分段和分页有本质的区别:•1)分段是逻辑划分,每个分段逻辑意义完整,而分页是物理划分,每个分页逻辑意义不完整;•2)分段的划分需程序员的参与,而分页的划分是操作系统完成的,对用户是透明的;•3)分段的地址空间是二维的,而分页的地址空间是一维的;•4)分段大小可变,甚至可动态扩充,而分页的大小是固定不变的;第一章操作系统引论914.作业A的页面映象表如下图所示:(一页=一块=1024字节)页号块号中断位访问位修改位辅存地址08111100015100300027110500030008000问:①指出页表中中断位、访问位、修改位、辅存地址的含义?②当执行到1000单元的指令“LOAD1,1800”时,系统是怎样进行地址变换(即1800在主存的哪个单元中)③当执行到1500单元指令(LOAD1,3600)时,会发生什么现象?第一章操作系统引论10•(1)中断位:是否在内存;访问位:是否被访问过、修改位:是否被修改过;辅存地址:页面在辅存备份的地址。•(2)1000逻辑地址位于0号虚页,1800逻辑地址位于1号虚页,5号页架,对应物理地址5×1024+776=5896;•(3)访问逻辑地址3600时,3600位于3号虚页,对应中断位为0,说明不在内存,产生缺页中断。第一章操作系统引论11•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)淘汰算法.第一章操作系统引论12页面流缺页情况答:(1)采用FIFO算法:23453412351424513213234555123514225132222344451235144251333233345123511425111TTTTTTTTTTTTTTT缺页次数为15。第一章操作系统引论13(2)采用LRU算法:23453412351424513213234534123514245132132345341235142451321234534123511245132TTTTTTTTTTTTTTT缺页次数为15。第一章操作系统引论14(2)采用OPT算法:23453412351424513213234444122222222222222333333331444443333255555555555511111TTTTTTTTTT缺页次数为10。第一章操作系统引论15•1、下列选项中,降低进程优先级的合理时机是()。–A进程的时间片用完–B进程刚完成I/O,进入就绪队列–C进程长期处于就绪队列中–D进程从就绪状态转为运行态•2、下列选项中,导致创建新进程的操作是()。(1)用户登录成功;(2)设备分配;(3)启动程序执行–A仅(1)和(2)B仅(2)和(3)–C仅(1)和(3)D(1)、(2)、(3)AC第一章操作系统引论16•3、下列进程调度算法中,综合考虑进程等待时间和执行时间的是()。•A时间片轮转调度算法B短进程优先调度算法•C先来先服务调度算法D高响应比优先调度算法•解释:在高响应比调度算法中,响应比=(等待时间+估计作业运行时间)/估计作业运行时间。D第一章操作系统引论1712.多级反馈队列调度算法的原理是什么?优点是什么?•应设置多个就绪队列,并为各个队列赋予不同的优先级。当一个新进程进入内存后,首先将它放入第一队列的末尾,按FCFS原则排队等待调度。当轮到该进程执行时,如它能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚未完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行;仅当第一队列空闲时,调度程序才调度第二队列中的进程运行;仅当第1~(i-1)队列均空时,才会调度第i队列中的进程运行。第一章操作系统引论1819、一单道批处理系统中,有如下五个作业,并采用FCFS,SJF调度算法,试计算作业的平均周转时间和平均带权周转时间。(单位:小时)作业提交时间运行时间17.002.528.002.539.00149.000.50510.001.0第一章操作系统引论19答(1)FCFS算法:7点时作业1先运行,作业提交时间运行时间开始时间结束时间周转时间带权周转17.002.57.009.302.5128.002.59.3012.0041.639.00112.0013.004449.000.5013.0013.304.59510.001.013.3014.306.56.5第一章操作系统引论20答(1)SJF算法:7点时作业1先运行,作业提交时间运行时间开始时间结束时间周转时间带权周转17.002.57.009.302.5128.002.512.0014.306.52.639.00110.0011.002249.000.509.3010.0012510.001.011.0012.0022第一章操作系统引论2120.有4个进程P1,P2,P3,P4,它们进入就绪队列的先后次序为P1,P2,P3,P4,它们的优先级和需要的处理机时间如表所示。假定这四个进程执行过程中不会发生等待事件,忽略进程调度等所花费的时间,从某个时刻开始进程调度,请写出分别采用“先来先服务”、“非抢占式优先级”(固定优先级),“时间片轮转”调度算法中进程的执行次序。计算各个进程在就绪队列中的等待时间以及平均等待时间。进程处理机时间优先级P183P261P3225P444第一章操作系统引论22•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第一章操作系统引论23•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第一章操作系统引论241、进程P0和P1的共享变量定义及初值为:Booleanflag[2];intturn=0;flag[0]=false;flag[1]=false;算法中标志数组flag[]表示进程是否希望进入临界区或是否在临界区中执行,turn变量用于指示允许进入临界区的进程标识。P0和P1访问临界资源的类C语言代码实现如下,请问能否保证互斥?会不会出现饥饿现象?•答:算法中利用flag[]解决临界资源的互斥访问,利用turn解决“饥饿”现象,既能解决临界资源的互斥访问,又不会出现“饥饿”现象。voidP0{while(TRUE){flag[0]=TRUE;turn=1;while(flag[1]&&turn==1);临界区;flag[0]=FALSE;}}voidP1{while(TRUE){flag[1]=TRUE;turn=0;while(flag[0]&&turn==0);临界区;flag[1]=FALSE;}}第一章操作系统引论25•2、设与某资源相关联的信号量初值为3,当前值为1,若M表示现在资源的可用个数,N表示等待资源的进程数,则M、N分别是()。1,0第一章操作系统引论2621.有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是?•范围:1—1-m第一章操作系统引论27•3、三个进程P1、P2、P3互斥使用一个包含N(N0)个单元的缓冲区,P1每次用produce()生成一个正整数并用put()送入缓冲区的某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。第一章操作系统引论28•解:(1)缓冲区是一互斥资源,因此设互斥信号量mutex;•(2)同步问题:P1、P2因为奇数的放置与取用而同步,设同步信号量odd;P1、P3因为偶数的放置与取用而同步,设同步信号量even;P1、P2、P3因为共享缓冲区,设同步信号量empty。•P1、P2、P3的活动描述如下:•semaphoremutex=1,odd
本文标题:操作系统复习资料
链接地址:https://www.777doc.com/doc-5570639 .html