操作系统复习题精讲课件.ppt(76页)
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统复习题精讲课件.ppt(76页)》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 复习题 讲课
- 资源描述:
-
1、1、多道批处理系统的特点、优点、缺点(理解) 与单道批处理系统相比:多道程序驻留内存;CPU不再空闲等待I/O。 特点:多道性、无序性、调度性、复杂性 优点: 提高CPU利用率; 提高内存和I/O设备的利用率; 增加系统的吞吐量:吞吐量指系统在单位时间内所完成的总工作量。缺点:平均周转时间长;缺乏交互能力2、说明指令执行的过程 在每个指令周期开始的时候,处理器从存储器中取一条指令,在典型的处理器中,程序计数器(PC)保存有下一次要取的指令地址。除非接收到别的指示,否则处理器在每次完成取指令后总是对PC增一,使它能够按顺序取得下一条指令。(即位于下一个高端存储器地址的指令). 取到的指令被放置在
2、处理器中的指令寄存器(IR)中。指令中包含确定处理器将要采取动作的位,处理器解释指令并执行要求的动作。3、什么是逻辑地址?什么是物理地址?(理解) 一个应用程序(源程序)经编译后,通常会形成若干个目标程序;这些目标程序再经过链接便形成了可装入程序。这些程序的地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的;由这些地址形成的地址范围称为“地址空间”,其中的地址称为“逻辑地址”或“相对地址”。由内存中的一系列单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。4、什么是实时计算?什么是实时系统? 实时计算是这样一类计算:计算的正确性不仅依赖于系统计算的逻辑结果,还依赖
3、于产生这个结果的时间。实时系统是支持实时计算的系统。5、什么是嵌入式系统?什么是嵌入式操作系统?嵌入式操作系统的特征是什么?(了解)答:嵌入式系统是宿主于非计算机设备中的计算机系统。嵌入式操作系统是运行于嵌入式设备中的操作系统。 嵌入式操作系统具有以下特征:(1)小巧;(2)实时性;(3)可装卸;(4)固化代码;(5)弱交互性;(6)强稳定性;(7)统一的接口。6、什么是并发?什么是共享?它们有什么关系? 并发是指两个或多个事件在同一时间间隔内发生。 共享是指系统中的资源可供内存中多个并发执行的进程共同使用。 并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。一方面,资源共享是以
4、程序的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题。另一方面,若系统不能对资源共享实施有效管理,则也必然将影响程序的并发执行,甚至根本无法并发执行。7、什么是进程?比较进程与程序 进程的定义进程的定义定义1:进程是程序在一个数据集合上的运行过程。定义2:进程是由正文段、用户数据段以及系统数据段共同组成的一个执行环境。 比较进程与程序 区别 : 程序是静态的概念,进程是动态的概念 程序是永久的,进程是暂时存在的 程序与进程的存在实体不同.程序是指令的集合,进程是由正文段、用户数据段、系统数据段构成的实体。 联系 : 进程是程序的一次执行,进程总是对应一个特定的程序,执行程序
5、的代码,一个进程必然对应一 个程序。 一个程序可以对应多个进程。同一个程序段可以在不同的数据集合上运行,因而构成若干个不同的进程。8、为什么要引入进程这个概念?进程存在的标志是什么? 为了跟踪描述程序的并发执行,当允许程序并发执行时,并发执行的程序可能是同一个程序在不同数据集合上的执行,也可能是不同的程序在不同数据集合上的执行,它们共享系统资源,用程序已不能方便地描述程序的并发执行,所以引入了进程的概念。 标志:进程控制块9、什么是进程控制块?举例说明操作系统是如何利用进程什么是进程控制块?举例说明操作系统是如何利用进程控制块中的信息来管理进程的?控制块中的信息来管理进程的?( (理解理解)
6、) 进程控制块是进程实体的一部分,是操作系统中最重要的记录型数据结构,PCB中记录了操作系统所需要的,用于描述进程情况及控制进程运行所需的全部信息。 例: Linux2.6.11内核进程控制块task_struct的time_slice字段用来记录进程在CPU上的运行时间,当进程被进程调度程序选中开始运行时,内核为time_slice赋初值,每当产生一次时钟中断,当前运行进程的time_slice值减1,当time_slice值减为0时,内核为进程设置调度标志,并重新进行一次进程调度。内核利用进程控制块的time_slice字段跟踪和控制进程在CPU上的执行时间,以防止进程超时使用CPU,独占
7、CPU资源。10、什么是操作系统内核?操作系统内核主要完成什么功能? 操作系统内核是计算机硬件的第一次扩充,内核执行OS与硬件关系密切,执行频率高的模块,常驻内存。 不同的OS内核包括的功能不同,多数OS内核包括下述功能: 支撑功能: 中断处理、时钟管理、原语操作 资源管理功能: 进程管理、存储器管理、设备管理11、操作系统在什么时候创建进程?操作系统如何创建一个进程?举例说明操作系统创建进程的过程和进程执行的功能。(理解) 引起创建进程的事件 1、用户登录2、作业调度3、提供服务4、应用请求 进程的创建 调用创建新进程的原语来创建进程,一般步骤为:1、申请空白PCB。2、为新进程分配资源。3
8、、初始化进程控制块。4、将新进程插入就绪队列。12、说明什么是中断?单重中断的处理过程是什么? 中断是改变处理器执行指令顺序的一种事件。这改变处理器执行指令顺序的一种事件。这样的事件与样的事件与CPU芯片内外部硬件电路产生的电信芯片内外部硬件电路产生的电信号相对应号相对应 。 中断机制的工作原理是:中断机制的工作原理是:计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处。 单重中断处理过程如下图:13、时钟中断信号是如何产生的?时钟中断处理程序(时钟驱动程序)的功能是什么?时钟中断信号 的产生:
9、由软件(OS)往保持寄存器写一个值保持寄存器的值计数器每来一个脉 冲,计数器减1当计数器=0时,产生一次时钟中断时钟软件时钟驱动程序(时钟中断处理程序)的功能: 维护日期、时间 递减时间片并检查是否为零,防止进程运行超 时 对 CPU的使用情况记帐 递减报警计数器。14、什么是进程的就绪态、阻塞态、执行态?在什么情况下发生三种状态的转换? 就绪状态:进程一但获得CPU就可以投入运行的状态。 执行状态:进程获得CPU正在运行的状态。 阻塞状态: 进程由于等待资源或某个事件的发生而暂停执行的状态。等 待 的事 件 发生cpu时间片用完就绪阻塞执行获得CPU等待某事件发生15、说明阻塞和唤醒的过程(
10、理解) 进程阻塞过程1、暂停进程的执行,将进程的状态改为阻塞态2、将进程插入相应的阻塞队列3、转进程调度例程,重新进行进程调度 进程唤醒过程1、将进程从阻塞队列中移出2、将进程状态由阻塞改为就绪3、将进程插入就绪队列16、什么是系统态和用户态(理解) 用户态执行:用户空间是指用户进程所处的地址空间,当一个进程在用户空间执行时,称该进程在用户态执行。 系统态执行:系统核心空间是指含有一切系统核心代码的地址空间,当进程处于具有执行系统核心代码的权力之状态时,称为进程处于系统态执行。17、什么是系统调用?举例说明系统调用的执行过程。答:系统调用是一群预先定义好的模块,它们提供一条管道让应用程序或一般
11、用户能由此得到操作系统核心程序的服务。 例:以Linux系统的系统调用为例说明系统调用的执行过程如下:1)保存系统调用号2)执行INT 0 x80,进程陷入内核态3)执行0X80中断处理程序。4)以系统调用号为索引,在系统调用表中找到系统调用实现例程的起始地址。5)执行系统调用例程,返回用户态。 18、为什么在操作系统中引入进程同步机制? 在多道程序环境下,进程之间可能存在两种关系: 资源共享 相互合作 进程同步的任务就是: 在资源共享的情况下:保证诸进程以互斥的方式访问临界资源必须以互斥方式访问的共享资源必须以互斥方式访问的共享资源; 在相互合作的关系中:进程同步的主要任务是保证相互合作的诸
12、进程在执行次序上协调。相互合作的进程可能同时存在资源共享的关系。 19、有哪些方法可以实现进程的互斥与同步? 1.整型信号量机制 2.记录型信号量机制 3.AND型信号量机制 4.管程机制。 20、比较各种进程同步方法的优缺点?(了解) 1.整型信号量机制没有实现忙则等待,浪费CPU资源。 2.记录型信号量机制 不存在忙等,采取了让权等待的策略 3.AND型信号量机制 避免了两个进程的相互死锁,假设A,B两个进程都要求访问临界资源D和E如:processA:wait(Dmutex);wait(Emutex);precessB: wait(Emutex);wait(Dmutex);若进程A,B按
13、下列次序交替执行wait操作,则会死锁。processA:wait(Dmutex); 于是Dmutex=0;processB: wait(Emutex); 于是Emutex=0;processA: wait(Emutex); Emutex=-1;进程A阻塞processB: wait(Dmutex); Dmutex=-1;进程B阻塞进程A,B因保持一种资源同时等待对方为自己释放另一种资源而处于死锁状态。AND型信号量机制思想:将进程在整个运行过程中所需要的所有资源一次性地全部分配给进程,待该进程使用完后再一起释放,只要还有一个资源不能分配给该进程,其他所有可能为之分配的资源就不分配给它。4.管
14、程机制信号量缺陷:每个访问共享资源的进程都必须自备同步操作wait,signal,使得大量的同步操作分散在各个进程中,不仅给系统的管理带来麻烦,而且会因操作的使用不当而导致系统错误,故引入管程。21、实现进程互斥的基本原理是什么?(理解) 进程互斥的目的是使进程以互斥的方式访问临界资源,只要能使进程以互斥的方式进入临界区就能够保证进程对 临界资源的互斥访问。所以,可以通过在临界区前加进入区代码,在临界区后面加退出区代码来实现进程的互斥。 临界区是每个进程中访问临界资源的那段代码。进入区是检查是否可以进入临界区并对临界区“加 锁 ”的代码。退出区是释放临界区访问权的代码。22、说明记录型信号量的
15、物理意义 s.value=0时,s.value的值表示资源数量; s.value0时,|s.value|的值表示某资源的等待队列中进程的数量。23、写出记录型信号量的代码描述答:记录型信号量的数据类型记录型信号量的数据类型 Type semaphore=record Value:integer 资源数量资源数量 L:list of process 阻塞队列阻塞队列 endprocedure wait(s) var s:semaphore begin s.value:=s.value-1; if s.value0 then block(s.L)end.procedure signal(s) va
16、r s:semaphore begin s.value:=s.value+1; if s.value=0 then wakeup(s.L)end.24、利用记录型信号量机制写出生产者-消费者问题的进程同步算法描述。25、利用记录型信号量机制写出读者-写者问题的同步算法描述。答案见教材。 26、wait和signal操作都必须是原子操作的确切含义是什么?为什么wait和signal操作都必须是原子操作?(理解)1.wait和signal操作都必须是原子操作的确切含义是对信号量的访问必须是原子性的。2.wait以及signal中对信号量的操作 如:s= s-1;s=s+1;是原子操作,在执行过程中
17、不能被中断,不然信号量机制本身会出现错误,无法保证信号量实现同步时的正确性。 27、为什么在生产者-消费者问题中wait操作的顺序不能颠倒?(理解) 如果生产者和消费者进程都先通过执行wait(mutex)申请公共缓冲池的互斥访问权,然后通过申请资源信号量申请空缓冲区或装满产品的缓冲区,当缓冲池满时,若生产者进程先申请到公共缓冲池的互斥访问权,然后申请空缓冲区,因缓冲池中没有空缓冲区,生产者进程阻塞。消费者进程因无法申请到公共缓冲池的互斥访问权,也会被阻塞。生产者进程等待消费者进程释放空缓冲区,消费者进程等待生产者进程释放公共缓冲池的互斥访问权,进程因互相等待对方释放资源而处于不能执行的僵持状
18、态。 28、为什么要对P1和P2进程进行同步控制?(理解) 假设counter是全局变量P1: counter=counter+1; P2: counter=counter+1; u 编译后的指令序列:P1: register1=counter; register1=register1+1; counter =register1; P2: register2=counter; register2=register2+1; counter =register2; 若当前counter=0,P1和P2按下列顺序执行时,会发生counter计数错误。 register1=counter /regis
19、ter1=0 register1=register1+1 /register1=1 register2=counter /register2=0 register2=register2+1 /register2=1 counter = register1 /counter=1 counter =register2 /counter=1执行结果:counter=1; 正确结果应该是:counter=2。如果如果p1和和p2以互斥的方式去访问以互斥的方式去访问counter,错误就不会出现了!,错误就不会出现了! 29.为什么对10个不同的临界资源(counter1-counter10)不能只用一
20、个互斥信号量?(理解) 若用一个互斥信号量实现对多个临界资源的互斥访问,则会造成资源的浪费,一个进程申请一个资源时,会同时占用其不需要的资源,则其他进程不能访问被锁住却并没有被使用的资源。 故10个不同的临界资源不能只用一个互斥信号量。30、什么是进程调度算法? 进程调度算法:从多个就绪进程中选择一个进程并为它分配cpu的算法。31、引起进程调度的原因有哪些? 正在执行的进程执行完毕;进程阻塞;正在运行的进程时间片用完;在支持抢占式调度的系统中有优先权高的进程到来;中断返回。32、说明什么是多级队列调度算法、 多级队列调度: 多级队列调度是根据作业的性质或类型的不同将就绪进程队列再分为若干个独
21、立子队列,各个作业固定地分属于一个队列,每个队列采用一种算法,不同的队列可采用不同的调度算法。 33.什么是多级反馈队列的调度算法?(了解,不需背记) 1.在系统中建立多个优先权不同的就绪队列,为每个队列赋予大小不同的时间片。 2.队列的优先权越高,时间片越短,时间片通常成倍增长。 3.新进程进入内存后,先排入优先权最高的队列,只当高优先权队列为空时,才调度优先权次之的队列。 4.在同一队列中,采用时间片轮转算法,使用CPU时间过多的进程会被转移到优先权较低的队列中,在较低优先权队列中等待时间过长的进程会被转移到优先权较高的队列中,通过老化技术阻止了饥饿的发生。 34、说明选择调度方式和调度算
22、法的原则。(理解) 答:可以下面的准则作为选择依据:1)周转时间短2)响应时间快3)截止时间的保证4)系统吞吐量高5)处理机利用率好35、说明什么是时间片轮转调度算法?系统设计时如何确定时间片的大小?时间片大小的通常范围值是多少?(理解) 答:在采用时间片轮转调度算法的系统中,系统为进程分配一定长度的时间片,每当进程在CPU上连续运行的时间等于一个时间片长度,操作系统在时钟中断处理过程中会抢占CPU,进行进程切换,用新的就绪进程替代当前进程,被替换的当前进程重新回到就绪队列中。 在为调度程序确定时间片的大小时,通常要考虑到以下几个因素: 系统对响应时间的要求; 就绪队列中进程的数目; 系统的处
23、理能力;时间片是一个较小的时间单元,通常为10ms到100ms。36、什么是基于优先权的进程调度算法?在基于优先权的进程调度算法中如何为进程给定优先权值? 答:基于优先权的进程调度算法是系统为每个进程都赋予一个与之关联的优先权,系统将CPU分配给就绪队列中优先权最高的进程。 优先权的类型分为静态优先权和动态优先权。(1)静态优先权)静态优先权静态优先权在创建时确定,在进程的整个运行期间保持不变。静态优先权值通常可以根据进程的类型、进程需要的资源数量、用户的要求来设定。(2)动态优先权)动态优先权进程创建时被赋予的优先权,随进程的推进或随其等待时间的增加而改变。动态优先权调度算法可以使系统获得更
24、好的调度性能。 37、什么是实时进程的松弛度?正在运行进程的松弛度会发生变化吗?在采用LLF调度算法的系统中如何解决松弛度相同的进程调度问题?(理解) 答:松弛度用来表示一个实时任务的紧迫程度。 在使用最低松弛度优先调度算法时,调度程序在调度时机到来时,每次选择松弛度L最小的进程,把CPU分配给该进程。正在运行进程的松弛度不会发生变化。 当两个任务的松弛度相同时,应该调度哪个进程,需要其它条件的支持,比如任务的优先权、截止时间等。 38.举例说明两种可用于实时系统的进程调度算法。1.最早截止时间优先EDF(Earliest Deadline First)调度算法2.最低松弛度优先LLF(Lea
展开阅读全文