操作系统期末复习指导1《操作系统》期末复习指导(2017.12)一、说明:期末考试计划出5种题型:选择、填空、判断、简答、计算,每种题型均占20分左右,其中,最后的两类大题(简答题和计算题共计40分)更加局限,不会超出下面复习资料给定的范围,请大家认真复习,不要大意,免得遗恨终生。二、简答题范围(约占20分,三套考题的简答都不会超越这个范围):1.什么是进程?进程由哪几个部分构成?为什么要引进进程?进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位;进程都是由程序段、数据段及PCB三个部分组成;为了使程序能并发执行,且为了对并发执行的程序加以描述和控制,人们引入了“进程”的概念;什么是线程?为什么要引进线程?线程是进程内的一个相对独立的、可独立调度和指派的执行单元;为了既能提高程序的并发程度,又能减少OS的开销,操作系统设计者引入了线程;进程和程序有什么区别和联系?1、进程的实质是进程实体的一次执行过程,进程实体有一定的生命期,而程序则只是一组有序指令的集合;2、进程具有并发性,而程序是不能并发执行的;3、进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位,而未建立PCB的程序不能作为一个独立的单位参与运行。一个进程可以执行一个或多个程序,一个程序可以应对多个进程。进程和线程有什么区别和联系?不同的操作系统,其线程的实现方式都是一样的吗?线程有哪几种实现方式?进程是资源拥有的基本单位,线程是分派和调度资源的基本单位;进程拥有资源,线程不拥有资源;进程和线程都拥有并发性;进程的系统开销远大于线程的系统开销。2.什么是地址重定位?将逻辑地址空间中的逻辑地址转换为内存空间中的物理地址,这一过程称为地址重定位或地址映射什么是静态地址重定位?什么是动态地址重定位?静态地址重定位是在程序执行前由操作系统的重定位装入程序完成的。它根据要装入的内存起始地址,直接修改所有涉及到的逻辑地址,一次性完成逻辑地址到物理地址的装换,在程序运行中,不再进行任何地址转换;操作系统期末复习指导2动态地址重定位也称动态地址映射,是指把目标程序装入内存的时候,并不立即把逻辑地址转换为物理地址,而是在程序运行过程中,当CPU访问程序和数据的时候,才进行地址转换;静态地址重定位和动态地址重定位区别何在?内存分配中的“紧凑”技术,是在哪种地址重定位机制中用的?静态重定位的时机在作业装入时;动态重定位的时机在作业调度时。3.在进程的整个生命周期中,可能要经历哪几种状态?这几种状态在什么情况下会发生什么样的变迁(请画出三状态模型转换示意图)?三种基本状态:a.就绪状态b.执行状态c.阻塞状态;进程的五状态模型、七状态模型都包括哪些不同的状态?这几种状态在什么情况下会发生什么样的变迁(请画出五状态、七状态模型转换示意图)?4.什么是临界资源?什么是临界区?举一个临界资源的例子。操作系统中将一次仅允许一个进程访问的资源称为临界资源;操作系统中把每个进程中访问临界资源的那段代码段称为临界区。打印机。对于一个临界资源,它的信号量最大值是多少?最小值能确定吗?就绪阻塞执行时间片完进程调度I/O完成I/O请求操作系统期末复习指导3能。5.内存管理有哪两大类?实存共有哪几种内存分配方法?虚存共有哪几种内存分配方法?(1)实存:单一连续分区、固定分区、可变分区、分页、分段、段页式(2)虚存:请求式分页、请求式分段、请求段页式6、简述一下单一连续分区、固定分区、可变分区、分页、分段、段页式这些方法都是怎样对内存进行分配和回收的。单一连续分区:内存的整个用户区域只分为一个区,在一段时间内只能有一个用户程序在内存中执行,只有一个程序运行完毕退出内存后,其它程序才能调入内存执行固定分区:将整个用户空间划分为若干个固定大小的区域,每个分区只装入一道作业。可变分区:根据进程的实际需要,动态地为之分配内存空间分页:将用户程序的地址空间分为若干个固定大小的区域称为“页”,相应的,也将内存空间分为若干个物理块,页和块大小相等。这样可将任一页放入任一块。分段:地址空间分为若干段,每个段包含一部分地址空间,又标识了逻辑关系,其逻辑地址由段号和段内地址组成。段页式:首先,给整个物理内存分块;然后,给作业(或进程)分段;每个段再进行分页;将每一页分配到一个个内存块中。为了实现从逻辑地址到物理地址的转换,系统要为每个进程(或作业)建立一张段表,还要为该作业(进程)的每个段建立一张页表;内碎片、外碎片在哪些内存分配方法中出现?固定分区可产生内碎片;可变分区可产生外碎片;为解决该问题可采用紧凑技术;分页存储管理技术较好地解决了碎片问题。页表是在哪些内存分配机制中使用的?它包括哪些方面的信息?一个进程会有几个页表?段页式和请求段页式;页号、块号;若干个页表段表是在哪些内存分配机制中使用的?它包括哪些方面的信息?一个进程会有几个段表?段页式和请求段页式;段号、段长、基址;一个段表7、请求式分页、请求式分段都是怎么进行内存分配与回收的?在进程开始运行之前,不是装入全部页面,而是装入部分页面,之后根据进程运行的需要,动态装入其他页面,当内存空间已满,又需要装入新的页面时,根据某种算法淘汰某个页操作系统期末复习指导4面,以便装进新的页面。通过共享段表和共享段的分配和回收。请求式分页的页表和纯分页的页表结构一样吗?在原来页表的基础上又增加了哪些信息?各代表什么含义?不一样请求式分段的段表和纯分段的段表结构一样吗?在原来段表的基础上又增加了哪些信息?各代表什么含义?不一样8.什么是虚拟存储技术?实现虚拟内存必须有哪些物质基础?具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储技术一定容量的内存和外存。页表机制(或段表机制),作为主要的数据结构。中断机构,当用户程序要访问的部分尚未调入内存,则产生中断。地址变换机构,逻辑地址到物理地址的变换9、为什么要引入联想寄存器(快表)?寄存器中存放的是什么信息?什么时机查询快表?引入联想寄存器是为了提高查表的速度;用来存放页表最常用部分的内容(页号、块号);当处理机给出逻辑地址(p,w)时,分页机构一方面取出页号p,并从页表中查找其对应的块号,另一方面自动把页号p送入联想存储器,并和联想寄存器中各单元进行比较;如与联想寄存器中某单元页号相符,则输出对应块号b,并与页内地址w形成物理地址进行访问,同时停止前面页表的查找工作。10、什么是页面抖动?页面抖动有什么解决方法?如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。解决方法:好的页替换算法;减少运行的进程数;增大内存P17211.简述设备分配的基本过程。标明分配过程中使用的表格。(即先分配什么、后分配什么;先查询什么表、后查询什么表?)设备分配的过程:(1)分配设备(2)分配控制器(3)分配通道分配过程:先扫描SDT(系统设备表)得到设备表项,再扫描DCT(设备控制表)中可用的设备,得到与该设备连接的设备控制器,再扫描COCT(控制器控制表)中可用的设备控制,得到与该设备连接的通道;再扫描CHCT(通道控制表)得到可用的通道;这样一次设备分配完成。若在此分配过程中,无可用设备或设备控制器或通道,则请求I/O进程将阻塞在相应的队列中。操作系统期末复习指导512.操作系统中的设备管理,具体来说管的是什么?负责I/O设备的分配与操纵;在设备管理中为什么要引入缓冲区?常见的缓冲技术有哪几种?现在最常用的是哪种?主要原因:(1)缓和CPU与I/O设备间速度不匹配的矛盾;(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制;(3)提高CPU和I/O设备之间的并行性。常见的缓冲技术:单缓冲、双缓冲、循环缓冲和缓冲池(目前最常用)。13.有哪几种常见的输入输出控制机制?简述其工作原理。程序直接控制:(特点)只适合那些CPU执行速度较慢,且外设较少的系统;(好处)工作过程简单;(坏处)CPU的利用率相当低、CPU和外设以及外设和外设之间只能串行工作,且CPU大部分时间都处于循环测试状态。中断控制:(好处)提高了CPU的利用率,并能支持设备的并行操作;(坏处)每台设备每输入/输出一个数据都要求中断CPU,这样在一次数据传送过程中,中断发生次数太多,从而耗去了大量CPU时间。DMA控制:(特点)(1)数据传送的基本单位是数据块,即CPU和I/O设备之间,每次传送的至少是一个数据块;(2)所传送的数据是从设备送往内存,或相反;(3)仅在传送一个或多个数据块的开始时刻和结束时刻,才需要中断CPU,请求干预。整块数据的传送都是在DMA控制器的控制下完成的。(好处)减少了CPU对I/O控制的干预,进一步提高了CPU的利用率,提高了CPU与I/O设备的并行操作程度;(坏处)多个DMA控制器同时使用可能会引起内存地址的冲突,同时每台设备都需要一个DMA控制器,也是不经济的。通道控制:(特点)在通道控制方式中,数据传送的方向、存放数据的内存始址以及传送数据块的长度均通过一个专门的硬件——通道来控制;(好处)提高了CPU的工作效率及与外设间的并行工作程度。14.什么是SPOOLING技术?SPOOLING系统由哪几个部分构成?系统怎样通过SPOOLING技术将一台物理打印机虚拟成多台逻辑上的打印机?在主机的直接控制下,实现脱机输入输出功能。此时的外围操作与CPU对数据的处理同时进行。把这种在联机情况下实现的同时外围操作称为SPOOLING,或称为假脱机操作。构成:输入井和输出井、输入缓冲区和输出缓冲区、输入进程SPi和输出进程Spo系统对于用户的打印输出,并不真正把打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。操作系统期末复习指导6选择:三、计算题题型和范围:(约占20分)(共有6种计算题,每套试卷会选考4种,每种题型5分)1、作业调度:分别用先来先服务、最短作业优先、响应比高者优先算法调度,计算作业的平均周转时间和平均带权周转时间。2、信号量机制和P、V操作。理解P、V操作的定义,理解信号量值的含义。能够在具体的应用里,根据题意,建立信号量,并用伪代码(类C)来表达进程之间的同步与互斥关系。、银行家算法:(一种典型的死锁避免策略)银行家算法是一种避免死锁的策略——即当用户进程要申请资源的时候,先根据当前系统资源的情况,预先计算一下该次分配是否安全,若安全就放心地分配给用户使用,若不安全就表示有死锁的可能,先不予分配。一般会给定一个资源分配表,能问的问题也很死,如:(1)计算一下系统当前可供使用的资源还有多少?(2)判断一下系统当前的状态是否安全?(3)若有某一个进程需要申请资源,系统会不会分配给它?为什么?(4)若还有进程想要分配资源,可不可以分配给它?=search操作系统期末复习指导74、逻辑地址到内存地址的转换:对于段式内存管理:给定一系列逻辑地址(段号,段内地址)和段表,要求给出对应的物理地址;对于页式内存管理:给定一个进程的页表以及一个页面的大小,求一系列逻辑地址对应的物理地址(其实就是地址重定位)进一步,若采用虚拟内存分配,根据段表和页表,根据给出的逻辑地址,计算对应的物理内存地址。对于请求分页、请求分段的页表和段表,每个列代表的含义都要很清楚。操作系统期末复习指导8