版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统(课程代码13180)分章节高频考点·重点汇总(划书版)指定教材:陈向群、孙卫真主编《操作系统》,机械工业出版社2023年版(共8章)。适用:2026年10月高等教育自学考试。本汇总严格依据指定教材章节顺序与考试大纲,并结合2024年10月、2025年4月、2026年4月三套真题的命题规律整理。彩色标注说明:【单选】蓝色、【填空】绿色、【简答】紫色、【综合】红色;加红色下划线的文字为必须背记的“划书”重点;蓝色底纹表格为易混点对比;综合题常考的计算(调度、分页地址、磁盘、置换、银行家、PV)均给出公式与步骤。题型与分值:单选20×1=20分、填空10×2=20分、简答5×4=20分、综合4×10=40分,满分100分。
第一章操作系统概论第一节操作系统的概念●【单选】操作系统是配置在计算机硬件上的第一层系统软件,是对硬件系统的第一次扩充;它紧贴硬件,其他系统软件(编译、汇编等)和应用软件都建立在操作系统之上。●【单选/填空】从资源管理观点看,操作系统是控制和管理计算机硬件与软件资源、合理组织计算机工作流程、方便用户使用的程序和数据的集合。●【简答】操作系统的目标(设计目标):①方便性——方便用户使用;②有效性——提高资源利用率和系统吞吐量;③可扩充性——便于增删功能、适应发展;④开放性(开放性/可移植性)——遵循标准、便于互连和移植。●【简答】操作系统的作用主要体现在三方面:①作为用户与计算机硬件之间的接口;②作为计算机系统资源的管理者;③实现了对计算机资源的抽象(用扩充机器/虚拟机隐藏硬件细节)。●【多选/单选】资源管理的四大类功能:处理机管理、存储器管理、设备管理、文件管理;此外还提供用户接口(作业管理)。●【单选】操作系统向用户提供的三类接口:命令接口(联机/脱机命令)、程序接口(系统调用)、图形接口(GUI)。●【填空】操作系统是配置在硬件上的第一层软件,其他软件都要在它的支持下运行,故它是整个计算机系统的核心和基础。第二节操作系统的发展●【单选】操作系统发展的主要阶段:手工操作阶段→单道批处理阶段(监控程序)→多道批处理阶段→分时系统→实时系统→(网络、分布式、嵌入式等)。●【填空/单选】手工操作阶段的突出矛盾是人机速度矛盾(CPU等待人工操作),用户独占全机、资源利用率极低。●【单选】脱机输入/输出(Off-LineI/O)用外围机把作业先送到磁带、再由磁带调入内存,减少了CPU等待手工装卸的时间。●【单选/填空】单道批处理系统内存中每次只存放一道作业,由监控程序(监督程序)自动控制作业依次运行;它具有自动性、顺序性、单道性,但某道作业做I/O时CPU仍空闲。●【简答/综合】多道程序设计:在内存中同时存放若干道相互独立的程序,它们在管理程序控制下交替占用CPU、共享系统资源并发执行;当一道程序等待I/O时,CPU立即转去执行另一道程序。●【简答】多道程序设计的作用(优点):①减少CPU空闲等待,显著提高CPU、内存和I/O设备的利用率;②提高系统吞吐量;③使多道程序宏观上并行(并发)。其特点是多道、宏观上并行、微观上交替(串行)、无人工干预、无交互能力。●【单选】多道程序设计能提高资源利用率的根本原因是利用了CPU与I/O设备、设备与设备之间的并行工作。●【单选/填空】多道批处理系统的主要缺点:用户不能与自己的作业交互(无交互性)、作业平均周转时间长。第三节操作系统分类●【简答】分时系统:在一台主机上连接多台终端,多个用户通过终端同时、交互地使用计算机,系统把处理机时间划分成时间片轮流分给各终端作业。●【简答】分时系统的四大特征:①多路性(同时性);②交互性(人机对话);③独立性(各用户互不干扰、感觉独占主机);④及时性(请求能在可接受时间内响应)。●【单选】分时系统的及时性以人能接受的等待时间(通常2~3秒)为标准;推动分时系统发展的主要动力是满足人机交互的需要。●【填空/单选】实时系统:要求系统能及时(在规定的截止时间内)响应外部事件并完成处理,强调及时性和高可靠性,常用冗余、容错技术。●【单选】实时任务按是否有严格截止期分为硬实时任务(错过截止期会造成严重后果,如导弹控制)和软实时任务(偶尔超时可容忍,如视频播放);按时间特征分为周期性与非周期性任务。●【简答】分时与实时的区别:①分时强调多用户交互、公平使用,实时强调严格时限;②实时对响应时间的要求更确定、更严格;③实时对可靠性、安全性要求更高;④实时处理常由外部事件驱动、周期性强。●【单选】批处理系统追求的主要目标是高吞吐量和高资源利用率;分时追求快速响应;实时追求及时可靠。●【单选】网络操作系统强调网络中各机的通信与资源共享;分布式操作系统中多台计算机协同工作、对用户透明、无主从之分,任务可在各机间迁移。●【单选】嵌入式操作系统运行在嵌入式设备中,强调微型化、可裁剪、实时和可靠。兼有批处理、分时、实时等多种能力的系统称为通用操作系统(如UNIX/Linux、Windows)。第四节操作系统设计●【单选】操作系统的结构设计模式主要有:无结构(整体)、模块化结构、层次式结构、微内核结构。●【单选/简答】微内核结构:只把进程管理、中断处理、进程通信等最基本、最必要的功能放入内核,而把文件、设备等服务作为运行在用户态的服务器进程实现,客户与服务器之间通过消息传递通信。●【简答】微内核的优点:内核小、易扩充和修改、易于移植到不同硬件、可靠性高(局部服务出错不会使整个系统崩溃)、适合分布式和客户/服务器环境;缺点是消息传递和模式切换频繁、有一定性能开销。●【单选】层次式结构把操作系统分成若干层,每层只使用其下层提供的功能,便于调试和保证正确性,但层次划分困难、效率受层间调用影响。●【填空】将与硬件紧密相关、运行频率高、为系统提供基本支撑的模块集中在一起常驻内存,称为内核;内核通常包括中断处理、时钟管理、原语、进程调度与控制、存储器管理的基本操作等。第五节操作系统启动●【填空/综合】操作系统的启动顺序:BIOS自检→加载引导程序(BootLoader)→启动(装入)内核→初始化系统。●【单选】计算机加电后首先执行固化在ROM中的BIOS(基本输入输出系统),完成硬件自检(POST)和初始化;随后从启动盘读入引导程序(引导扇区/BootLoader);引导程序再把操作系统内核装入内存并把控制权交给内核,由内核完成系统初始化。●【单选】系统加电、操作系统获得控制权时,CPU最初处于管态(核心态),以便完成初始化等特权操作。第二章操作系统运行环境与运行机制第一节计算机系统的层次结构●【单选】计算机系统由硬件和软件组成,软件分系统软件和应用软件;层次自下而上为:裸机(硬件)→操作系统→其他系统软件/实用程序→应用软件→用户。●【填空】操作系统是最贴近硬件的系统软件,它向下管理硬件、向上为其他软件和用户提供服务与接口。第二节中央处理器(CPU)●【单选】CPU由运算器、控制器和寄存器组成;寄存器速度最快,与CPU同速。●【单选/填空】寄存器分为两类:①用户可见寄存器(通用寄存器、数据寄存器、地址寄存器等),用户程序可直接使用;②控制和状态寄存器(程序计数器PC、指令寄存器IR、程序状态字PSW、存储器地址寄存器MAR、存储器数据寄存器MDR等),对用户不可见,由系统使用。●【单选】程序计数器PC存放下一条要执行指令的地址;指令寄存器IR存放当前正在执行的指令;程序状态字PSW记录CPU当前状态(管/目态、条件码、中断屏蔽位等)。●【单选/填空】指令系统分为特权指令和非特权指令。特权指令只能由操作系统在管态执行,如启动I/O、设置时钟、设置中断屏蔽、修改PSW、存取内存保护寄存器等;非特权指令用户程序在目态即可执行。●【填空】CPU有两种工作状态:管态(核心态/系统态)执行操作系统程序、可执行全部指令;目态(用户态)执行用户程序、只能执行非特权指令。●【单选】用户程序要求操作系统服务或发生中断/异常时,CPU由目态转入管态;系统调用返回时由管态回到目态。访管指令(陷入指令trap)本身是非特权指令,在目态执行,但它引起向管态的转换。●【单选】用户程序试图在目态执行特权指令属于非法操作,将产生程序性中断(异常)。第三节存储系统●【单选/综合】多级存储体系按速度由快到慢:寄存器→高速缓存Cache→内存(主存)→外存(磁盘等);速度越快价格越高、容量越小。●【填空】引入Cache是为了缓解高速CPU与相对低速内存之间的速度矛盾,其依据是程序执行的局部性原理。●【单选】寄存器、Cache在CPU芯片内外,内存是程序运行的主要场所,外存用于长期保存;操作系统的存储管理主要针对内存,并通过虚拟存储把外存当作内存的逻辑扩充。第四节中断机制●【填空/单选】中断是指CPU对系统中或系统外发生的异步事件的响应;引入中断后,CPU与设备、设备与设备才能并行工作,并使系统能及时处理各种随机事件。●【简答/单选】中断源分类:分类典型例子与当前程序关系外中断(异步中断/硬件中断)时钟中断、I/O中断、硬件故障(电源)中断来自CPU之外,随机发生,与当前程序无逻辑关联内中断(同步中断/异常)程序性中断(溢出、缺页、地址越界、除数为0)、访管(陷入)中断由执行当前指令本身引起,与当前程序有逻辑关联、必然发生●【单选】缺页中断、除数为零、运算溢出、地址越界都属于异常(同步中断/内中断);键盘输入、磁盘完成、时钟到点属于外中断(异步中断)。●【填空】中断向量是中断处理程序的入口地址(及相应的程序状态字);所有中断向量集中存放在中断向量表中,由中断号(向量号)索引。●【简答】中断处理的一般过程:①中断源发出中断请求;②中断装置(硬件)响应,按优先级并经中断屏蔽判断,由硬件保护断点和现场(PC、PSW、寄存器);③根据中断向量转入相应中断处理程序;④执行具体处理;⑤恢复现场,执行中断返回指令,回到被中断的程序继续执行。●【单选】保护现场中,断点(PC)和PSW等最关键内容通常由硬件在中断响应时自动保存,其余寄存器由中断处理程序(软件)保存。●【单选/填空】当多个中断同时出现时,按中断优先级决定响应次序;允许高优先级中断打断正在处理的低优先级中断称为中断嵌套,可通过中断屏蔽(开/关中断)控制是否响应。●【简答】如果一个中断处理过程中又发生新中断,可采用两种策略:①屏蔽(禁止)中断——处理期间关闭中断、不响应其他中断,实现简单但不能及时处理高优先级事件;②中断嵌套——按优先级允许高优先级中断打断低优先级处理,实时性好但要妥善保护现场。第五节I/O技术●【简答/综合】四种I/O控制方式(按CPU干预由多到少、并行程度由低到高):方式传输单位CPU与设备特点程序直接控制(忙等查询)字/字节串行CPU不断查询设备状态,效率最低中断控制方式字/字节可并行设备完成后中断CPU,每传一个字(字节)中断一次DMA方式数据块并行度高在DMA控制器控制下设备直接与内存成块交换,整块结束才中断CPU一次通道方式一组数据块并行度最高通道执行通道程序,可控制多台设备完成不连续、多块传送,CPU干预最少●【单选】DMA传输以数据块为单位、数据不经过CPU而直接在设备与内存之间传送,只在整块传送开始和结束时需要CPU。第六节时钟●【单选/填空】时钟分为绝对时钟(记录当前实际日期和时间,常由电池供电、关机不停)和相对时钟(间隔时钟)(记录从某时刻起的时间间隔,用于定时)。●【单选】按时钟实现分为硬件时钟(由专门时钟寄存器和计数电路实现)和软件时钟(利用一个内存单元模拟时钟寄存器、用一段程序对时钟脉冲计数来实现)。●【填空】时钟是操作系统进行时间片计时、定时唤醒阻塞进程、统计作业运行时间和维护系统日期时间所必需的硬件机制;时钟中断属于外中断。第七节系统调用●【单选/填空】系统调用(广义指令)是操作系统提供给编程人员、在程序中请求操作系统服务的唯一接口,是用户程序取得操作系统服务的途径。●【简答】系统调用与一般函数(过程)调用的区别:①运行在不同的处理机状态——系统调用通过访管(陷入)指令由目态进入管态、由内核执行,一般函数调用不发生状态转换;②系统调用是对操作系统内核功能的调用,执行中可能引起进程状态变化和重新调度;③返回时由管态回到目态。●【单选】系统调用按功能分为:进程控制类、文件操作类、设备管理类、信息维护类、通信类(进程间通信)。●【简答/填空】用户程序与系统程序之间传递参数的三种方法:①寄存器传递(参数放入CPU寄存器);②内存块(参数表)传递(参数放入内存指定区域,把该区域地址放入寄存器);③堆栈传递(通过用户程序堆栈压入参数)。●【单选】每个系统调用赋予唯一的系统调用号,陷入内核后据其查系统调用入口表转入相应处理程序。第三章进程/线程模型第一节进程的基本概念●【单选/填空】程序顺序执行时具有三个特征:顺序性、封闭性、可再现性;引入多道程序并发执行后,程序失去封闭性、出现间断性和不可再现性,需要引入“进程”加以描述和控制。●【填空/单选】进程的定义:进程是程序在一个数据集合上的一次执行过程,是系统进行资源分配和调度(运行)的基本单位。●【简答】进程的特征:①动态性(进程是程序的一次执行,有产生、活动、消亡的生命周期,是进程最基本的特征);②并发性(多个进程在一段时间内同时存在、交替执行);③独立性(进程是资源分配和调度的独立单位);④异步性(进程按各自不可预知的速度推进、走走停停);⑤结构特征(每个进程由程序段、数据段和PCB组成)。●【简答】进程与程序的区别:①程序是静态的、存放在存储介质上的指令集合,进程是动态的执行过程;②程序可长期保存,进程有生命周期、暂时存在;③一个程序可对应多个进程(同时执行多份),一个进程至少包含一个程序;④进程具有并发性、独立性,程序本身没有;⑤进程是资源分配和调度的基本单位。●【填空/单选】进程实体(进程映像)由三部分组成:程序段、数据段、进程控制块PCB。●【单选/填空】进程控制块PCB(ProcessControlBlock)是进程存在的唯一标志,系统通过PCB感知和管理进程;创建进程就是创建PCB,撤销进程就是回收PCB。●【简答】PCB中记录的信息:①进程标识信息(进程号PID、父进程号、用户号);②处理机现场信息(通用寄存器、PC、PSW、栈指针等,供切换时保存/恢复);③进程调度信息(进程状态、优先级、等待原因、队列指针);④进程控制信息(程序和数据地址、资源清单、同步通信信息、记账信息)。●【单选】PCB的组织方式:链接方式(按状态把PCB链成就绪队列、阻塞队列等)和索引方式(按状态建立就绪索引表、阻塞索引表)。第二节进程控制●【填空/单选】进程控制由内核中的原语实现。原语是具有原子性、执行过程中不可被中断的程序段;原语通过关中断(屏蔽中断)保证原子性。●【单选】引起创建进程的典型事件:用户登录、作业调度(批处理作业进入内存)、提供服务(如打印服务)、应用请求(如fork)。●【简答】创建原语(创建进程)的主要步骤:①申请空白PCB;②为新进程分配资源(内存、文件等);③初始化PCB(填标识、状态置为就绪、优先级、现场等);④把新进程PCB插入就绪队列。●【单选】Linux中用fork()创建子进程,子进程获得父进程资源的副本(写时复制),随后常用exec()装入并执行新程序;进程结束用exit(),父进程用wait()等待并回收。●【单选/填空】阻塞原语block(P操作式的主动等待):进程因等待某事件(如I/O、资源)而主动调用阻塞原语,把状态由运行改为阻塞、插入相应阻塞队列并重新调度;唤醒原语wakeup:当等待的事件发生时,由其他进程(或中断处理程序)把该进程由阻塞改为就绪并插入就绪队列。●【单选】阻塞是进程的主动行为,唤醒是被动的;阻塞与唤醒必须成对出现,否则被阻塞进程将永远等待。●【填空】挂起原语suspend把进程从内存换出到外存(静止状态),激活原语active再把它换入内存;引入挂起是为了调节内存负荷、便于用户/系统干预。第三节进程状态及转换●【填空/综合】进程的三种基本状态:运行态、就绪态、阻塞态(等待态)。状态含义运行态进程已获得CPU、程序正在CPU上执行(单CPU时任一时刻只有一个进程运行)就绪态进程已具备运行条件、只等待获得CPU阻塞态(等待/封锁态)进程因等待某事件(I/O、资源、信号)而暂时不能运行,即使给它CPU也不能运行●【综合】三状态之间的转换:转换典型原因就绪→运行进程调度程序选中,获得CPU运行→就绪时间片用完;或出现更高优先级就绪进程(可抢占方式)运行→阻塞请求I/O、等待资源或信号、P操作失败(主动放弃CPU)阻塞→就绪I/O完成、等待事件发生、被唤醒●【单选】就绪态不能直接变为阻塞态(就绪进程未运行、谈不上等待事件),阻塞态也不能直接变为运行态(必须先就绪、再经调度)。●【单选】五状态模型在三状态基础上增加创建态(新建)和终止态(退出);转换为:创建→就绪→运行,运行→终止,运行⇄阻塞、阻塞→就绪、运行→就绪。●【填空】进程切换(处理机切换)时要保存当前进程的处理机现场到其PCB,再从被调度进程的PCB恢复现场;进程上下文包括用户级上下文、寄存器上下文和系统级上下文。第四节线程的基本概念●【填空/单选】引入进程是为了使多个程序并发执行、改善资源利用率;引入线程则是为了减少程序并发执行时所付出的时空开销、提高并发程度。●【填空】线程是进程内一个相对独立的、可独立调度的执行单元(执行流),是CPU调度和分派的基本单位。●【简答】进程与线程的主要区别:①进程是资源分配和拥有的基本单位,线程基本不拥有资源(只拥有少量运行必需的栈、寄存器、线程控制块TCB);②线程是CPU调度和分派的基本单位,进程不是(引入线程后);③一个进程可含多个线程,同进程的线程共享该进程的地址空间和资源(代码、数据、打开文件);④线程切换通常不引起进程切换,开销小、通信方便、并发程度高;⑤进程间相互独立、需IPC通信,同进程线程间可直接读写共享变量。●【单选】线程能独立执行、共享进程资源,但不能独立拥有资源;线程同样有就绪、运行、阻塞等状态。第五节线程的实现与实例●【简答/单选】用户级线程:由应用程序通过线程库在用户空间创建和管理,内核不知道(不可见)线程的存在、仍以进程为单位调度。比较用户级线程内核级线程管理者用户空间的线程库操作系统内核内核是否可见不可见(内核只见进程)可见,内核维护每个线程上下文切换开销不需进入内核、模式切换少、速度快进入内核、开销较大阻塞影响一个线程阻塞常导致整个进程阻塞一个线程阻塞可调度同进程其他线程多处理器并行同进程多线程不能真正并行可在多个CPU上真正并行●【单选】内核级线程以线程为单位调度,一个线程阻塞时同进程其他线程仍可运行,并能在多处理器上并行;用户级线程切换快、可在任何OS上运行,但并发和并行能力受限。●【单选】多线程模型:多对一(多个用户级线程映射到一个内核级线程)、一对一(一个用户线程对应一个内核线程,如Linux)、多对多(多个用户线程映射到数量较少或相等的内核线程,兼顾开销与并行)。●【单选】Linux把线程实现为“轻量级进程”,线程与进程在内核中都用taskstruct描述,通过clone()创建并共享地址空间。●【综合/填空】下图为进程三种基本状态及其转换(运行、就绪、阻塞),要求能据事件判断状态转换方向。●【综合】五状态模型在三状态基础上增加创建态(新建)与终止态(退出):新进程经创建态进入就绪态;运行进程可因时间片到回到就绪、因等待事件进入阻塞、因运行完毕进入终止态;阻塞进程事件完成后回到就绪态(不能直接运行)。第四章进程/线程调度第一节调度的基本概念●【填空/单选】处理机调度分三级:高级调度(作业调度/长程调度)、中级调度(对换/内存调度)、低级调度(进程调度/短程调度)。级别又称主要工作调用频率高级调度作业调度、长程调度从外存后备作业队列选择作业调入内存、创建进程、分配资源,决定哪些作业能进入系统最低(批处理才有)中级调度对换调度、内存调度在内存与外存对换区之间换入换出整个进程,调节内存负荷、提高内存利用率中等低级调度进程调度、短程调度从就绪队列中选择一个进程(线程),把CPU分配给它最高、最基本●【单选】分时和实时系统通常没有作业调度,只有进程调度;作业调度又称高级调度、宏观调度。●【单选】进程调度的任务:保存当前进程现场、按算法选择就绪进程、恢复被选进程现场并把CPU交给它;完成上下文切换的程序称为分派程序(dispatcher),所花时间称为分派延迟(调度时延)。●【简答】引起进程调度(重新分配CPU)的时机:①正在运行的进程运行结束;②运行进程请求I/O或等待某事件而阻塞;③时间片用完;④在可抢占方式下出现更高优先级的就绪进程;⑤进程通信中执行了某些原语(如P操作阻塞)。●【单选】调度方式分非抢占(非剥夺)方式和抢占(剥夺)方式。非抢占方式一旦把CPU分给某进程便让它一直运行到结束或主动阻塞;抢占方式允许按某种原则(优先级、时间片)暂停当前进程、把CPU让给更紧迫的进程。第二节调度的设计思路(准则与指标)●【简答】面向系统的调度准则:①提高系统吞吐量;②提高处理机(CPU)利用率;③使各类资源均衡使用;④公平,不使进程长期得不到服务。●【简答】面向用户的调度准则:①响应时间短(分时);②周转时间短、平均周转时间短(批处理);③截止时间有保证(实时);④可预测性、优先权准则(紧急作业优先)。●【综合/填空】常用时间指标(必须会算):指标计算式完成时间进程执行结束的时刻周转时间周转时间=完成时间−到达时间(提交时间)=等待时间+运行时间平均周转时间各进程周转时间之和÷进程数带权周转时间带权周转时间=周转时间÷运行(服务)时间(其值≥1,越接近1越好)平均带权周转时间各进程带权周转时间之和÷进程数等待时间在就绪队列中等待CPU的时间之和(周转时间−运行时间)响应时间从提交请求到系统首次产生响应所经历的时间(分时系统指标)第三节经典调度算法(重点、综合题必考)●【综合】先来先服务FCFS:按作业(进程)到达的先后次序调度,非抢占;实现简单、对所有作业公平、利于长作业和CPU繁忙型作业;但对短作业和I/O繁忙型作业不利,平均等待时间往往较长。●【综合】短作业(短进程)优先SJF/SPF:优先调度运行时间(服务时间)最短的作业,非抢占;平均等待时间、平均周转时间最短;缺点是需要预先估计运行时间、对长作业不利、可能使长作业长期得不到服务(饥饿),且未考虑作业紧迫程度。●【综合】最短剩余时间优先SRTF:SJF的抢占版本,每当新进程到达时比较其运行时间与当前运行进程的剩余运行时间,新进程更短则抢占;平均周转时间通常更短,但增加了切换开销。●【综合】时间片轮转RR:就绪进程按FCFS排队,每个进程一次运行一个时间片q,时间片用完便回到队尾、把CPU让给下一个进程;公平、响应快,适合分时系统。时间片过大退化为FCFS;过小则上下文切换过于频繁、开销大。●【综合】优先级调度(优先权法):按优先级高低调度,分非抢占式与抢占式;优先级又分静态优先级(创建时确定、不变,简单但可能使低优先级进程饥饿)和动态优先级(运行中随等待时间等调整)。●【单选】防止低优先级进程饥饿的常用办法是老化(aging):让进程的优先级随等待时间增长而逐渐提高。●【综合】高响应比优先HRRN(响应比高者优先):非抢占,每次调度计算响应比并选最高者;响应比Rp=(等待时间+要求运行时间)÷要求运行时间=1+等待时间/运行时间。它兼顾了短作业(运行时间小、响应比高)和长作业(等待越久响应比越高、不会饥饿),但每次调度都要计算、开销较大。综合题示范(调度计算,务必掌握步骤)●【综合】例:四个进程P1~P4到达时刻/运行时间分别为P1(0,5)、P2(1,3)、P3(2,8)、P4(3,2),采用FCFS,忽略切换开销。按到达先后依次执行P1→P2→P3→P4,画出甘特图并求周转时间。●【综合】由调度结果表:完成时间P1=5、P2=8、P3=16、P4=18;周转时间=完成−到达,分别为5、7、14、15;平均周转时间=(5+7+14+15)/4=10.25。做题时务必:①先列到达顺序;②逐段画甘特图确定开始/完成时刻;③再算周转、带权周转与平均值。第四节其他调度算法●【简答/单选】多级队列调度:把就绪进程按类型或性质(如前台交互、后台批处理)分成若干个独立队列,进程通常固定属于某一队列;各队列可有自己的调度算法,队列之间按优先级或固定比例分配CPU。●【简答】多级反馈队列调度(MLFQ):设置多个优先级从高到低的就绪队列,各级时间片由小到大;新进程先进入最高优先级队列队尾,按RR运行,若一个时间片未完成则降到下一级队列末尾;仅当高优先级队列为空时才调度低一级队列;可对长期等待的低优先级进程进行提升。●【单选】多级反馈队列综合了优先级、RR和SJF的优点:短作业/交互作业在高级队列快速完成,长作业逐级下降、在低级队列获得较长时间片,不必预知运行时间,适应性强。第五节多处理器与实时调度●【单选】多处理器调度按并发粒度分为无约束、粗粒度、中粒度、细粒度;常见策略有负载共享(所有就绪进程放入公共队列、各CPU自取)、成组调度、专用处理器、动态调度等;对称多处理(SMP)中各处理器地位相同。●【单选/填空】实时任务按时间约束分为硬实时(必须满足截止期,否则灾难性后果)和软实时(偶尔错过可容忍);按到达规律分为周期性、非周期性(偶发)任务。●【综合/单选】速率单调调度RMS(RMS):静态优先级算法,任务优先级在运行前确定,周期越短、优先级越高;可调度的CPU利用率上界为n(2^(1/n)−1),当n→∞时趋于ln2≈0.693。●【综合/单选】最早截止时间优先EDF:动态优先级算法,按任务(作业)截止时间的早晚动态确定优先级,截止时间越早优先级越高,可用于抢占式或非抢占式;理论上只要总利用率不超过1(100%)就可调度。●【综合】最低松弛度优先LLF(最低紧急度优先):按松弛度(松弛时间)大小调度,松弛度越小越优先;松弛度=必须完成的截止时间−尚需运行时间−当前时间(=截止时间−剩余运行时间−当前时刻)。第五章存储管理第一节存储管理概述●【简答】存储管理的主要功能(任务):①内存的分配与回收;②地址变换(地址映射/重定位);③内存的共享与保护;④内存扩充(虚拟存储,从逻辑上扩充内存)。●【单选/填空】用户编程使用的是从0开始的逻辑地址(相对地址、虚地址),程序在内存中实际占用的地址是物理地址(绝对地址、实地址);程序中符号名组成的地址空间称符号地址空间。●【单选/填空】把逻辑地址转换为物理地址的过程称为地址重定位(地址映射、地址变换)。重定位方式何时转换是否要求程序连续/可移动静态重定位程序装入内存时一次性完成转换(由装入程序)装入后地址固定、不能在内存中移动动态重定位指令执行访问内存时由硬件(重定位寄存器/MMU)动态转换程序可在内存中移动、便于紧凑和虚拟存储●【单选】程序的装入方式:绝对装入、可重定位装入(静态重定位)、动态运行时装入(动态重定位,需重定位寄存器);链接方式有静态链接、装入时动态链接、运行时动态链接。●【单选】最简单的存储管理是单一连续分配:内存分为系统区和用户区,一次只装入一道用户程序、用户独占用户区,资源利用率低。第二节分区管理●【综合/单选】固定分区(静态分区):内存预先划分成若干大小固定或不等的分区,每个分区装入一道作业;作业进入时由分区分配表分配。●【填空】固定分区中,作业实际占用小于分区大小而产生的、分区内部的浪费称为内部碎片(内零头);固定分区通常采用静态重定位,用上、下界寄存器(界限寄存器)实现存储保护。●【综合/单选】可变分区(动态分区):分区不预先划分,作业装入时按其实际需要动态划分分区,使分区大小正好适合作业;可变分区没有内碎片,但会产生外部碎片(外零头)——分区之间越来越多很小、难以利用的空闲区。●【简答/综合】可变分区的分配算法(重点):算法做法特点首次适应FF(最先适应)空闲分区按地址递增排列,从链首找第一个能满足的分区倾向于用低地址部分、高地址保留大空闲区;查找快、性能最好,最常用循环首次适应NF(邻近适应)从上次分配位置继续向下找第一个满足的分区使空闲区分布均匀,但会把高地址大空闲区分割、可能缺乏大分区最佳适应BF(最佳适应)选能满足要求的最小空闲分区(空闲区按容量递增排列)看似最优,却留下大量难以利用的极小空闲区(外碎片多)最坏适应WF(最大适应)选最大的空闲分区分配分配后余下的分区仍可能较大可用,但会迅速耗尽大空闲区●【单选】最容易产生很多很小、难以利用的外碎片的是最佳适应算法BF;综合性能最好、最常采用的是首次适应FF。●【单选】可变分区回收时要检查回收区与前、后相邻空闲区,共四种情况:前后都不邻接(新建空闲分区)、只与前邻接、只与后邻接、与前后都邻接(合并成一个大区),并修改空闲分区表/链。●【填空】把内存中所有作业移动、使分散的小空闲区合并成一个大空闲区的技术称为紧凑(紧缩、拼接),它要求动态重定位。●【单选】内存保护常用界限寄存器(上、下界/基址—限长寄存器)或存储保护键;内存共享中,可重入代码(纯代码)可被多个进程共享、不能被修改。第三节覆盖与交换●【单选/简答】覆盖技术:把一个程序划分为若干功能相对独立的程序段,让不会同时执行的段共用同一内存区(覆盖区),需要时依次调入;覆盖由用户(程序员)自己设计和声明覆盖结构、对用户不透明,主要用于同一个大作业内部。●【单选/简答】交换(对换)技术:在内存与外存的对换区之间把暂时不能运行的进程(或其部分)整体换出、把具备条件的进程换入;交换由操作系统自动完成、对用户透明,在多个进程(作业)之间进行,对应中级调度。●【单选】覆盖与交换的区别:覆盖针对同一作业、需用户设计;交换针对不同进程、由系统自动完成。第四节虚拟页式存储管理(本章核心、综合题高频)●【填空/单选】分页存储管理:把进程的逻辑地址空间分成大小相等的页(页面),把内存物理空间分成同样大小的物理块(页框、页帧);以块为单位分配,进程的页可离散地装入不同物理块。●【单选】页面大小由地址结构(硬件)决定、是2的幂(如1KB、2KB、4KB);分页是一维逻辑地址(用户给出一个连续地址,由硬件自动划分页号和页内地址);分页最后一页可能装不满,产生少量内碎片、无外碎片。●【填空】系统为每个进程建立一张页表,记录该进程各页所在的物理块号(及有效/存在位等);逻辑地址分为页号P和页内地址W(页内偏移)两部分。●【综合】分页地址变换过程(必会):①由页表控制寄存器取得当前进程页表始址和页表长度;②把逻辑地址分解为页号和页内地址;③比较页号与页表长度,若页号≥页表长度则产生越界中断;④以“页表始址+页号×页表项长度”检索页表,得到物理块号(先查快表TLB,未命中再查内存页表);⑤把物理块号与页内地址拼接得到物理地址。●【单选/填空】为加快地址变换设置的高速缓冲称为快表(TLB,转换检测缓冲区),存放最近用到的页表项;查到快表称为“命中”,可显著减少访存次数。●【综合】地址位数计算:若逻辑地址空间为2^m字节、页面大小2ⁿ字节,则逻辑地址m位,其中页内地址n位、页号(m−n)位,最多2^(m−n)页;物理地址=物理块号×页面大小+页内地址。●【单选】现代系统普遍采用两级或多级页表(页目录+页表),只为用到的区域建立页表,以节省页表本身占用的内存。●【填空/单选】分段存储管理:按程序的逻辑单位(主程序段、子程序段、数据段、栈段等)划分,每段有段名(段号)和段长,是二维逻辑地址(段号+段内地址);通过段表(段长、段基址)进行地址变换,越界检查要同时比较段内地址与段长。●【简答】分页与分段的主要区别:①页是信息的物理单位、大小固定由系统决定,段是信息的逻辑单位、大小不固定由程序决定;②分页对用户透明、是一维地址,分段用户可见、是二维地址;③分页便于提高内存利用率(内碎片小),分段便于共享、保护和动态链接;④分段大小不固定、分配回收类似可变分区、有外碎片。●【单选】段页式管理:先分段、段内再分页,兼有分段便于共享保护和分页离散分配、利用率高的优点;逻辑地址为段号—页号—页内地址。●【简答】虚拟存储器:基于程序执行的局部性原理(时间局部性——刚访问过的内容不久可能再访问;空间局部性——刚访问位置附近的内容不久可能被访问),只把作业的一部分装入内存便可运行,运行中按需调入、必要时置换,从逻辑上扩充内存。●【简答】虚拟存储器的特征:离散性、多次性、对换性、虚拟性(离散性是基础,虚拟性是最重要的目标,表现为内存容量可远大于实际内存)。●【单选】请求分页的页表项除物理块号外还增加:有效(存在)位、访问位、修改位(脏位)、保护位、外存地址等。●【简答/综合】缺页中断:当所要访问的页不在内存(有效位为0)时产生缺页中断;处理过程:①保存现场、判断该页是否在外存及有无越界;②若有空闲物理块则直接调入,否则按页面置换算法淘汰一页(被修改过的淘汰页要写回外存);③把所需页从外存读入某物理块、修改页表(有效位置1);④恢复现场、重新执行被中断的指令。●【单选】缺页中断属于故障(异常/内中断),其特殊之处是:在一条指令执行期间产生并处理、处理完后要重新执行同一条指令(而不是下一条)。●【综合/单选】页面置换算法(重点,会算缺页次数和缺页率):算法淘汰规则特点最佳置换OPT淘汰以后最长时间内不再被访问(或不再使用)的页缺页率最低,但需预知未来、无法实现,只作为评价其他算法的标准先进先出FIFO淘汰最先进入内存的页实现简单,可能淘汰常用页;存在Belady异常(增加物理块数,缺页次数反而增多)最近最久未使用LRU淘汰最近最长时间没有被访问的页性能接近OPT,依据“过去不久的将来”,需较多硬件支持(计数器/栈)时钟Clock(最近未用NRU)循环检查访问位,访问位为0即淘汰,为1则清0并跳过是LRU的近似,开销小、应用广综合题示范(页面置换,务必会画轨迹、数缺页)●【综合】例:系统为进程分配3个物理块,页面引用串为7,0,1,2,0,3,0,4,2,3,0,3,2,初始物理块为空。分别用FIFO和LRU,逐列画出各块中页面、在缺页处标“×”,并求缺页次数和缺页率。●【综合】FIFO(淘汰最先进入的页)轨迹如下,共缺页10次,缺页率=10/13≈0.77。●【综合】LRU(淘汰最近最久未访问的页)轨迹如下,共缺页9次,缺页率=9/13≈0.69;可见同一引用串下LRU缺页少于FIFO。做题时务必逐列更新、新调入页与缺页标记要对齐。●【填空】缺页率=缺页次数÷访问页面总次数;抖动(颠簸,thrashing)是指频繁地发生缺页、把大部分时间用于页面换入换出,致使处理机利用率急剧下降。●【简答】产生抖动的原因与消除:内存中同时装入的进程过多、分配给每个进程的物理块太少,导致频繁缺页;可通过降低多道程序度、采用局部置换、增大内存、依据工作集模型为进程分配足够块、挂起部分进程等方法消除。●【单选】物理块(帧)分配策略有固定分配与可变分配,置换范围有全局置换(可从其他进程抢块)与局部置换(只能在自己的块中置换);组合出固定分配局部置换、可变分配全局置换、可变分配局部置换等。●【填空】进程在某段时间内实际访问的页面集合称为工作集(workingset),为进程分配不少于其工作集大小的物理块可有效防止抖动。第六章文件系统第一节文件与文件系统的基本概念●【填空/单选】文件是具有符号名的、在逻辑上具有完整意义的一组相关信息(数据)的有序集合;文件由文件体(数据)和文件控制信息(属性)组成。●【单选】文件的属性通常包括:文件名、类型、物理位置、长度、创建/修改时间、存取控制权限、所有者等。●【单选】文件按用途分为系统文件、库文件、用户文件;按逻辑结构分为有结构(记录式)文件和无结构(字符流式)文件;按保护级别分为只读、读写、执行、不保护文件等。●【填空/单选】文件系统是操作系统中负责管理文件的那部分软件及其管理的数据结构的总称;其目标是实现按名存取,并向用户提供方便、统一、安全可靠的使用接口。●【简答】文件系统的功能:文件存储空间的管理、目录管理(按名存取)、文件逻辑地址到物理地址的转换(逻辑结构与物理结构管理)、文件的共享与保护、文件的读写与控制、提供文件操作接口。第二节文件的逻辑结构与物理结构●【单选/填空】文件的逻辑结构分两类:无结构的字符流式文件(流式文件,由一串字符组成,如源程序、文本)和有结构的记录式文件(由若干记录组成,记录可定长或变长)。●【单选】记录式文件中记录的组织有顺序文件、索引文件、索引顺序文件;UNIX/Linux与Windows的普通文件都采用字符流式。●【综合/单选】文件的物理结构(文件在外存上的存放方式,重点):物理结构存放方式优点缺点连续(顺序)结构文件占用一组连续的物理块,FCB记起始块号和长度顺序存取速度快、可随机存取易产生外碎片、不利于动态增长、插入删除难链接(串联)结构文件各块离散存放,每块含指向下一块的指针(隐式链接);或把链接指针集中成FAT表(显式链接)无外碎片、利于动态增长、提高磁盘利用率隐式链接只宜顺序存取、可靠性差(断链);显式FAT占内存索引结构为每个文件建索引表,记录各逻辑块对应的物理块号(FCB记索引表地址)可随机存取、易于增删索引表占额外空间;大文件需多级/混合索引●【单选】显式链接把各盘块的链接指针集中存放在内存的文件分配表FAT中,查找快、可靠性较好;UNIX采用混合(多级)索引的i节点结构(直接块、一次间接、二次间接、三次间接),兼顾小文件和大文件。第三节文件目录●【填空/单选】文件控制块FCB是用于描述和控制文件的数据结构,记录文件名、类型、物理位置、长度、存取控制信息、建立修改日期等;文件目录就是FCB的有序集合。●【单选】目录管理的主要目标是实现按名存取,并提高目录检索速度、允许文件共享和重名处理。●【综合/单选】目录结构的发展:目录结构特点单级目录整个系统一张目录表、所有文件同级;简单,但不允许重名、查找慢、不便分组两级目录为每个用户建一个用户文件目录(UFD),上有主文件目录(MFD);解决了不同用户间重名、提高了安全和速度多级(树型)目录目录与文件构成倒置的树,分根目录、子目录、文件;层次清晰、便于分类管理和保护,是现代系统采用的结构无环图目录在树型目录基础上允许共享(同一文件可有多个父目录/链接),便于共享,但管理复杂●【填空】从根目录开始、沿各级子目录逐级给出的完整路径称为绝对路径;从当前目录(工作目录)开始给出的路径称为相对路径;“.”表示当前目录、“..”表示父目录。●【单选】目录查询技术有线性检索(顺序查找)和Hash(散列)检索;UNIX把FCB的文件名与其他描述信息分开,文件描述信息单独形成称为索引节点(i节点)的数据结构,目录项只含文件名和i节点号,从而缩短目录、加快检索。第四节文件存储空间管理●【综合/单选】外存空闲空间的管理方法:方法做法/要点空闲文件表(空闲区表)类似内存动态分区,记录每个空闲区的起始块号和块数,适合连续结构,可用FF/BF/WF空闲块链表把所有空闲块用指针链起来(空闲盘块链),或按空闲盘区成组链接(空闲盘区链)位示图(位图)综合常考计算用一位(bit)表示一个盘块的空闲/占用情况(如0空闲、1占用);分配时找0位并换算块号、回收时把对应位清0成组链接法把空闲块分组、组间链接,UNIX常用,兼顾空闲表和空闲链的优点●【综合】位示图的换算(必会):设字号(行号)为i、位号(列号)为j(通常从0或从1编号,注意题目约定),每行位数为n,则对应的盘块号=i×n+j(再按是否从1编号加1);反之由盘块号可求字号、位号。第五节打开文件表与文件操作●【填空/单选】系统维护两级打开文件表:系统打开文件表(全局,含FCB/当前读写位置等共享信息)和用户打开文件表(每个进程一个,含文件描述符及指向系统表项的指针)。●【单选】打开文件open:按路径检索目录找到FCB,把它(或其索引节点信息)调入内存打开文件表,返回文件描述符(文件句柄);此后读写用文件描述符,不必每次都检索目录。关闭文件close:把该文件在内存中的内容(必要时)写回磁盘、释放打开文件表项。●【单选】常用文件操作:建立create(分配FCB、登记目录)、删除delete、打开open、关闭close、读read、写write;read/write后移动文件读写指针(文件位置)。●【填空】把若干逻辑记录合并成一组、一次I/O读入内存,使用时再从缓冲区中取出一条记录的技术称为记录成组;写时凑满一块再写盘称为成组、读时拆分为记录称为分解,可减少启动I/O次数。第六节文件系统性能、共享与保护●【简答/单选】提高文件系统性能的常用措施:设置块高速缓存(缓冲区高速缓存)、提前读(预读)、延迟写(后台写)、优化文件物理块的分布(减少寻道)、采用磁盘调度算法、使用内存映射文件等。●【单选/填空】文件共享方式:基于索引节点(i节点)的硬链接(多个目录项指向同一i节点,有链接计数,不能跨文件系统、不能链接目录)和符号链接(软链接)(新建一个LINK文件存放被共享文件的路径,可跨文件系统、可链接目录,但访问多一次读路径)。●【简答/单选】文件的保护与保密:控制访问类型(读R、写W、执行E、删除等);实现方法有存取控制矩阵、存取控制表(ACL,按文件列用户权限)、用户权限表(按用户列文件权限)、口令、密码(加密)等。第七章设备管理第一节设备管理概述●【单选/填空】I/O设备按不同角度分类:按数据传输单位分为块设备(以数据块为单位、可寻址,如磁盘)和字符设备(以字符为单位、不可寻址,如键盘、打印机);按资源属性分为独占设备、共享设备和虚拟设备;按传输速率分为低速、中速、高速设备;按用途分为存储设备和输入/输出设备。●【简答】设备管理的目标和功能:①完成用户提出的I/O请求、为用户分配设备;②提高CPU与设备、设备与设备之间的并行程度、提高设备利用率(通过中断、DMA、通道、缓冲、SPOOLing等);③方便用户使用,实现设备独立性、屏蔽设备差异;④进行设备的分配与回收、设备驱动、差错处理。第二节I/O硬件与软件组成●【填空/单选】设备控制器(I/O控制器、适配器)是CPU与设备之间的接口,它接收CPU命令、控制设备工作;控制器中通常有数据寄存器、控制寄存器、状态寄存器(以及与CPU联络的逻辑),每个寄存器有一个I/O端口地址。●【单选】I/O端口的编址方式:独立编址(I/O单独编址,用专门的IN/OUT指令)和统一编址(内存映射I/O,把端口当作存储单元、用访存指令访问)。●【简答】I/O系统软件的层次结构(自上而下):①用户层I/O软件(库函数、SPOOLing);②设备独立性软件(逻辑设备名到物理设备的映射、统一命名、保护、缓冲、分配);③设备驱动程序(把抽象请求转换为对控制器的具体操作);④中断处理程序;⑤硬件(设备控制器与设备)。●【单选】设备驱动程序是I/O系统中唯一了解设备控制器具体细节、直接对控制器编程的部分,它与硬件密切相关、常由设备厂商提供。●【综合/单选】设备分配使用的数据结构:系统设备表SDT、设备控制表DCT、控制器控制表COCT、通道控制表CHCT;分配时按“设备→控制器→通道”的顺序查找,三者都空闲才分配成功。第三节I/O控制方式●【简答/综合】四种I/O控制方式比较(与第二章呼应,重点):方式CPU干预数据流向/单位缺点程序直接控制CPU不断循环测试设备状态(忙等待)以字为单位,数据经CPU寄存器CPU与设备串行、利用率最低中断控制设备完成后发中断通知CPU以字为单位,每传一个字中断一次中断次数多、仍占CPUDMACPU只在块传输开始和结束时干预以数据块为单位,设备与内存直接交换、不经CPU寄存器需要DMA控制器通道控制CPU向通道发一条I/O指令即可,通道执行通道程序可控制一组设备、传不连续的多块数据通道成本高、编程复杂●【单选】DMA控制器能控制总线,在传输期间可能“周期挪用(窃取)”总线周期;通道是专用I/O处理机,可执行由通道指令组成的通道程序。通道类型有字节多路通道(分时为多台低速设备服务)、数组选择通道(一次为一台高速设备成组传送)、数组多路通道(兼有两者优点)。第四节设备的分配与回收●【单选/填空】按分配时机分为静态分配(作业运行前一次性分配所需全部设备、运行结束才归还,不会死锁但利用率低)和动态分配(运行过程中按需申请、用完即还,利用率高但可能死锁)。●【单选】进程发出I/O请求后便阻塞、直到I/O完成才唤醒,称为安全分配方式(不会请求后又持有资源去申请别的、可避免某些死锁,但CPU与I/O并行程度低);发出请求后仍可继续运行、需要时才等待,称为不安全分配方式。●【填空/单选】设备独立性(设备无关性):用户编程时使用逻辑设备名申请设备,由系统通过逻辑设备表LUT映射到实际的物理设备名;好处是用户程序与具体物理设备无关、便于设备重定向和提高适应性。●【单选】按设备固有属性的分配方式:独占分配(如打印机,一段时间归一个进程)、共享分配(如磁盘,多进程分时共享)、虚拟分配(通过SPOOLing把独占设备改造为虚拟设备共享使用)。第五节磁盘驱动调度(综合题高频)●【填空/单选】磁盘由若干盘片组成,每个盘面对应一个磁头;磁道是盘面上的同心圆,半径相同的所有磁道构成一个柱面;磁道划分为若干扇区(盘块),扇区是磁盘读写的最小单位。●【填空】磁盘上的物理地址(三维地址)由柱面号(磁道号)、磁头号(盘面号)、扇区号三部分组成;逻辑块号LBA与三维地址CHS之间可按每磁道扇区数、磁头数换算。●【综合/填空】访问磁盘的时间由三部分组成:寻道时间Ts(磁头移动到指定柱面)、旋转延迟时间Tr(等待指定扇区转到磁头下)、传输时间Tt(数据读写);其中寻道时间最耗时、是磁盘调度优化的主要对象。●【综合】移臂调度(驱动调度)算法(必会,会写访问顺序并计算移动磁道总量):算法规则特点先来先服务FCFS按请求到达的先后次序服务公平、简单,但磁头来回移动多、寻道距离大最短寻道时间优先SSTF优先服务距当前磁头最近的请求寻道距离较小,但可能使远离磁头的请求长期等待(饥饿)扫描SCAN(电梯算法)磁头沿当前移动方向依次服务沿途请求,到该方向尽头再换向兼顾距离和方向、不会饥饿;两端请求等待久循环扫描C-SCAN磁头只沿一个方向服务,到尽头后立即返回另一端再沿同方向服务各请求等待时间更均匀LOOK/C-LOOKSCAN/C-SCAN的改进,移动到该方向最远的请求即换向(不必到磁盘尽头)减少空跑●【综合】计算移动总量:按服务顺序求相邻柱面号之差的绝对值之和(起点为磁头当前位置);注意SCAN要先确定磁头当前移动方向。●【单选】旋转调度:当多个请求位于同一柱面(同一磁道或不同记录面的相同磁道)时,通过合理安排扇区访问次序减少旋转延迟;同一磁道上按扇区到达磁头的先后服务,同一柱面不同磁头的请求可在旋转一周内通过切换磁头连续读出。第六节缓冲技术●【简答/单选】引入缓冲的原因:①缓和CPU与I/O设备之间速度不匹配的矛盾;②减少对CPU的中断频率、放宽对中断响应时间的限制;③提高CPU与设备、设备与设备之间的并行性。●【单选】缓冲的类型:单缓冲(只设一个缓冲区,生产者与消费者互斥使用、并行度低)、双缓冲(两个缓冲区交替使用,可平滑速度差)、循环缓冲(多缓冲)、缓冲池(多个缓冲区供多个进程共享,分空缓冲队列、输入队列、输出队列)。●【填空】为缓解CPU与外设速度不匹配而在内存中开辟的专用存储区域称为缓冲区(缓冲池)。第七节虚拟设备与SPOOLing●【填空/单选】SPOOLing(假脱机、外部设备同时联机操作):利用多道程序技术,用一道程序模拟脱机输入时的外围控制机,把低速I/O设备上的数据传送到高速磁盘上,需要时再从磁盘读入。●【简答】SPOOLing系统的组成:①在磁盘上开辟的输入井和输出井(模拟脱机的磁带/盘);②在内存中开辟的输入缓冲区和输出缓冲区;③预输入程序、缓输出程序和井管理程序。●【单选/填空】SPOOLing的典型应用是共享打印机:用户打印结果先送到输出井排队、由系统逐个打印,从而把一台独占的打印机改造为可供多用户共享的虚拟设备;SPOOLing技术把独占设备改造为虚拟(共享)设备,提高了设备利用率。●【单选】RAID(独立磁盘冗余阵列)通过多盘并行和冗余提高速度与可靠性:RAID0条带化(无冗余、速度快)、RAID1镜像(可靠性高、利用率50%)、RAID5分布式奇偶校验(兼顾容量与可靠,允许坏一块盘)。第八章进程同步机制与死锁第一节进程同步与互斥的基本概念●【填空/单选】多个进程因共享资源而产生的相互制约关系:间接制约(互斥关系)——进程间因竞争同一临界资源而互斥执行;直接制约(同步关系)——相互协作的进程为完成共同任务需按一定先后次序协调执行。●【填空】一次仅允许一个进程使用的资源称为临界资源(独占资源,如打印机、共享变量、共享缓冲区);进程中访问临界资源的那段程序代码称为临界区(临界段)。●【简答】临界区的使用(同步机制应遵循)四条准则:①空闲让进(临界区空闲时应让一个请求者进入);②忙则等待(已有进程在临界区时,其他请求者必须等待);③有限等待(等待者应在有限时间内进入,避免“死等”);④让权等待(不能进入临界区时应释放CPU、阻塞自己,不应忙等浪费CPU)。●【单选】实现互斥的硬件方法:关中断(进入临界区前关中断、退出后开中断,简单但不适合多CPU、不适合用户进程)、测试并设置指令TestAndSet(TS/TSL)、交换指令Swap(XCHG);硬件指令简单但违背“让权等待”、会忙等。第二节信号量机制与管程●【填空/综合】记录型信号量是一个整型变量value与一个等待队列L的数据结构,除初始化外只能通过两个标准原语P(wait、申请)和V(signal、释放)访问。●【综合】P、V操作的物理含义(必会):操作动作含义P(wait(S))S.value=S.value−1;若结果≥0则继续;若<0则阻塞当前进程、插入S的等待队列申请一个资源;S<0时其绝对值表示等待该资源而阻塞的进程数V(signal(S))S.value=S.value+1;若结果>0则继续;若≤0则唤醒等待队列中的一个进程释放一个资源;有等待者时唤醒一个●【填空/综合】信号量S当前值的含义:S>0表示当前可用的该类资源数;S<0时其绝对值表示因等待该资源而被阻塞的进程数;S=0表示资源恰好用完且无等待进程。●【综合】信号量的用法:①实现互斥:设互斥信号量mutex初值为1,临界区前P(mutex)、临界区后V(mutex);②实现同步(前趋关系):设同步信号量初值为0(或资源数量n),前驱操作完成后执行V,后继操作开始前执行P。●【单选】管程(Monitor)是将共享变量及对它们的一组操作过程集中封装在一起的同步机制;管程内每次只允许一个进程执行(天然互斥),进程在条件不满足时在条件变量上执行wait等待、条件满足时由signal唤醒;管程比信号量更易正确使用、由编译器保证互斥。第三节经典进程同步问题(综合题高频)●【综合】生产者—消费者问题(必会写信号量与P、V):一组缓冲区共n个,生产者放入产品、消费者取出产品。信号量含义初值empty空缓冲区数目(同步)nfull满缓冲区(产品)数目(同步)0mutex对缓冲池(临界资源)互斥访问1●【综合】生产者:循环中先P(empty)申请空缓冲、再P(mutex)进入临界区放产品、出临界区V(mutex)、最后V(full);消费者:先P(full)、再P(mutex)取产品、V(mutex)、V(empty)。●【单选/易错】P操作的次序不能颠倒:用于同步的P(empty)/P(full)必须放在互斥的P(mutex)之前,否则可能占有临界区又等待资源而发生死锁;两个V操作的次序无关紧要。●【综合】读者—写者问题:多个读者可同时读共享数据,写者必须独占(写写互斥、读写互斥、读读不互斥)。第一类读者—写者问题“读者优先”(只要有读者在读,后续读者可直接进入,写者可能饥饿);第二类“写者优先”(写者到达后不再允许新读者进入,防止写者饥饿)。常用一个互斥信号量rwmutex(初值1)保护文件、一个readcount记录读者数(初值0)并用mutex(初值1)保护对readcount的修改,第一个读者P(rwmutex)、最后一个读者V(rwmutex)。●【综合】哲学家就餐问题:5位哲学家围桌、5支筷子,每位需同时拿到左右两支才能进餐,否则思考。若5人同时拿起左筷再等右筷会发生死锁。解决方法:①最多允许4位哲学家同时拿筷(设信号量room初值4);②规定奇数号先拿左筷、偶数号先拿右筷(破坏同时等待);③对筷子编号、要求同时申请左右两支(AND信号量/资源一次性分配);④仅当左右筷都空闲时才允许拿起。第四节死锁的基本概念●【填空/单选】死锁:多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将永远不能再向前推进。●【单选】死锁与饥饿、活锁的区别:死锁是进程相互循环等待、都无法推进;饥饿是某进程因长期得不到资源(如优先级低)而等待,但不存在循环等待;活锁是进程虽未阻塞、却因不断相互谦让而都无法推进。●【简答】产生死锁的原因:①竞争不可抢占的资源(资源数量不足);②进程推进顺序非法(请求和释放资源的顺序不当)。●【简答/填空】产生死锁的四个必要条件(缺一不可,必背):①互斥条件(资源一次只能被一个进程占用);②请求和保持条件(部分分配)(占有资源的同时又请求新资源且不释放已占资源);③不可剥夺(不可抢占)条件(资源在未使用完前不能被强行夺走,只能自愿释放);④循环等待(环路等待)条件(存在进程—资源的循环等待链,每个进程等待的资源被下一个进程占有)。第五节死锁的预防、避免、检测与解除●【简答】死锁预防:破坏四个必要条件之一(互斥条件一般不能破坏):所破坏的条件做法代价请求和保持一次性申请并分配运行所需全部资源(静态分配)资源利用率低、可能申请不到不可剥夺进程申请新资源得不到满足时必须释放已占资源(可剥夺)实现复杂、代价大、适合CPU/内存循环等待资源有序分配(给资源统一编号,按编号递增顺序申请)编号相对固定、不便扩充、可能浪费●【综合】死锁避免——银行家算法(重点,会判断安全状态和能否分配):不事先限制资源申请,而是在每次申请时判断分配后系统是否仍处于安全状态,安全才分配、否则让进程等待。●【填空】所谓安全状态,是指系统能按某种顺序(安全序列)为每个进程分配其所需资源、直至满足其最大需求,使每个进程都能顺利完成;若不存在这样的序列则为不安全状态。安全状态一定不会死锁,不安全状态不一定死锁但有死锁风险。●【综合】银行家算法的数据结构:可利用资源向量Available、最大需求矩阵Max、已分配矩阵Allocation、尚需矩阵Need(Need=Max−Allocation)。●【综合】安全性算法步骤:①初始化工作向量Work=Available、Finish全为false;②寻找满足Finish=false且Need≤Work的进程,找到则令Work=Work+Allocation(该进程完成后释放全部资源)、Finish=true,并继续从头查找;③若所有进程Finish都为true,则系统安全、记录的进程顺序即安全序列,否则不安全。●【综合】处理资源请求Requesti:①若Requesti≤Needi且Requesti≤Available才能继续,否则出错或等待;②试探分配:Available−=Request、Allocationi+=Request、Needi−=Request;③对试探后的状态执行安全性算法,安全则正式分配,不安全则恢复数据、让进程等待。综合题示范(银行家算法,必会安全性检查)●【综合】例:系统有A、B、C三类资源,可用资源Available=(3,3,2),5个进程的最大需求Max、已分配Allocation及尚需Need(Need=Max−Allocation)如下表,试判断系统是否安全。●【综合】安全性检查(Work初值=(3,3,2)):①P1的Need(1,2,2)≤Work,P1完成后释放,Work=(5,3,2);②P3的Need(0,1,1)≤Work,完成后Work=(7,4,3);③P4的Need(4,3,1)≤Work,完成后Work=(7,4,5);④P0的Need(7,4,3)≤Work,完成后Work=(7,5,5);⑤P2的Need(6,0,0)≤Work,完成后Work=(10,5,7)。全部进程Finish为真,故系统安全,一个安全序列为P1→P3→P4→P0→P2(安全序列不唯一)。资源请求时,先试探分配再重复上述检查,仍安全才真正分配。●【单选】死锁检测:用资源分配图描述进程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新生儿脑损伤的超声诊断与
- 药理学第章肾素血管紧张素系统
- 万以内的减法市公开课金奖市赛课一等奖课件
- 《低空经济概论》课件 学习情境1-3 走进低空经济的世界-低空经济应用领域
- 2026年秋招:SAP实施顾问笔试题及答案
- 2026年奇瑞控股校招题库及答案
- 2026年欧派家居招聘面试题及答案
- 输血培训考试试题及答案
- 富士康笔试题目及答案
- T-ZAWS 0017-2025 晶硅太阳能电池生产企业安全生产管理规范
- 小儿房间隔缺损诊疗指南(2025年版)
- 2026年口腔科四手操作技术培训手册
- ISO9001-2026《质量管理体系-要求》标准换版(升级)培训教材(雷泽佳编制-2026A0)
- 语文二轮小说复习:分析情节技巧(叙述视角、叙述人称、叙述顺序)
- 医院残疾鉴定工作制度
- 2026年社保经办服务规范题库
- 汽车防腐防锈设计标准手册
- 生产照片制度规范标准
- 闽南红砖古厝课件
- 有氧搏击操课件
- 无脉电活动护理课件
评论
0/150
提交评论