第一章
【选择题】
1.操作系统的功能
①存储器管理功能——内存分配、地址映射、内存保护、内存扩充。
②处理机管理功能——作业和进程调度、进程通信。
③设备管理功能——缓冲区管理、设备分配、设备驱动、设备无关性。
④文件管理功能——文件存储空间的管理、目录管理、文件的读写管理和存取控制。
⑤用户接口——命令界面、图形界面、程序界面。
2.各个操作系统都注重什么特征
①多道批处理操作系统——多道、成批。
②分时操作系统——交互。同时性(多个用户运行)、交互性、独占性、及时性。
③实时操作系统——严格要求响应时间、可靠性。
④嵌入式操作系统——小、精简、专用性。
【简答题】
==1.什么是操作系统==
①是最基本和最重要的系统软件。
②管理和控制了计算机系统资源。
③为用户提供服务。
==2.操作系统的目标==
①方便性:用户操作只需要输入命令或者用鼠标点击就可以了。
②有效性:计算机系统资源得到有效使用。
③可扩展性:操作系统的功能会不断升级。
**==3.操作系统的特征==**(并发和共享导致了异步)
①并发性:宏观上多道程序同时运行。
(并发指的是宏观上并行、微观上交替;区别于并行)
②异步性:各个程序不是一直在运行的,什么时候运行、运行多久是不可预知的。
③资源共享性:资源可以被访问者共同使用。分为互斥共享方式和同步共享方式。
第三章
【选择题】
1.进程的概念
(1)一些很细碎的概念
多道程序设计是操作系统最重要的思想(本质是共享)。
现代操作系统的重要特点是程序的并发执行、系统所拥有的资源被共享、系统用户随机地使用。
操作系统的重要任务之一是使用户充分、有效地利用系统资源。
进程:计算机程序的执行过程、共享资源的基本单位。
程序的顺序性和计算机的顺序性是一致的。
程序的顺序执行的特点:顺序性、封闭性(结果由初始条件决定)、可再现性。
程序的并发执行的特点:间断性、失去封闭性、不可再现性。(一个程序的开始在另一个程序的结束之前,就是并发)
多道程序系统中程序执行环境的特点:独立性、随机性、资源共享。
(2)进程的描述
进程:程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。
进程的特征:动态、并行、独立、异步、结构性。
==2.进程状态及其转换==
==(1)状态转换图==

(2)各状态的说明
①运行——进程已获得CPU,正在运行。(在单处理机系统只有一个进程能够处于运行状态)
②就绪——进程已经获得除了CPU以外的所有必要资源,只要CPU在就可以立即运行。
③阻塞/等待/睡眠——正在运行的进程由于某种突发事件(如IO请求、申请缓冲区失败)而暂时无法运行。
④新建——对应于进程被创建时的状态,尚未进入就绪队列。
⑤完成——进程正常或非正常终止。
==(3)状态转换(CPU空闲的三种情况:时间片到、等待事件发生、终止)==
①新建→就绪:为新进程分配资源。
②就绪→运行:进程得到了CPU。
③运行→就绪:时间片(系统限定的最长时间)到了、出现比当前进程优先级高的进程。
④运行→阻塞:等待使用资源/等待事件发生。
⑤阻塞→就绪:资源得到满足/事件发生。
⑥运行→完成:释放资源。
【简答题】
==1.进程的特征==
①异步性
②独立性
③并行性
④动态性
⑤结构性
==2.进程和程序的区别==
①进程具有动态性,强调执行过程;
程序具有静态性,是指令的有序集合。
②进程是并行的,程序不是。
③ 进程是竞争计算机系统资源的基本单位,从而其并行性受到系统资源的制约。
④不同的进程可以对应不同程序,也可以为同一程序(只要所对应的数据集不同。
⑤作为被控制和管理的实体,除程序本身和所需数据集之外,应包括控制和管理信息。
==3.进程状态及其转换==
(看上面)
第四章
【选择题】
1.多道程序设计
多道程序设计引起资源共享,因此对共享的资源进行调度是必要的。
即使利用了中断,CPU仍有可能未得到充分的利用,因此需要允许多道用户程序同时处于活动状态。
多道程序设计的程度决定何时创建一个进程——创建的进程越多,每个进程可能执行的时间平均就越少。
2.高级、中级和低级调度
(1)高级调度——决定是否把进程添加到当前活跃的进程集合中(决定哪些进程进内存)。作业调度、宏观调度。
(2)中级调度——①属于交换(Swapping)功能的一部分。②在内存和外存之间。③系统的并发度过高时,就将某些进程暂时交换到外存。缓解内存空间紧张。
并发度的提高会:提高系统资源利用率;增加系统开销,降低进程速度,激烈资源竞争,死锁。
(3)低级调度——真正决定下一次执行哪一个就绪进程。进程调度、处理机调度。
低级调度的产生时机:一个进程执行结束、当前进程由于请求I/O进入阻塞、以及分时系统中时间片到。
3.实现实时调度的基本条件
①提供必要的信息——就绪时间、开始截止时间和完成截止时间、处理时间、资源要求、优先级
②系统处理能力
③采用抢占式调度机制
④具有快速切换机制
4.实时调度的算法分类
(1) 根据任务性质:硬实时、软实时
(2) 按调度方式:非抢占式、抢占式
(3) 按调度时间:静态、动态
(4) 多处理机环境:集中式、分布式
5.实时调度算法
最重要的参考依据是:截止时间。
①最早截止时间优先EDF
根据任务的开始截止时间确定优先级。截止时间越早优先级越高。
②最低松弛度优先LLF
根据任务紧急的程度确定优先级。
松弛度=必须完成的时间点-其本身需要的运行时间-当前时间
【简答题】
==各种调度算法的侧重点和优缺点==
①先来先服务FIFO——侧重于作业在系统的等待时间。
优点:有利于长作业和CPU繁忙型作业。
缺点:可能造成CPU和IO设备都没有充分发挥。
②短作业/进程优先SJF——侧重于作业自身的估计运行时间。
优点:提高整体性能,有利于短作业。
缺点:需要事先知道每个作业所需的处理机时间、长作业可能饿死、不利于分时系统(因为不可抢占)。
③最高响应比HRP——侧重于响应时间比。
优点:结合了先来先服务和短作业优先的特点,对待长短作业均衡,不会饿死。
缺点:大量计算,消耗CPU时间。不适合作业调度。
④最短剩余时间SRT——侧重于预期剩余时间。抢占。
优点:好于前面的非抢占式算法。
缺点:存在饥饿现象,不利于长作业。
⑤轮转RR——基于先来先服务和时钟
优点:主要用于分时系统中的进程调度。公平对待长短作业。
缺点:如果时间片太小,吞吐量会降低。不适合作业调度。
⑥多级反馈队列MFQ
优点:有利于IO繁忙型作业。
缺点:可能导致饥饿。
⑦多级队列
⑧优先级法
静态优先级、动态优先级(优先级应随着等待时间的增加而提高)
优点:资源利用率提高,公平性较好。
缺点:系统开销大,实现比较复杂,存在 “饥饿”现象。
【计算题】
==进程调度算法==
1.公式
周转时间T=结束时间-到达时间
平均周转时间
带权周转时间W=周转时间 / 服务时间(也叫实际运行时间)
响应比R=(响应时间+运行时间)/运行时间
响应时间= 上个作业的结束时间-到达时间
系统响应时间=时间片*就绪队列中进程的数目
2.先来先服务FCFS(不考)
3.短作业/进程优先SJF
服务时间短的优先,同时需要考虑进程结束后下一个进程是否到达
4.最高响应比HRP
5.最短剩余时间SRT——抢占式版本的SJF
6.轮转RR
响应时间=时间片长度*进程数
第五章
【选择题】
信号量的初值(初值应≥0,只能赋值一次)、进程释放后当前资源情况(比如几个进程在等待)
信号量的概念:信号量是一个记录型数据结构
除初始化外,仅能通过两个原子操作wait(S)和signal(S)来访问信号量,前者为P操作, 后者为V操作
信号量 S 的物理含义:
(1) S>0——表示有S个资源可用
(2) S=0——表示无资源可用
(3) S<0——则 |S| 表示等待队列中进程的个数
【简答题】
临界区和进程互斥
==临界区、临界资源、原则==
(1)临界资源:一次只允许一个进程使用的资源。
(2)临界区:访问临界资源的那段程序。
相关临界区:多个进程的临界区。
(3)原则:
①空闲让进——当无进程在互斥区时,任何有权使用互斥区的进程都可进入。
②忙则等待——禁止两个以上的进程同时进入互斥区。
③有限等待——任何进入互斥区的要求应在有限时间内得到满足。
④让权等待——让出CPU使用权,处于等待状态的进程应放弃CPU。以免进程陷入“忙等”。
【大题】——PV操作
第六章
死锁中不可能只有一个进程。
【选择题】
1.死锁的预防、避免、处理
2.当前是否安全(安全→不死锁,不安全→可能死锁可能不死锁)——能找出安全序列说明安全。
3.资源分配图SRAG
分配边:资源→进程;申请边:进程→资源。
圆圈表示进程,方块表示资源。
(1)判定死锁
①如果资源分配图中未出现任何环,则此时系统内不存在死锁。
②如果资源分配图中出现了环,且处于此环中的每类资源均只有一个,则有环就出现了死锁。此时,环是系统存在死锁的必要充分条件。
③如果资源分配图中出现了环,但处于此环中的每类资源的个数不全为1,则环的存在只是产生死锁的必要条件。(此时需要化简资源分配图)
(2)死锁状态的充分条件:资源分配图不可完全简化。
(3)简化资源分配图
①找一个只有分配边的非孤立进程结点(找非阻塞结点),去掉分配边,将其变为孤立结点。
②把相应资源分配给一个等待该资源的进程,即 将某进程的申请边变为分配边。
③若所有进程变为孤立结点,称该资源分配图是可完全简化的。
【例题】
【简答题】
==1.死锁的必要条件==
①互斥条件:对必须互斥使用的资源的争抢才会导致死锁。
②请求和保持条件:进程已经有资源了,但是又申请了新资源,这个时候请求被阻塞了,但对已有资源又保持不放。
③非剥夺条件:进程得到的资源在没用完前,不能由其他进程抢走。
④循环等待条件:链中每个进程已获得的资源同时被下一个进程请求。
==2.死锁的预防==
①互斥条件——不能破坏,必须保持
②请求和保持条件——采用预先分配策略,一次性给(缺点:资源利用率低、可能饥饿)
③非剥夺条件——收回已分给进程且尚未使用完的资源
④循环等待条件——采用有序分配策略
3.死锁的处理
(1) 避免策略(预防、避免) 死锁不会发生
(2) 解决策略(检测、解除) 死锁可能发生
4.死锁的避免
==【大题】——银行家算法==
Available可利用资源,max最大需求,allocation分配矩阵,need需求矩阵。
无论题目是否问到,都需要计算:need=max-allocation。
1.当前是否死锁
画出表格,进行安全性分析。
2.找出安全序列
3.可分配?
判断request和need、available的大小,假性分配资源和修改该进程的数据,进行安全性检查,若安全则说明可分配。
【例题】
1)请给出 Need 矩阵。
2)当前系统是否处于安全状态?
3)如果从进程 P1发来一个请求(0,4,2,0),这个请求能否立刻满足?
第七章
【选择题】
程序转换过程:编译-链接-加载-运行。
一般来说,加载形成物理地址,编译、链接形成逻辑地址。
1.程序的链接
链接编辑程序:产生可重定位模块的链接器
动态链接器:把某些外部模块的链接推迟到创建加载模块之后
2.程序的加载(加载后不一定是物理地址)
加载器,又称装入程序:给程序的指令和数据分配物理地址
加载方式:
(1) 绝对装入:逻辑地址与物理地址完全相同
(2) 可重定位方式,又称静态重定位:不允许程序运行时在内存中移动
(3) 动态运行时装入:允许程序运行时在内存位置发生变化
3.连续分配方式
(1)单一连续分配:出现在单道程序系统。
(2)固定分区分配:简单,会产生很多内碎片(不可被其他进程利用)、内存利用率低。
(3)动态分区分配:按需分配。
分配策略的好坏排序:首次>下次>最坏>最佳
①首次适应算法——从链表的开头开始查找,优先低址
②最佳适应算法——查找时间最长,产生最多外碎片
③下次适应算法——对首次适应算法的改动,从上次查找停止的位置开始查找
④最坏适应算法——总是使用当前可用的最大分区
(4)可重定位分区分配:重定位就是把逻辑地址转换为物理地址,静态重定位在程序加载到内存后就转换,动态重定位在指令执行时才开始转换。
【简答题】
1.基本分页分配方式(逻辑分页、物理分块,物理块之间可不连续)
内存划分大小相同连续部分——块或页框
作业逻辑地址划分成一系列相同大小部分——页
为作业分配内存时,一块存放一页
大部分情况下,用户作业不可能是页的整数倍, 因而在最后的页中,可能产生“页内碎片 ”
分页存储管理所造成的资源消耗 (1) 内存资源:页表需要保存在内存中,占用内存资源
(2) 运行性能:获取指令的过程中需要多次访问内存(至少2次!)
==2.分页、分段的区别==
①页是信息的物理单位,段是信息的逻辑单位。
②分页是系统管理的需求,分段是用户的需求。
③分页的主要目的是减少内存的外碎片,提高内存利用率;分段是为了程序完整性。
④页大小是固定的,取决于系统;段的长度不固定。
⑤分页的地址空间是一维的,分段的地址空间是二维的。
⑥页会产生内碎片,段会产生外碎片。
3.可变分区分配的4个算法
(概念部分见上文)
③最佳适应算法会无法分配,说明最佳适应算法并不是最佳,会产生很多无法利用的内碎片;
首次适应算法会在高址有较高的空闲空间。
【大题】——和第八章一起考
逻辑地址(0,0)代表的意思:括号内第一个数是页号,第二个数是页内地址。
页数=文件大小/页面大小
页表文件大小=页数*块号大小
页表文件页数=页表文件大小/页面大小
1.逻辑地址转换为物理地址——十进制、十六进制
注意:给多少进制回答就要答多少进制!
①若逻辑地址为十进制数,则用页号p=INT(A/页大小L), 页内偏移量w=AmodL,找页表块号,块号大小+偏移量=物理地址
②若为八进制/十六进制,则转为二进制,然后根据页大小L从右往左取位数,取页内偏移量(右边)和页号(左边),找页表块号,块号大小+偏移量=物理地址
2.缺页率
3.一个在内存不用调入,一个不在内存要调入(用到页面置换算法,LRU,CLOCK,FIFO)
第八章
【选择题】
置换算法利用硬件寄存器实现
1.最优页面置换——不具有实用性
2.先进先出置换——belady异常,分配给进程的物理块越多,缺页率反而增加
3.最近最少使用置换——介于OPT和FIFO之 间
4.时钟算法
【简答题】
==伙伴算法==
(1)特点:
①允许内碎片存在,外碎片很少
②搜索空闲块的速度很快
第九章
【简答题】
1.IO设备数据传输控制方式(程序直接、中断、DMA、通道)
2.磁盘访问时间的组成
3.SPOOLING系统
【大题】
磁盘调度算法
第十章
【简答题】
FAT
位示图
UNIX成组链接(只适用磁盘管理)
【大题】
索引结构+文件占用大小