操作系统第四版期末复习重点.docx
《操作系统第四版期末复习重点.docx》由会员分享,可在线阅读,更多相关《操作系统第四版期末复习重点.docx(18页珍藏版)》请在冰豆网上搜索。
![操作系统第四版期末复习重点.docx](https://file1.bdocx.com/fileroot1/2023-6/23/089e7350-6c50-4cd1-9e60-8c667850dbbc/089e7350-6c50-4cd1-9e60-8c667850dbbc1.gif)
操作系统第四版期末复习重点
第一章操作系统
▲问:
操作系统
答:
操作系统是一组能有效组织和管理计算机软硬件资源、合理调度作业、方便用户使用的程序的集合,是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
▲主要作用作为用户与计算机硬件系统的接口;作为计算机系统资源的管理者:
实现对计算机资源的抽象
▲主要目标方便性、有效性、可扩展性和开放性。
(使用编译指令或OS提供的命令操纵系统)(提高系统的吞吐量、系统资源利用率)(可添加或修改功能、模块)(能遵循世界标准规,兼容性强)
▲主要发展动力不断提高计算机利用率、方便用户、器件的不断更新换代、计算机体系结构的不断发展。
主要/基本功能处理机管理、存储器管理、设备管理、文件管理
基本特征并发、共享、虚拟、异步。
▲问:
并发性与并行性
答:
并发性是指多个事件在同一时间间隔发生;并行性是指多个事件在同一时刻发生。
▲问:
共享(资源复用)
答:
指系统中的资源可供存中的多个并发执行的进程共同使用。
互斥共享方式在一段时间只允许一个进程访问资源;
同时访问方式允许多个进程在一段时间“同时”访问资源,“同时”指的是宏观意义,在微观上是交替访问的
▲问:
虚拟
答:
把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。
时分复用技术利用某设备为一用户服务的空闲时间,转去为其他用户服务,使设备得到最充分的利用。
(虚拟处理机、虚拟设备。
虚拟为n个,平均速度≤1/n)
空分复用技术利用存储器的空闲时间分区域存放和运行其他的多道程序,以此提高存的利用率。
(虚拟后,平均存≤1/n)
▲问:
异步性
答:
指进程以人们不可预知的速度向前推进。
▲问:
单道批处理系统
答:
将一批作业以脱机方式(使用外围机,脱离主机)输入在磁带上,使作业在监督程序的控制下一个个连续处理。
目的提高系统资源利用率和系统吞吐量。
缺点存中只有一道程序,系统资源浪费。
特性单道性、顺序性、自动性。
▲问:
多道批处理系统
答:
将作业输入在外存,排成后备队列,并在由于某程序I/O操作而暂停执行时的CPU空闲时间,按照一定算法,调度后备队列的另一个程序运行,使多道程序交替运行,保持CPU处于忙碌状态。
目的进一步提高系统资源利用率和系统吞吐量。
优点资源利用率高、系统吞吐量达。
缺点平均周转时间长、无交互能力。
特性多道性、无序性、调度性
▲问:
分时系统
答:
指在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统。
分时系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机资源。
实现的关键问题及时接收、及时处理。
▲特征多路性、独立性、及时性、交互性(多用户共享)(用户间互不干扰)(及时响应)(人机对话)
▲问:
实时系统
答:
能及时响应外部事件的请求、在规定时间完成对事件的处理、并控制所有实时任务协调一致地运行的系统。
特征多路性、独立性、及时性、交互性、可靠性。
▲类型工业(武器)控制系统、信息查询系统、多媒体系统、嵌入式系统。
▲问:
用户与操作系统的接口
答:
分为用户接口(联机/脱机/图形用户接口)和程序接口
传统操作系统结构的OS无结构、模块化结构、分层式结构
早期的操作系统的部既复杂又混乱,是无结构的,又称整体系统结构
问:
衡量模块独立性的标准
答:
①聚性:
指模块部各部分之间的联系紧密程度。
聚性越高,模块独立性越强;②耦合度:
指模块间的相互联系和相互影响程度。
耦合度越低,模块独立性越高。
问:
分层设计的基本原则
每一步设计都建立在可靠的基础上,各层间只存在单向依赖关系(高层依赖于紧贴着的低层)
:
客户/服务器模式简称为C/S模式
问:
裸机
答:
完全无软件的计算机系统,仅由硬件组成
第二章进程的描述与控制
▲问:
前趋图
答:
是指一个有向无循环图,用于描述进程之间执行的先后顺序。
把没有前趋的结点称为初始结点,把没有后继的结点称为终止结点。
前趋图中不允许有循环,否则必然产生不可实现的前趋关系。
▲问:
程序
答:
程序是指令的有序集合,可以作为一种软件资料长期保存。
▲问:
程序顺序执行
答:
在早期未配置OS的系统和单道批处理系统中,程序的执行方式是顺序执行。
具有以下特征:
①顺序性:
按规定的顺序操作;②封闭性:
程序运行时独占全机资源,执行结果不受外界因素干扰;③可再现性:
只要执行环境和初始条件相同,执行结果就相同。
问:
程序并发执行
答:
只有在不存在前趋关系的程序之间才有可能并发执行。
▲特征:
①间断性:
“执行——暂停——执行”;②失去封闭性;③不可再现性。
▲原因:
程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系,而相互制约导致了并发程序的间断性;多个并发执行的程序共享系统资源,势必会改变系统的资源状态,从而影响到使用该资源的程序,因而失去封闭性;在失去封闭性后,程序的计算结果将受到并发程序执行速度的影响,因而失去可再现性。
▲问:
进程
答:
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
进程实体简称进程,由程序控制块PCB、程序段、数据段构成。
(创建/撤消进程,实质是创建/撤消PCB)。
▲进程的特征动态性(生命期)、并发性、独立性、异步性(程序不具备这些特性)
▲三种基本状态①就绪状态Ready:
指进程已准备好运行,就差获得CPU;②执行状态Running;③阻塞状态Block:
也称等待状态或封锁状态。
▲转换图:
答:
▲进程的创建步骤(调用进程创建原语Creat)
①申请空白PCB;②为新进程分配运行时所必须的资源(包括向PCB填写用于控制和管理进程的信息);③初始化PCB;④将进程转入就绪状态并插入就绪队列。
创建状态保证进程的调度在创建工作完成后执行,确保对进程控制块操作的完整性。
终止状态进入终止状态的进程以后不能再执行,但有在操作系统中保留一个包含数据的记录,供其他进程收集。
当其他进程完成对其的信息提取后就删除该进程。
挂起操作
答:
使进程处于静止状态,例如,挂起前正在执行,挂起后暂停执行;挂起前是就绪状态,挂起后暂时不接受调度。
与之对应的是激活操作。
▲引发进程终止的条件
①正常结束,表示进程已完成任务;②异常结束,表示进程在运行时发生了某种异常事件,或是出现了无法克服的错误;③外界干预,表示进程受外界请求而终止运行,例如被操作系统或其他进程所终结。
▲进程的终止过程
①从PCB集合中检索出该进程的PCB,读取进程状态;②终止处于执行状态的该进程,包括其子进程,并置调度标志为真;③将其所拥有的资源归还给父进程或系统;④将其移出队列。
问:
进程管理中的数据结构
答:
分为存表、设备表、文件表、进程表。
问:
进程控制块PCB
答:
用于描述进程的当前情况及管理进程运行,记录了实现上述功能所需的全部信息,是操作系统中最重要的记录型数据结构
▲问:
PCB的作用
答:
使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。
具体如下:
①作为独立运行基本单位的标志;②能实现间断性运行方式;③提供进程管理所需要的信息;④提供进程调度所需要的信息;⑤实现与其它进程的同步与通信。
问:
处理机状态信息
答:
也称为处理机的上下文,主要由处理机的各种寄存器的容组成。
这些寄存器包括:
①通用寄存器;②指令计数器;③程序状态字PSW;④用户栈指针。
问:
进程调度信息
答:
①进程状态:
指明进程当前状态;②进程优先级:
描述进程使用处理机的优先级别;③进程调度所需的其他信息;④事件,即阻塞原因。
问:
进程控制信息
答:
①程序和数据的地址;②进程同步和通信机制;③资源清单;④指针。
▲问:
PCB的组织方式
答:
①线性方式(将PCB组织在线性表中);②方式(队列);③索引方式。
问:
操作系统核
答:
通常将一些与硬件紧密相关的模块、各种常用设备的驱动程序以及运行频率较高的模块,都安装在紧靠硬件的软件层次,即OS核中,使它们常驻存。
▲OS核两大方面功能
答:
①支撑功能:
中断处理、时钟管理、原语操作;②资源管理功能:
存储器管理、设备管理、进程管理。
问:
处理机的执行状态
答:
①系统态,又称管态、核态,具有较高特权,可执行一切指令;②用户态,又称目态,具有较低特权,仅能执行规定的指令。
(一般情况下应用程序只能在用户态运行)
▲问:
原语
答:
原语是由若干条指令组成的、用于完成一定功能的过程。
与一般过程的区别在于:
原语是原子操作,即操作中的所有动作是一个不可分割的整体,要么全做要么全不做。
所以原语执行时不允许被中断。
常见原语:
创建原语Creat,阻塞原语block,唤醒原语wakeup,挂起原语suspend,激活原语active。
▲问:
进程间的两种制约关系
答:
①间接相互制约:
进程-资源-进程;②直接相互制约:
进程-进程
▲问:
临界资源与临界区
答:
一次只允许一个进程使用的资源称为临界资源,访问临界资源的那段代码称为临界区。
▲问:
同步机制应遵循的规则
答:
空闲让进、忙则等待、有限等待(保证资源在有限时间进入临界区,避免“死等”)、让权等待(进不了临界区时释放处理机,避免“忙等”)
问:
实现进程互斥的三个方法
答:
管理临界区时将标志看做一个锁,每个要进入临界区的进程必须先测试锁,关则等待,开则进入并关锁。
锁测试和关锁操作必须是连续的,不可分开进行。
①关中断:
实现互斥的最简单的方法之一。
在进行锁测试前关闭中断,完成锁测试并上锁后再打开中断。
②使用原语Test-and-Set指令:
booleanTS(boolean*lock){
booleanold;
old=*lock;
*lock=TRUE;//TRUE表已上锁,及资源正被使用;FALSE表资源空闲
returnold;
}
③使用Swap指令:
为每个临界资源设置一个全局布尔变量lock,在每个进程使用局部布尔变量key。
voidswap(boolean*a,boolean*b){
booleantemp;
temp=*a;
*a=*b;
*b=temp;
}
②③存在忙等状态(不停地锁测试),不符合让权等待的原则。
▲问:
进程同步互斥时常用的信号量
①整形信号量:
除初始化外仅能通过原子操作wait(S)和signal(S)(也称P、V操作)来访问。
并未遵循“让权等待”原则。
wait:
请求资源;signal:
释放资源
②记录型信号量:
遵循“让权等待”,不存在“忙等”。
其中的list是一个链表指针,用于等待该资源的进程,value表示系统某类资源的数目,每次wait申请资源后,value减一,当value<0表示资源已分配完毕,此时进程应调用block原语进行自我阻塞。
signal释放资源使value加一。
若加一后value仍小于0,表示仍有申请该资源的进程被阻塞,此时应调用wakeup原语,唤醒list链表中的第一个等待进程。
③AND型信号量:
基本思想是将进程在整个运行过程中需要的所有资源一次性全部分配给进程,待进程使用完后一起释放。
可避免死锁。
④信号量集:
可设置信号量测试值n,一次性申请n个资源,并可设置分配下限值t,当申请资源数低于下限值时不予分配。
如:
Swait(S,t,n),表示只有一个信号量S,允许每次申请n个资源,申请数不可小于t;Swait(S,1,1)相当于普通的记录型信号量;Swait(S,1,0)相当于可控开关,S≥1时允许多个进程进入,S=0时阻止任何进程进入。
对应有Ssignal(S,n)
▲在生产者-消费者问题中,如果对调生产者进程中的两个wait操作,可能导致死锁。
由于signal操作是释放资源,因此对该操作的次序无关紧要。
▲问:
线程与进程的比较
答:
①独立运行:
线程和进程都是能独立运行的基本单位,但线程被调度时的开销更小;②并发性。
进程间可以并发,进程的线程间或不同进程的线程间也可以并发,更加有效地提高系统资源利用率和系统吞吐量;③拥有资源:
进程可以拥有资源,线程不仅可以拥有少量资源还可以共享该进程的资源;④独立性:
同一进程的线程间的独立性远低于不同进程间的独立性;⑤系统开销:
线程的创建、撤消、切换远低于进程;⑥线程支持多处理机系统。
▲问:
进程通信
答:
指进程间的信息交换。
四种通信机制/类型:
①共享存储器系统;②管道通信系统;③消息传递系统;④客户机-服务器系统
▲问:
引入线程的原因
答:
为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。
第三章处理机调度与死锁
▲问:
处理机的调度层次
答:
①高级调度:
调度对象是作业,又称长程调度或作业调度,将外存作业调入存,创建进程,分配资源,插入就绪队列;②低级调度:
调度对象为进程,又称短程调度或进程调度,运行频率最高,给就绪队列的进程分配处理机;③中级调度:
又称存调度,将进程调至外存或调入存,目的是提高存利用率和系统吞吐量。
问:
吞吐量
答:
单位时间系统所完成的作业数。
▲问:
批处理系统的目标:
平均周转时间短、系统吞吐量高、处理机利用率高
▲分时系统的目标:
响应时间快、均衡性
▲实时系统的目标:
截止时间的保证、可预测性
▲问:
进程的调度方式
答:
①抢占方式:
允许调度程序根据某原则去暂停某个正在执行的进程,将已分配给进程的处理机重新分配给其他进程;②非抢占方式:
一旦将处理机分配给某进程后就一直允许下去,除非进程完成或进程阻塞。
▲问:
实时调度算法分类
答:
①非抢占式调度算法(轮转调度、优先调度);②抢占式调度算法(基于时钟中断、立即抢占)。
相应时间:
轮转>优先>时钟中断>立即。
问:
两类系统资源
答:
①可抢占资源:
该资源被进程获得后,还可以被其他进程或系统抢占;②不可抢占资源:
该资源一旦被分配给进程就不能强行收回,只能等进程用完后自行释放。
(另两种资源:
①可重用性资源;②可消耗性资源:
又称临时性资源,由进程在运行期间动态地创建和消耗)
▲问:
死锁的定义
答:
如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。
(死锁起因:
多个进程对资源的争夺,进程所等待的资源被双方占用,双方都在等待对方释放自己所需的资源,却无法释放出自己占有的资源,一直处于僵持状态形成死锁。
)
▲问:
产生死锁的必要条件(必须同时具备四个):
互斥条件、请求和保持条件、不可抢占条件、循环等待条件
▲问:
处理死锁的方法(防程度逐渐减弱):
答:
预防死锁(破坏死锁必要条件)、避免死锁(资源分配时采取某方法)、检测死锁、解除死锁
问:
预防死锁时破坏“请求和保持”条件的两种协议
答:
①进程运行前一次性申请整个运行过程所需的全部资源;②运行前只获得运行初期所需的资源便开始运行,使用并释放这些资源后在请求新的所需资源。
第四章存储器管理
问:
程序运行前的步骤:
答:
编译、、装入(将源程序编译成若干模块,将模块及所需库函数成完整的装入模块,将装入模块装入存)
▲问:
程序的装入方式
答:
①绝对装入:
将模块装入存实现指定的绝对地址;②可重定位装入:
装入后逻辑地址与物理地址不相同,把在装入时对目标程序中指令和数据地址的修改过程称为重定位;③动态运行时的装入:
将模块装入存后不立即将模块逻辑地址转为物理地址,在程序真正执行时才转换。
问:
程序的
答:
①静态:
在程序运行抢将模块和库函数成完整装配模块并不再拆开;②装入时动态:
边装入边;③运行时动态。
问:
存空间连续分配方式
答:
①单一连续分配;②固定分区分配;③动态分区分配:
又称可变分区分配,根据进程实际需要动态分配存空间;④动态可重定位分区分配
▲问:
基于顺序搜索的动态分区分配算法
答:
将系统中的空闲分区成一个链。
①首次适应算法(FF):
从链首开始顺序查找,直到找到大小满足要求的分区,按照作业大小分割该分区。
缺点:
留下了很多碎片。
②循环首次适应算法(NF):
从上次找到的空闲分区的下一个空闲分区开始查找,采用循环查找方式。
③最佳适应算法(BF):
总是挑选每组要求、又是最小的空闲分区,缺点同样是留下碎片。
④最坏适应算法(WF):
总是挑选最大的空闲区,缺点是导致存储器缺乏大的空闲分区。
▲问:
紧凑
答:
把原来多个分散的小分区拼接成一个大分区的方法称为“拼接”或“紧凑”。
每次紧凑后都必须对移动了的程序或数据进行重定位(紧凑后物理地址变化)
▲问:
动态重定位
答:
使用动态运行时装入的方式,在系统中增设一个重定位寄存器,用来存放程序在存中的起始地址,执行时真正访问的地址是相对地址加上重定位寄存器中的地址,紧凑后不需修改程序,秩序用程序新地址置换原来的起始地址,不影响系统效率。
问:
动态重定位分区分配算法与动态分区分配算法的区别
答:
前者增加了紧凑功能。
问:
对换
答:
把存中暂时不能运行的进程或者暂时不用的程序/数据换出到外存上以腾出存空间,再把已具备运行条件的进程或进程所需要的程序/数据换入存。
对换能改善存利用率,直接提高处理机的利用率和系统吞吐量。
问:
对换的类型
答:
①整体对换:
以整个进程为单位,例如处理机中级调度;②页面(分段)对换:
以进程的一个“页面”或“分段”为单位。
问:
三种离散分配方式
答:
①分页存储管理方式:
将用户程序的地址分为若干个固定大小的区域(即页/页面),并将存空间分为若干个物理块或页框,页和块的大小相同,可将用户程序的任一页放入任一物理块中实现离散分配;②分段存储管理方式;③段页式存储里方式。
▲问:
分页地址结构
答:
左部分是页号P,右部分是位(偏)移量,即页地址d。
若给定逻辑地址A、页面大小L,可求:
P=A/L(整除),d=A%L
分页存储管理的地址变换
答:
借助页表,将用户地址空间中的逻辑地址转换为存空间中的物理地址。
由于页地址和物理地址是一一对应的,故地址变换实际上只是将逻辑地址中的页号转换为存中的物理块号。
页表功能由一组专门的寄存器实现。
变换过程:
将有效地址(相对地址)分为页号和页地址两部分→比较页号和页表长度→再以页号为索引去检索页表→将页表始址与页号和页表项长度的乘积相加,得到该表在页表中的位置,从中得到该页的物理块号→将有效地址寄存器中的页地址送入物理地址寄存器的块地址字段中。
问:
存的有效访问时间
答:
从进程发出请求到取出数据所花费的总时间。
问:
引入分段存储管理方式的目的
答:
①程序通常都可分为若干个段,每个段大多是一个相对独立的逻辑单位;②实现和满足信息共享、信息保护、动态及信息的动态增长等需要。
分段存储管理的地址变换
答:
在系统中设置段表寄存器,用于存放段表始址和段表长度TL,变换过程:
比较段号和段表长度→读出该段的存始址→比较段地址和段长→段地址加基址为物理地址
▲问:
分页和分段
答:
共同点:
采用离散分配方式;通过地址映射实现地址变换;
区别:
①页是信息的物理单位,段是信息的逻辑单位;②页的大小固定且由系统决定,段长度不固定且由用户编写的程序决定;③分页的用户程序地址空间是一维的,分段是二维的。
第五章虚拟存储器
问:
常规存储器管理方式的特征
答:
①一次性:
将作业一次性全部装入存后才能开始运行;②驻留性:
作业被装入存后整个作业都一直留在存中直至作业运行结束。
问:
程序运行时的局限性
答:
①时间局限性:
重复执行某指令或重复访问某数据;②空间局限性:
程序在一段时间所访问的地址可能集中在一定围之。
▲问:
虚拟存储器
答:
一种具有请求调入功能和置换功能,能从逻辑上对存容量加以扩充的存储器系统。
特征
答:
①多次性:
作业中的程序和数据允许被分成多次调入存运行;②对换性:
允许在作业的运行过程中进行换进、换出;③虚拟性:
从逻辑上扩充存容量,使用户所看到的存容量远大于实际存容量。
△多次性和对换性是虚拟性的前提条件。
▲问:
缺页中断
答:
在请求分页系统中,当所要访问的页面不在存时便产生缺页中断。
缺页中断是一种特殊的中断,与一般中断的区别在于:
①缺页中断在指令执行期间产生和处理中断信号,而通常CPU都是在一条指令执行完后才检查是否有中断的;②一条指令在执行期间可能产生多次缺页中断。
问:
缺页率
答:
进程访问页面失败(即页面不在存中)的次数F÷总的页面访问次数A。
问:
影响缺页率的因素
答:
①页面大小(页面越大,缺页率越低);②进程所分配的物理块的数目(物理块越多,缺页率越低);③页面置换算法的优劣;④程序固有特性(如编制方法)
▲问:
页面置换算法
答:
①最佳置换算法:
淘汰掉以后永不使用的或未来最长时间不再被访问的页面,是一种理想化算法,可作为标准来评价其他算法的优劣;②先进先出算法:
淘汰最先进入存,也就是在存中驻留时间最久的页面,是最早出现的置换算法;③最近最久未使用置换算法(LRU):
淘汰最近最久没使用的页面,需要有寄存器或栈的支持;④最少使用置换算法(LFU):
淘汰最近最少使用的页面;⑤Clock置换算法:
a、简单版(淘汰掉没有使用过的页面);b、改进版(即考虑页面使用情况又考虑置换代价)
问:
“抖动”
答:
指处理机的利用率急剧下降并趋于0的情况。
根本原因:
同时运行的进程太多,导致分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,造成每个进程的大部分时间都用于页面的换进/换出。
第六章输入输出系统
问:
I/O设备的四种控制方式
答:
①采用轮询的可编程I/O方式;②采用中断的可编程I/O方式;③直接存储器访问方式(DMA);④I/O通道方式。
问:
I/O软件四个层次
答:
用户层I/O软件、设备独立性软件、设备驱动程序、中断处理程序。
问:
I/O系统三个层次
答:
设备独立性软件、设备驱动程序、中断处理程序。
▲问:
I/O设备类型
答:
①按使用特性分类可分为存储设备和I/O设备;②按传输速率分类可分为低速、中速、高速设备。
▲问:
I/O通道的定义
答:
I/O通道是一种特殊的处理机,具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作
▲通道类型
答:
①字节多路通道(含有多个非分配型子通道,一个子通道连接一台I/O设备);②数组选择通道(含有一个分配型子通道,每次只允许一个设备传输数据);③数组多路通道
▲“瓶颈”
答:
通道价格昂贵,使得机器中的通道数量较少,造成整个系统吞吐量下降。
解决方法:
增加设备到主机间的通路。
▲问:
对I/O设备的控制方式
答:
①使用轮询的可编程I/O方式(循环测试busy值);②使用终端的可编程I/O方式;③直接存储器访问方式(DMA);④I/O通道控制方式
▲问:
与设备无关的软件
答:
与设备无关的软件是I/O系统的最高层软件,包括:
①设备驱动程序的统一接口;②缓冲管理;③差错控制;④对独立设备的分配与回收;⑤独立于设备的逻辑数据块。
问:
设备分配中的数据结构
答:
①设备控制表DCT;②控制器控制表、通道控制表和系统设备表。
问:
假脱机(spooling)系统
答:
假脱机技术:
在联机情况下实现的同时外围操作的技术。
能够使一台物理I/O设备虚拟为多台逻辑I/O设备,允许多个用户共享一台物理I/O设备
spooling的组成
答:
①输入井和输出井;②输入缓冲区和输出缓冲区;③输入进程和输出进程;④井管理程序。
问:
假脱机打印机系统的组成