1 1 、 什么是操作系统?
操作系统是计算机系统的一种系统软件,它统一管理计算机系统的资源,控
制程序的执行,是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。
2 2 、 操作系统的地位:
操作系统是运行在计算机硬件系统上的最基本的系统软件。它控制和管理着
所有的系统硬件资源和软件资源,操作系统对计算机使用者提供了一种良好的操
作环境,也为其他各种应用系统提供了最基本的支撑环境。操作系统是用户和计
算机硬件之间的一个接口。
3 3 、 操作系统的目标:方便性、有效性、可扩充性、开放性
4 4 、 操作系统的基本类型:批处理系统、分时系统和实时系统。
 批处理系统:目的是为了 提高计算机资源的利用率和系统的吞吐量
 分时系统:为了 满足用户的需要,实现了人机交互,分时系统采用分时技术,
使多个用户可以共享主机并与自己的作业进行很好的交互;
 实时系统:为了满足实时监控和实时信息处理两方面要求而产生的,所以具
有很高的 可靠性并能对各种情况作出及时的响应,实时系统也具有交互性,
但紧紧限于访问系统中某些特定的专业服务程序。
批处理操作系统的特点:成批处理、系统吞吐量高、资源利用率高,用户不能直
接干预作业的执行。
分时操作系统的特点:多路性、独立性、及时性、交互性。
实时操作系统的特点:及时响应、快速处理;高可靠性和安全性;不要求系统资
源利用率(多路性、独立性、及时性、交互性、可靠性)
批处理系统 : 单道批处理系统和 多道批处理系统
 单道批处理操作系统 :①自动性 ②顺序性 ③单道性
 多道批处理操作系统: :多道程序系统是指在内存中同时放入若干道作业,
并且可以相互交替执行程序 :①多道性 ②无序性 ③调度性
7 7、 、 实时系统的引入 :满足两个领域需要: ①实时控制 ②实时信息处理
7 7 、 推动操作系统发展的主要动力 :不断提高计算机资源利用率的需要、方便用
户、器件的不断更新换代、计算机体系结构的不断发展。
8 8 、 操作系统的功能 :处理机管理、存储器管理、设备管理、文件管理
用户接口: 命令接口【功能强,速度快,灵活性好,屏幕开销小;缺点:显示不
直观,难学,难记】、 程序接口【显示直观,操作简便,易学;缺点:实现的代
码规模大,对内外存容量、CPU 速度和显示器的要求较高。】、 图形接口
9 9 、 操作系统的特征 :并发、共享、虚拟、异步
资源共享方式:① 互斥共享方式 ②同时访问方式。
研究操作系统有哪几种主要观点?
软件的观点、计算机系统资源管理的观点、进程的观点、用户与计算机硬件
系统之间接口的观点、虚机器观点、服务提供者观点
并发& & 并行区别:并行性和并发性是既相似又有区别的两个概念。并行性是指两
个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内
发生
通用操作系统:同时兼有三种基本类型中的两种或三种的功能
多道程序系统是指在内存中同时放入若干道作业,并且可以相互交替执行程序 :
①多道性 ②无序性 ③调度性
操作系统的运行环境:系统的硬件环境和由其他的系统软件形成的软件环境
一、 中央处理机
组成:运算器、控制器、一系列的寄存器以及高速缓存
常见的控制和状态寄存器:
 程序计数器 (PC):记录了将要取出的指令的地址
 指令寄存器 (IR):包含了最近取出的指令
 程序状态字 (PSW):记录处理机的运行模式信息等
1 1、 、 指令执行的基本过程
处理机从存储器中每次读取一条指令(取值周期)然后执行这条指令(执行周期),
一个这样的单条指令处理过程称为一个 指令周期( 取值周期+ + 执行周期)
2 2、 、 处理机的 工作 状态 :管态、目态
指令 :特权指令(只能由操作系统使用)、非特权指令
 管态:指操作系统管理程序运行时的状态,具有较和高的特权级别,又称特
权态(特态)系统态, 可以执行所有指令
 目态:指用户程序是运行时的状态,具有较低的特权级别,又称普通态(普
态)、用户态, 只能执行非特权指令
二、存储系统 :程序和数据存放在内存储器(又称内部存储器、内存)中才能运行
1 1、 、 存储器的类型 :读写型的存储器 RAM、只读型的存储器 ROM
2 2、 、 存储器的层次结构
计算机存储系统的设计主要考虑 3 个问题: 容量、速度和 成本
寄存器  高速缓存  内存储器  硬盘存储器  磁带机 、 光盘存储器
(价格↓、容量↑、速度↓、处理机访问频率↓)
3 3 、存储分块和存储保护
【在为用户分配内存空间时,以 块(物理页)为最小单位】
常 用的存 储 保护机制:界地址寄存器(界限寄存器)、存储键
三、缓冲技术与中断技术
缓冲技术 :为了解决部件之间速度不匹配的问题【第九章详解】
中断技术 :中断指处理机对系统中或系统外发生的异步事件的响应
作用:充分发挥处理机的使用效率、提高系统的实时能力
3 3 、 中断系统 :中断系统的硬件中断装置和软件中断处理程序
基本功能:识别中断源、查询中断状态、中断现场保护、中断处理程序寻址、
 具有预定义的系统控制栈和 中断处理程序 入 口地址映射表(又称 中断向量表,
表中的每项称为一个 中断向量 )等数据结构和它们在内存中的位置,以辅助
操作系统定制中断处理策路和中断调度机制。
4 4 、 多级中断和中断屏蔽
 在多级中断系统中,很可能 同时有多个中断请求这时 处理机接收中断优先级
为最高的那个中断,而忽略其中断优先级较低的那些中断
6 6 、中断处理
硬件: 软件:
硬件设备产生一个中断 中断处理程序处理剩余状态信息
处理机结束当前指令的执行 中断处理程序处理中断
处理机发送中断应答信号 恢复被中断的程序的上下文环境
处理机将 PC 和 PSW 压入栈 恢复旧的 PC 和 PSW 值
根据中断设置加载新的 PC
四、时钟
绝对时钟:记录当前的时间(年、月、日、时、分、秒)。
间隔时钟 (相对时钟) )【分时系统】 :也是通过时钟寄存器来实现的, 由操作人
员设置时间间隔的初值,以后每经过一个单位的时间,时钟的值 1。直到该值为
负时,则触发一个 时钟中断,并进行相应的处理
程序状态字 P P SW :为了解决处理机当前工作状态的问题,所有的处理机都有一些
特殊寄存器,用以表明处理机当前的工作状态。比如用一个专门的寄存器来指示
处理机状态,称为程序状态字(PSW)。
 处理机的工作状态代码:指明是管态还是目态,用来说明当前在处理机上执
行约是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其
他的特殊权力
 条件码:反映指令执行后的结果特征
 中断屏蔽码:指出是否允许中断
==================================3 3 =================================
1 1 、 前驱图:前驱图是一个 有向无环图。
 结点:一条语句、一个程序段或进程
 结点间的有向边:在两个结点之间存在的偏序或前驱关系
2 2 、 程序顺序执行:程序的顺序执行是指若干程序或程序段之间必须按照某种先
后次序这个执行,仅当前一项操作执行完成后,才能执行后继操作
特征 :顺序性、封闭性、确定性、可再现性
并发执行:两个或者两个以的程序或程序段可在同一时间间隔内同时执行。程序
的并发执行卓有成效地提高了系统的有吐量
特征 :间断性 、失去封闭性 、不可再现性 、资源共享 、程序和计算不再一一对应
4 4 、 进程的基本概念
定义:进程是具有独立功能的 可并发执行的程序在一个数据集合上的运行过程,
是系统进行 资源分配和调度的 独 立 单位。进程是进程实体的运行过程。
特征 :动态性、并发性、独立性、异步性
结构特征 :进程实体由 程序段、 数据段及块 进程控制块 3 部分组成,有人把这 3
部分统称为“ 进程映像”。
5 5 、 进程的基本状态及其转换
(1 1 )就绪状态:进程已分配到除 CPU 以外所有必要资源
(2 2 ) 执行状态 :进程已获得处理机,程序正在执行
(3 3 )阻塞状态:进程因发生某种等待事件(如 I/O 请求、申请缓冲空间等)而暂
停执行时的状态,亦即进程的执行收到阻塞。(也称“等待”、“睡眠”状态)
进程状态的转换) (图) :
执行——>阻塞:发生等待事件——>就绪:等待事件发生
就绪——>执行:进程调度 ——>就绪:落选(如时间片时间已到)
挂起状态:引入需要:终端用户、父进程、操作系统、对换、负荷调节(的需要)
进程的转换:(原基础增加)
活动就绪——>静止就绪:挂起 suspend()——>活动就绪:激活:原语 active()
活动阻塞——>静止阻塞:挂起——>活动阻塞:激活
6 6 、进程控制块 (PCB) :进程实体的一部分,记录了操作系统所需的、用于描述进
程情况及控制进程运行所需的全部信息。操作系统是根据 PCB 来对并发执行的进
程进行控制和管理的。所以说, PCB 是进程存在的唯一标志、B PCB 常驻内存
内容:进程标识符信息、处理机状态信息、进程调度信息、进程控制信息
组织方式 :链接方式、索引方式
进程控制 :创建和撒销进程以及实现进程的状态转换 实现:操作系统内核
7 7 、 引起进程创建的事件:用户登录、作业调度、提供服务、应用请求
进程创建原语 create() 进程唤醒原语 wakeup ()
申请空白 PCB 阻塞进程从等待该事件的阻塞队列中移出
为新进程分配资源 进程状态由阻塞变为就绪
初始化进程控制块 将该进程插入到就绪队列中
将新进程插人就绪队列中
8 8 、 进程的终止:destroy() 实质:回收 PCB
9 9 、 进程的阻塞与唤醒:block() & wakeup()
10 、 进程调度 :按某种调度算法从就绪队列中选择一个进程分配处理机
操作系统的三级调度:
高级 (作业) 调度:将在外存上处于后备状态的作业调人主机内存,准备执行
低级 (进程) 调度:将处理机分配给就绪队列中的进程
中级调度:在内存和外存对换区之间进行进程对换,以解决系统紧张的问题
调度方式:
 剥夺:当一个进程正在运行,系统可以基于某种原则剥夺已分配给它的处理
机,将之分配给其他进程
剥夺原则:优先权原则、短进程优先原则、时间片原则
 非剥夺:分派程序一旦把处理机分配给某进程后便让它一直运行,直到完成
或发生某事件而阻塞时才把处理机分配给另一进程
1 11 1 、 进程调度算法
 先进先出 (FIFO) 算法:先来先服务
 最短 U CPU 运行期优先调度算法:短进程优先
 最高响应比优先调度算法:
响应比=(等待时间+要求的服务时间)/要求的服务时间
 优先级调度算法:将 CPU 分配给就绪队列中优先级最高的进程
确定优先级的方法:静态优先级法和动态优先级法。
 时间片轮转调度算法
时间片长短的确定原则:既要保证系统中各个用户进程及时地得到响应,又不要
由于时间片太短而增加调度的开销,降低系统的效率。
 前后台调度算法
前台:分时用户作业(时间片轮转法)
前台无作业——>后台:批处理作业(先来先服务)
1 12 2 、线程
基本概念:线程是进程的一个实体,是被系统独立 调度和分派的基本单位
与进程的区别:一个程序至少有一个进程,一个进程至少有一个线程,线程不能
独立运行,进程在执行过程中拥有独立的内存单元,而多个线程共享内存。
程序并发执行并具有可再现性条件:程序间无共享资源或对共享资源仅有读操作
操作系统的内核:与硬件紧密相关的模块诸如中断处理程序、各种常用设备的驱
动程序以及运行频率较高的模块,是计算机硬件的第一层扩充软件
1、 进程的两种关系:资源共享、相互合作
2、 临界资源:一个时刻只允许一个进程访问的资源
临界区:与共享变量有关的程序段
3、 同步机制应遵循的 准 则:空闲让进、忙则等待、有限等待、让权等待
4、 信号量机制:
原子(PV)操作 wait(s)和 signal(s)执行时不可中断
(1) 记录型信号量机制
 信号量集机制:AND 型信号量集机制、一般“信号量集”机制
“信号量集”特殊情况:单个资源的约束↓
Swait(s,t,d):允许每次申请 d 个资源,资源少于 t 不予分配
Swait(s,1,1):s>1:一般的记录型信号 s==1:互斥信号量
Swait(s,1,0):s≥1:允许多个进程访问 s==0:阻止任何进程访问【可控开关】
5、 信号量的应用:
 利用信号量实现前驱一般的记录型信号关系:将 signal(s)放 Pi 后,wait(s)
放 Pj 前
 利用信号量实现资源共享:为临界资源设互斥信号 mutex=1
6 6、 、 管程机制
基本概 念:管程定义了 一个数据结构和能为并发进程所执行( 在该数据结构上)
的一组操作,这组操作能同步进程和改变管程中的数据。”
组成:①局部于管程的共享变量说明②对该数据结构进行操作的一组过程③对局
部于管程的数据设置初值的语句
条件变量:condition x,y
该变量应置于 wait 和 signal 之前,即表示为 x.wait 和 x.signal
x.signal :重新启动一个被阻塞的进程,若无进程被阻塞,不产生任何后果
8 8 、 进程通信:进程之间的信息交换
低级通信:进程的互斥和同步
高级通信分类:
 共享存储器系统:基于共享数据结构、基于共享存储区
 消息传递系统:直接通信方式:消息缓冲队列
间接通信方式:中间实体(信箱)【 信箱通信方式】
 管道通信系统:
管道:连接一个读进程和一个写进程以实现它们之间通信的 共享( pipe )文件
9 9 、 死锁
基本概念:在多道程序系统中,一组进程中的每一个进程均无限期地等待被该组
进程中的另一个进程所占有且永远不会释放的资源,这种现象称系统处于死锁状
态,简称死锁。
死锁定理:S 状态为死锁状态的充分条件是:当且仅当 S 状态资源分配图是不可
完全简化的 产生原因:竞争资源、进程推进顺序不当
产生必要条件:互斥、请求和保持、不剥夺、环路等待
【不是相互独立的,前三个条件是必要条件,而环路等待实际上是在前三者基础
上的一种可能的结果,是死锁的一种现象】
处理方法:
(1) 预防死锁:一般摒弃后三个条件
摒弃 2:资源原子分配法|摒弃 3:剥夺方式|摒弃 4:资源有序分配法
(2) 避免死锁:
 安全状态:系统能按某种顺序( 安全序列)来为每个进程分配其所需资
源,直至最大需求,使每个进程顺利完成
 不安全状态:不存在这样一个安全序列
(3) 死锁的检测与解除:
检测:银行家算法中的 安全检查算法、warshall 传递闭包算法
解除:剥夺资源、撤销进程
【1)可利用资源向量 available:表示 m 类资源中每一类资源的可用数目;2)
把不占用资源的进程向量 allocation=0 记入表 L 中,即 L i ∪L;3)从进程集合
中找到一个 request i ≤work 的进程,做如下处理:将其资源分配图简化,释放
出资源,增加工作向量 work=work+allocation;将他记入 L 表中;4)若不能把
所有的进程都记入 L 表中,则表明系统状态 S 的资源分配图是不可完全简化的,
因此该系统状态将发生死锁。】
信号量的物理意义:=0:无资源可供使用或不允许进程得到该资源
大于 0 时:可用资源的数目 小于 0 时:因请求该资源而被阻塞的进程数
==============================5 5 =====================================
1 1 、 存储器:主存储器(内存)、辅助存储器(外存)
外存:由顺序编址的“块”组成
内存: 系统区:供操作系统使用
用户区:划分为一个或多个区域,供用户进程使用
存储器管理的主要目标:为用户提供方便、安全和充分大的存储器
2 2 、存储管理的任务) (功能) :
地址转换、内存的分配和回收、内存的地址保护、内存的共享,内存的扩充
2 2、 、 地址转换【地址映射、重定位】:
进程指令中的逻辑地址转换成内存中的物理地址
逻辑(相对)地址:用户源程序经过编译或汇编后形成的目标代码中出现的地址
物理(绝对)地址:内存中各存储单元的编号
3 3、 、 程序的连接和装入:用户源程序——>可执行文件:编译、链接、装入
连接:将目标模块以及所需的库函数装配成一个完整的装入模块。
 静态 连 接 :在程序运行之前
 装入时动态连接:装入内存时 特点:便于软件版本的修改和更新,便于目
标模块的共享
 运行时动态链接:执行过程中 特点:加快了程序装入,节省了内存
装入 :由装入程序将装入模块装入内存
 绝对装入方式:按照装入模块中的地址将程序及数据装入
【地址转换发生在程序编译或汇编时】
 可重定位装入方式:根据内存当时的实际使用情况装入到内存的适当地方,
不许程序在内存中移动位置【地址转换发生在程序装入内存时进行】
 动态运行时装入方式:可将装入模块装入内存中的任何位置,但不许程序在
内存中移动位置【地址转换发生在程序真正执行时进行】
4 4、 、 存储器管理方式:连续分配方式、离散分配方式
比较:大批量数据存取速度(较快、较慢)、机制的复杂性(较简单、交复杂)、
内部碎片(较大、较小)、实现虚拟技术(较难、较易)、实现共享(较难、较易)、
实现动态链接(较难、较易)
 连续分配方式:单一连续分配方式、分区分配方式(固定分区、可变分区)
 离散分配方式:分页、分段、段页式
5 5、 、 单一连续分配:只用于单用户、单任务操作系统
6 6、 、 分区分配:为了适应多道程序设计技术
把内存划分为若干个连续的区域,每个用户程序占有一个
 固定分区:将内存空间划分为若干个固定大小(可不同)的分区,每个分区
中可以装入一道程序。分区的位置及大小在运行期间不能改变
固定分区分配表:分区号、起始地址、长度、占用标志等
 可变分区:根据作业大小动态地建立分区正好适应作业的需要
数据结构:已分分区表、空闲分区表
分区分配算法:
 首次适应算法:要求空闲分区按 地址递增的次序排列
内存分配:从空闲分区表(或空闲分区链)首开始顺序查找,直到找到一个能
满足其大小要求的空闲分区。按照作业大小,从该分区中划出一块内存空间
分配给请求者,余下的空闲分区仍然留在空闲分区表(或空闲分区链)中
 循环首次适应算法:从上次找到的空闲分区的下一个空闲分区开始查找
 : 最佳适应算法:空闲分区按 容量大小递增的次序排列,从空闲分区表( 或空
闲分区链)首开始顺序查找,直到找到一个能满足其大小要求的空闲分区。
 最差适应算法:空闲分区按 容量大小递减的次序排列
7 7、 、 紧凑(拼接):通过移动,把多个分散的小分区拼接成一个大分区的方法
碎片:内存中无法被利用的存储空间
【仅在系统接收到进程所发出的申请命令,且每个空闲区域单独均不能满足,
但所有空闲区域之和能够满足请求时才进行一次紧凑】
1 10 0 、 覆盖技术与交换技术
覆盖技术:把一个大程序划分为一系列覆盖每个覆盖是一个相对独立的程序单位
 覆盖:同一内存区可以被不同的程序段重复使用
 覆盖区:可共享的内存区【大小由覆盖段中最大的覆盖来确定】
 覆盖段:把程序执行时不要求同时装入内存的覆盖组成组,称为覆盖段
交换技术:进程在内存和外存间的动态调度
11 、分页存储管理方式 :2 2 次访问内存
基本思想:将作业地址空间和存储空间按相同长度为单位进行划分。把每个作业
的地址空间分成大小相同的页,把内存存储空间也分成大小相同的块。在为进程
分配空间时,以块为单位,按照作业的页数离散地分配内存块。
页内碎片:由进程最后一页未装满而形成的碎片
页表(页面映射表 ,在内存) ): 【实现从页号到物理块号的映射】
地址结构:逻辑:页号+页内位移量 物理:物理块号+物理块内偏移量
地址转换:将逻辑地址的页号转换为内存中的物理块号
两次访问内存:根据页号访问页表、根据物理地址进行读/写操作
快表:存储了正在运行的程序的当前最常用的页号和它的相应物理块号
外层页表:为离散分配的页表再建立一张页表记录存放各页表页的内存块号
逻辑地址:外层页号 + 外层页内地址 + 页内位移量
位示图(“1”:相应块已被占用 “0”:空闲块)
 分配:第 i(0 开始)字的第 j(0 开始)位块号:i * 位示图中字长 + j
 回收:I = 块号 / 字长 j = 块号 % 字长
1 15 5 、分段存储管理 :2 2 次访问内存
基本思想:每个程序的地址空间按照自身逻辑关系划分成若干段,每个段从 0
开始独立编址,段内地址连续,各段长度不等。
分配内存:每段分配一连续的存储空间,段间地址空间可以不连续
段表(段映射表):段长 + 基址(该段在内存中的起始地址)
地址结构:逻辑地址:段号 + 段内地址
存储保护:越界保护、越权保护
越界 (中断) 保护:段号小于段表长度并且段内地址小于段长才能进行地址交换
越权保护:通过在段表中设置存取控制字段来对各段进行保护
与分页区别:
(1)页是信息的物理单位,分页是为了系统管理内存的方便而进行的,故对用户
而言,分页是不可见的,是透明的;段是信息的逻辑单位,分段是程序逻辑上的
要求,对用户而言,分段是可见的。
(2)页的大小固定,由系统决定;段的大小是不固定的,由用户程序本身决定。
(3)从用户角度看,分页的地址空间是一维的,而段的地址空间是二维的。
1 16 6 、段页式存储管理 :3 3 次访问内存
基本思想:作业的地址空间首先被分成若干个逻辑分段(段表),然后再将每一
段分成若干个大小固定的页面(页表)。将主存空间分成若干个和页面大小相同
的物理块,对主存的分配以物理块为单位。
地址结构:段号 + 段内页号 + 页内地址
===============================6 6 ====================================
 一次性:作业在运行前需一次性地全部装入内存
 驻留性:作业装入内存后,便一直驻留在内存中,直至作业运行结束
1 1 、局部性原理:程序对内存的访问时不均匀的,在一较短时间内,程序的执行
仅局限于某个部分【CPU 总是集中的访问程序中的某一部分】
 时间局部性:一条指令被执行后,那么它很快会再次执行
 空间局部性:某一存储单元被访问,那么与之相邻的单元很快会被访问
2 2 、 虚拟存储器:所谓虚拟存储器是指仅把作业的一部分装入内存便可运行作业
的存储管理系统。它具有 请求调入功能和 置换功能,能从逻辑上对内存容量进行
扩充,其逻辑容量取决于内存与外存的容量之和。
3 3、 、 虚拟存储器的特征 :多次性、交换性【非驻留性】、离散性、虚拟性
4 4 、 分页虚拟存储管理:在 分页系统的基础上增加 请求调页和 页面置换功能
页号 物理块号 状态位 P 访问位 A 修改位 M 外存地址
缺页率:页面访问失败次数 / 页面访问总次数(成功次数 +失败次数)
(1 1 ) 页面置换算法 :选择被淘汰的页的方法
 最佳置换 (O O PT ) 算法:选择永不使用或在未来最长时间内不再被访问的页
 先进先出 (FIF0) 算法:选择在内存中驻留时间最久的页面予以替换
 最近最久未使用 (LRU) 算法:选择过去最长时间未被访问的页面予以替换
被访问页在内存:移到表头 没在内存:移到表头,其它依次往后调整
 简单 Clock (最近未使用) 算法:页面循环队列访问位为 0:换出 1:置 0
改进型 Clock :访问位 A+修改位 M
(2 2 )缺页中断:访问的页面不在内存时,请求操作系统将所缺的页面调入内存
 在指令的执行期间产生和处理中断信号【 与一般中断的区别】
 一条指令执行期间,可能产生多次缺页中断
缺页中断 处理过程:保留 CPU 现场,分析中断原因,转入缺页中断处理程序进行
处理;从外存中找到缺的页面;若内存已满,则选择一页换出;从外存读入缺页,
写入内存,修改页表;中断处理完成,恢复 CPU 现场
(3 3 ) 内存分配:最小物理块数的确定、内存分配策略、物理块的分配算法
最小物理块数:保证进程正常运行所需的最少物理块数
内存分配策略:固定分配、可变分配
 固定分配:每个进程分配一组固定数目的物理块,进程运行期间不可改变
 可变分配:每*分配一定数目*块,进*间可根据情况做适当的增加或减少
 局部置换:发生缺页时,从当前缺页进程在内存的页面中选出一页进行淘汰
 全局置换:由系统从空闲物理块队列中取出一块分配给该进程。当空闲物理
块队列中的物理块用完时,操作系统才从内存中选出一页进行淘汰
(4 4 ) 物理块分配算法:
 平均分配算法:将系统中所有可供分配的物理块,平均分配给各个进程。
 按比例分配算法:根据进程的大小按比例分配物理块。
 考虑优先级的分配算法:根据进程的优先级别按比例分配内存块
(5 5 )调页策略:请求调页策略、预调页策略
 请求调页策略:缺页中断发生时进行调度
 预调页策略(先行调度):缺页中断发生前进行调度
(6 6 )抖动问题) (原因): : 【系统中进程的数量太多,因此分配给每个进程的物理
块数量太少,使得每个进程在运行时频繁的发生缺页中断】 】,从而导致处理机利
用率急剧下降,而趋于 0。
工作集:在某段时间间隔里,进程实际要访问的页面的集合
预防抖动方法 :采取局部替换策略、引入工作及算法、挂起某些进程等
3 3、 、 分段虚拟存储器
段表:段号 段长 段的基址 存取方式 访问位 修改位 存在位 增补位 外存地址
段的共享:利用段的动态连接实现,共享段在不同程序中可具有不同的段号。
共享段表:段名 段长 内存地址 存在位 外存始址等
记录了共享此分段的每个进程的情况和进程的个数
=====================================8 8 ==============================
1 1 、 文件管理系统:通过把它管理的信息组织成一个个文件的方式来实现其管理
2 2 、 文件:在逻辑上具有完整意义的信息集合,它有一个名字作标识
【用户利用文件名来访问文件】
基本特征:文件的内容为一组相关信息、文件具有保存性和文件可按名存取
4 4、 、 文件系统:操作系统中负责管理和存取文件的程序模块【信息管理系统】
组成:管理文件所需的数据结构(如文件控制块和存储分配表)和相应的管理软件
以及访问文件的一组操作所组成
功能:文件存储空间的管理;目录管理;文件的读写管理;文件的安全性管理;
提供用户接口
5 5、 、 文件分类:
 按 文件性质用途:系统文件、库文件、用户文件
 按文件的 组织形式:普通文件、目录文件、特殊文件
 根据 使用和管理情况:临时文件、永久文件、档案文件
 按文件系统提出的 保护级别:只读文件、读写文件、不保护文件
 按文件 数据流向:输入型文件、输出型文件、输入/输出型文件
6 6、 、 文件的结构和存取方式:
文件的组织结构:文件的构造方式【逻辑结构、物理结构】
 逻辑结构:从用户观点出发所现察则的文件组织形式,是用户可以直接处理
的数据及其结构
 物理结构:又称文件的存储结构,是指文件在外存上的存储组织形式,这与
存储介质的性质有关
存取方式:顺序存取、随机存取、按键存取
7 7、 、 文件的逻辑结构
遵循原则:便于修改、提高检索效率、应使文件信息占据最小的存储空间、便于
用户进行操作
有结构 【记录式】 文件:在逻辑上总是被看成一组连续有序的记录的集合
 定长记录文件:文件所有记录的长度都是相同的,文件的长度用记录数目表
示,检索时刻根据记录号及记录长度确定记录逻辑地址
 变长记录文件:文件中记录长度不相同,检索时必须从第一个记录开始逐一
查找,直到找到所需文件
按排列方式↓ 按记录的长度↑
 顺序文件:按某种顺序排列的记录所组成的文件【定长】
 索引文件:建立索引表,并为每个记录设置一表项,以加速对记录的检索速
度 索引表:定长记录的顺序文件
无结构(流式)文件:相关有序字符的集合 字符:构成文件的基本单位
8 8、 、 存储介质:磁盘、光盘、内存、磁带等
卷:存储介质的物理单位(一盘磁带、一个磁盘组)
块:存储介质上连续信息所组成的一个区域,也称物理记录;内存和外存进行信
息交换的物理单位
 顺序存储设备:严格依赖信息的物理位置进行定位和读/写
 直接(随机)存储设备:允许文件系统直接存取对应存储介质上任意物理块
磁盘机:固定磁头型、移动磁头型
柱面号:不同盘面上具有相同编号的磁道在同一柱面上
 i:柱面 j:磁头 k:扇区 t:每个柱面上磁道数 s:每个盘面扇区数
对应块号:b=k+s*(j+i*t)
 每个柱面磁盘块数:D 物理块:P
柱面号:P/D 磁头号:(P%D)/ S 扇区号:(P%D)% S
8 8 、文件的物理结构:
磁盘文件的物理结构:
(1 1 ) 连续文件:将一个文件中逻辑上连续的信息存放到磁盘上依次相邻的块上
(2 2) ) 连接文件:顺序的逻辑记录被存放在不连续的磁盘块上,用指针把这些磁盘
块按逻辑记录的顺序链接起来,则形成文件的链接结构【串联文件】
隐式连接:每个盘块中都含有一指向下一个盘块的指针【簇:几个盘块组成单位】
显示连接:把用于连接文件物理块的指针显式地存放在外存的一张连接表中
 文件分配表 F F AT:一个磁盘设置一张;-1 表示文件结束,不存在下一个盘块
 长度:半个字节的整数倍【DOS&Windows 操作系统采用显示连接方式】
(3 3 )索引文件:为每个文件分配一个索引块,把分配给该文件的所有盘块号都
记录在该索引块上【支持直接访问】
混合索引:将多种不同级别的索引分配方式结合而形成的一种分配方式
【UNIX】:13 个地址项:10 项:直接地 + 3:一二三级索引盘块号
9 9 、文件目录:将文件名转换为该文件在外存上的物理位置
要求:实现“按名存取”、提高对目录的检索速度、文件共享、允许文件重名
(1 1 ) 文件控制块:设置用于文件描述和文件控制的数据结构,它与文件一一对
应,随着文件的建立(删除)而诞生(消失),某些内容随着文件的使用而动态
地改变 内容:有关文件存取控制、文件结构、文件管理的信息
目录:文件控制块的有序集合
(2 2 )文件目录结构:
 一级目录结构:线性表:每个文件有关的说明信息占用一个目录项
 二级目录结构:主文件目录:管理所有用户文件目录 用户文件目录:一级
 多级文件目录:主文件目录演变为根目录,树形层次结构
多级目录解决了重名问题、有利于文件的分类、便于制定保护文件的存取权
限,有利于文件的保密、并且便于实现文件的共享
目录的查找:线性检索法(相对路径名)、哈希法、其他算法(B+树)
目录的改进:
 符号目录项:文件名+相应文件号
 基本目录项:除了文件名以外的文件控制块的其余全部信息
1 10 0 、文件系统的实现
系统打开文件表:保存已打开文件的目录项,保存文件号、共享计数、修改标志
用户打开文件表:文件描述符、打开方式、系统打开文件表入口
关系:用户打开文件表指向系统打开文件表
11 、外存空间管理:空闲块的组织、分配、回收
 空闲块表法:顺序结构文件 【首块号 空闲块数】
分配和回收:类似内存可变分区首次适应、最佳适应和最差适应算法
 空闲链表法:空闲盘块链、空闲盘区链
 位示图法
 成组连接法 :空闲块分成若干组,指向一组中各空闲块指针集中在一起
U U NIX:100 个空闲块为一组,每组第一个空闲块中登记下一组空闲块号和空
闲块数,余下不足 100 块的那部分登记在专用块中,其前组第 2 块置“0”
1 12 2 、文件 共享 :绕道法、连接法、基本文件目录、利用符号链实现文件共享、基
于索引结点的共享方式
1 13 3 、文件系统的安全性和数据一致性
文件保护:防止文件被破坏
文件保密:指不经文件所有者授权,任何其他用户不得使用文件
影响文件安全性主要因素:人为因素、系统因素和自然因素。
维护文件安全性的措施 :防止人为因素造成的文件不安全性和防止自然因素...
 人为因素:隐蔽文件和目录、密码、文件加密、指定访问权限
 系统或自然因素:坏块处理、磁盘容错技术、备份
转储:
 海量转储:把存储器中的全部文件定期复制到备用存储介质上
 增量转储:在相当短的时间间隔把上一次转储以来改变过的文件和新文件转
储到备用存储介质上关键性的重要文件也可以再次转储
(2 2 ) 文件系统的数据 一 致性
一 致性检查:块的一致性检查、文件的一致性检查。
 块的 一 致性检查:空闲盘块号计数器、数据盘块号计数器:表项数目=盘块

0-0:盘块丢失 2-0:空闲盘块号重复出现 0-2:数据盘块号重复出现
 文件一致性检查:重复文件的数据一致性、共享文件的数据一致性
1 14 4 、磁盘调度
文件系统的物理基础:磁盘存储设备
提高文件系统性能:块高速缓存、磁盘空间的合理分配、磁盘调度算法优化
磁盘 I IO /O 时间:查找时间、等待时间、传输时间
磁盘的移臂调度算法:先来先服务(FCFS)、最短寻道时间优先、各种扫描算法
 先来先服务:根据访问请求的先后次序先提出访问请求的请求者为之服务
 最短查找时间优先 (S S STF) ):从磁头出发,选择离磁头最近的磁道为其服务
 扫描算法:
 S S CAN) (电梯调度算法):选择请求队列中沿磁臂前进方向最接近磁头所在柱
面的访问请求作为下一个服务对象
 循环扫描策略:单向反复扫描
 N N 步扫描策略:将磁盘请求队列分 n 子队列,队列间:FCFS 队列内:SCAN
 F FN SCAN 算法:分两个子队列:当前所有请求队列+扫描期间新出现的请求队列
================================9 9 ===================================
设备管理:对计算机系统中除 CPU 何内存以外的所有其他设备的管理
1 1 、 设备 分类:
按所属关系:系统设备、用户设备
从资源分配角度:独占设备、共享设备、虚拟设备
从外围设备:存储设备、I/O 设备
按信息交换单位:块设备、字符设备
2 2 、设备管理的目标和功能
目标:方便性、并行性、均衡性、独立性(或无关性)
功能:监视所有设备的状态、制定设备分配策略、设备的分配、设备的回收
3 3 、I IO /O 硬件
组成:物理设备、电子部分
接口:并行&串行接口(数据传送方式分) 异步&同步(传送的同步方式)
功能:按照计算机主机与设备的约定格式和过程接收或发送数据和信号
4 4 、设备控制器:CPU 和 I/O 设备之间的接口
功能:控制一个或多个 I/O 设备,以实现 I/O 设备和计算机之间的数据交换
分类:用于控制字符设备的控制器、用于控制块设备的控制器
功能:接收和识别命令、数据交换、地址识别、
标识和报告设备的状态、数据缓冲、差错控制
5 5 、通道 :一种特殊的处理机,通过执行通道程序控制输入输出设备完成操作,
和 CUP 共享内存
类型:字节多路通道、数组选择通道、数组多路通道
6 6 、I IO /O 控制方式:程序查询、I/O 中断、直接存储器访问(DMA)、I/O 通道-方

7 7 、缓冲技术:数据到达速度和离去速度不匹配
引入原因:
 缓和 CPU 与 I/O 设备间速度不匹配的矛盾
 减少对 CPU 的中断频率,放宽对中断响应时间的限制
 提高 CPU 和 I/O 设备的并行性
类型:
按照缓冲区存在的位置分类:硬件缓冲、软件缓冲
按照缓冲区的个数以及缓冲区的组织形式:单缓冲、双缓冲、循环缓冲、缓冲
8 8 、 缓冲池
组成:[ [空缓冲区、装满输入数据的缓冲区、装满输出数据的缓冲区
把各类缓冲区连接在一起,形成 队列:
空缓冲队列 emq 输入队列 inq 输出队列 outq] ]【首尾指针:F(emq)L(emq)】
工作缓冲区:
 用于收容设备输入数据的收容输入缓冲区 hin
 用于提取设备输入数据的提取输入缓冲区 sin
 用于收容 CPU 输出数据的收容输出缓冲区 hout
 用于提取 CPU 输出数据的提取输出缓冲区 sout
缓冲池的操作:收容输入、提取输入、收容输出、提取输出
 从缓冲区队列提取一个缓冲区:Take_buf(type)
 把缓冲区插入相应的缓冲区队列:Add_buf(type,number)
 供进程申请缓冲区用的过程:Get_buf(type,number)
 供进程将缓冲区插入到相应缓冲区队列:Put_buf(type,work_buf)
9 9 、I IO /O 软件
设计目标:低层与硬件相关,它把硬件与较高层次的软件隔离开;而最高层的软
件则向应用提供一个友好的、清晰而统一的 I/O 设备接口
目标:(设备)独立性、统一命名
中断处理程序:
中断:计算机系统在执行期间系统内发生任何非寻常的或非预期的急需处理事件,
使得 CPU 暂时中断当前正在执行的程序,而转去执行相应色事件处理程序,带处
理完毕后又返回原来被中断处,继续执行或调度新的进程执行的过程
O I/O 设备中断:由设备发出的中断,属于外部中断、软中断
硬中断:通过硬件产生相应的中断请求
软中断:在通信进程之间,通过模拟硬中断而实现的一种通信方式
10 、设备驱动程序:I/O 进程与设备控制器之间的通信程序
功能:
 将接收到的抽象要求转换为具体要求
 检查用户 I/O 请求的合法性,了 解 I/O 设备的状态,传递有关参数,设
置设备的工作方式
 发出 I/O 命令,启动分配到的 I/O 设备,完成指定的 I/O 操作
 及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应
的中断处理程序进行处理
1 11 1 、独立于设备的软件
基本任务:实现所有设备都需要的功能,并且向用户级软件提供一个统一的接口
功能:与设备驱动程序的同一接口、设备命名、设备保护、提供与设备无关的块
尺寸、缓冲技术、块设备的存储分配、独占设备的分配与释放、报告错误信息
1 12 2 、设备分配
数据结构:
 系统设备表(SDT):记录当前系统中所有设备的情况
 设备控制表(DCT):反应设备的特性、设备和 I/O 控制器的连接情况
 控制器控制表(COCT):反应控制器的使用状态以及和通道的连接情况
 通道控制表(CHCT):记录通道信息
 逻辑设备表
设备独立性:应用程序独立于具体使用的物理设备
【除了直接与设备打交道的低层软件之外,其他部分并不依赖于硬件 】
【为了提高操作系统的可适应性和可扩展性】
 逻辑设备表:将应用程序中所属用的逻辑设备名映射为物理设备名
 实现方式:为每个用户设置一张逻辑设备表,该表目中包含三项:逻辑设
备名、物理设备名和设备驱动程序的入口地址。用户按照逻辑设备名申
请设备
应考虑因素:
 设备的固有属性:独占、共享、虚拟
 设备分配算法:先来先服务、优先权高者优先
 设备分配中的安全性:安全分配方式、不安全分配方式
 设备独立性
安全分配方式:在这种分配方式中,每当进程发出 I/O 请求后,便进入阻塞状态,
直到其 I/O 操作完成时才被唤醒
不安全分配方式:在这种分配方式中,进程发出 I/O 请求后仍继续运行,需要时
又可发出第二个 I/O 请求、第三个 I/O 请求。仅当进程所请求的设备已被另一进
程占用时,进程才进入阻塞状态。
基本分配程序:分配设备、分配控制器、分配通道【独占设备分配过程】
改进后:增加设备独立性、烤炉多通路情况
1 16 6 、虚拟设备:
【通过某种技术将一台独占设备改造为可以为多个用户共享的共享设备】
Spog oling 技术:虚拟设备技术,它可以把一台独占设备改造为虚拟设备,使进
程在所需的物理设备不存在或被占用的情况下,仍可使用该设备
 脱机输入/ / 出技术:利用专门的外围处理机,将低速 I/O 设备上的数据传送
到高速磁盘上或者相反
 组成:输入(出)井、输入(出)缓冲区、输入(出)进程
共享打印机:利用 S-技术,将它改造为可供多个用户共享的虚拟设备
工作流程:
 当用户进程请求打印输出时由输出进程在输出井中为之申请一空闲盘块
区,并将要打印的数据送入其中
 输出进程为用户进程申请一张空白的用户请求打印表,并将用户的打印
要求填入其中,再将该表挂到请求打印队列上
 优点:提高了 I/O 速度、实现了虚拟设备的功能
缺点:
 输入/输出缓冲区占用了大量的内存空间
 输出/入井占用了大量的磁盘空间
 增加了系统复杂性
2 2 、数据结构:
①可利用资源向量 Available。②最大需求矩阵 Max
③分配矩阵 Allocation。④需求矩阵 Need。
设 Requesti 是进程 Pi 的请求向量。如果 Requesti[j]=k,表示进程 Pi 请求 k
个 Rj 类型的资源。当 Pi 发出资源请求后,系统按下述步骤进行检查:
①如果 Requesti≤Needi,则转向步骤②;否则,认为出错,因为它所需要的资
源数已超过它所宣布的最大值。
②如果 Requesti≤Available,则转向步骤③;否则,表示尚无足够资源,Pi
必须等待。
③系统试探把要求的资源分配给进程 Pi 并修改下面数据结构中的数值:
Available=Available–Requesti;
Allocationi=Allocationi+Requesti;
Needi=Needi–Requesti;
④系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,
才正式将资源分配给进程 Pi,以完成本次分配;否则,将试探分配作废,恢复
原来的资源分配状态,让进程 Pi 等待。
1 1 、设 max(i) 表示第 i i 个进程的最大资源需求量, need (i i )表示第 i i 个进程还
需要的资源量,alloc(i)表示第 i 个进程已分配的资源量。由题中所给条件知:
max(i)+…+max(n)=need(i)+…+need(n)+alloc(i)+…+alloc(n)<m+n
如果在这个系统中发生了死锁,那么一方面 m 个资源应该全部分配出去,即
alloc(1)+…+alloc(n)=m
另一方面所有的进程将陷入无限等待状态,由上述两式可得:
need(i)+…+need(n)<n
上式表示死锁发生后,n 个进程还需要的资源之和小于 n,这意味着此刻至少存
在一个进程 i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获
得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面
的假设矛盾,从而证明了在这个系统中不会发生死锁。
3 3 、答案:假设系统中有 x x 个进程的进程, 则资源至少要有 1 m×x+1 个才不会产
生死锁,由于系统资源有 m×n+1 个,则可列出不等式:m×x+1≤m×n+1 解不等
式,得到 x≤n,所以系统允许同时执行的最大进程数为 n。
证明:假设在系统允许同时执行的最大进程数为 n 时,仍然出现了死锁,此时应
该存在一组进程进程都在等待资源,而且系统已无资源可用。则此时该组进程最
多 n 个,每个进程没有执行完时最多占用 m 个资源,所以现在系统分配出去的资
源最多 m×n,少于系统资源 m×n+1,所以不可能有死所出现。
因此,系统允许同时执行的最大进程数为 n 时系统不会有死锁发生
4 4 、⑴为某 文件分配两个盘块的过程如下:
顺序检索位示图,从中找到第一个值为 0 的二进制位,得到其行号 i1=2,
列号 j1=2;第二个值为 0 的二进制位,得到其行号 i2=3,列号 j2=6。
计算出找到的两个空闲块的盘块号分别为:(2 分)
b1=i1×16+j1+1=2×16+2+1=35
b1=i2×16+j2+1=3×16+6+1=55
修改位示图,令 Map[2,2]=Map[3,6]=1,并将对应块 35、55 分配出去。
⑵释放磁盘的第 300 块时,应进行如下处理:
计算出磁盘第 300 块所对应的二进制位的行号 i 和列号 j:
i=(300-1)/16=18,j=(300-1)Mod 16=11(2 分)
修改位示图,令 Map[18,11]=0,表示对应块为空闲块。(1 分)

操作系统知识点(考试版)相关推荐

  1. 操作系统知识点精简版

    操作系统知识点精简版 文章目录 操作系统知识点精简版 操作系统 一.操作系统概述 二.进程管理 1)进程: 2)线程: 3)调度: 4)进程同步: 5)管程: 6)死锁: 三.内存管理 1)程序编译, ...

  2. 操作系统知识点总结和题集大杂烩

    第一轮:从当前位置开始扫描到第一个(A =0, M = 0)的帧用于替换.表示该页面最近既未被访问,又未被修改,是最佳淘汰页 第二轮:若第一轮扫描失败,则重新扫描,查找第一个(A =0, M = 1) ...

  3. 王道考研 操作系统知识点汇总(目录+思维导图)

    第一章 计算机系统概述 文章目录 前言 1.1.1 操作系统的概念.功能和目标 思维导图 本节内容 1.1.2操作系统的特征 思维导图 本节内容 1.1.3操作系统的发展与分类 思维导图 本节内容 1 ...

  4. 山东大学软件学院2022年春操作系统期末考试

    山东大学软件学院2022年春操作系统期末考试 时间: 2022年7月1日 8:30-10:30 评价: 本次考试题量较大,很容易出现写不完的情况.需要大家尽量对各知识点要熟悉掌握,在考试中合理安排时间 ...

  5. Linux操作系统知识点(上)

    Linux操作系统知识点(上) [1]嵌入式系统 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件 可裁剪,适用于对功能.可靠性.成本.体积.功耗有严格要求 的专用计算机系统. [2]四个重要 ...

  6. 操作系统期末考试试卷

    文章目录 操作系统期末考试试卷 前言 试卷 操作系统期末考试试卷 前言 小张的期末复习计划: 前九天,白天看王道,认真整理笔记,晚上复盘(只看视频,不做题,时间允许可以刷王道课后题),只看了王道的前四 ...

  7. Linux操作系统(第二版)(RHEL 8/CentOS 8)

    Linux操作系统(第二版)(RHEL 8/CentOS 8) 本科教材 主编:     张同光 ISBN号: 9787302538455 出版日期:   2020-1 出版社:     清华大学出版 ...

  8. 我花了72小时,用了近4万字,总结了65道操作系统知识点!

    本人是北京航空航天大学21软件学院的一名在读硕士,下面是我研究生复试和面试整理的操作系统知识点,覆盖了操作系统的全部内容,我相信无论是企业面试和还是考试,都不会超出里面的范围.现在发布出来,供大家参考 ...

  9. 山东大学 软件学院 2020级 2022年 操作系统 期末考试

    山东大学 软件学院 2020级 操作系统期末考试 时间:2022年7月1日上午8:30--10:30 老师:任国珍(但是期末考试题应该是波波老师出的(所以才这么恶心 )) 个人观感(仅代表个人观点,学 ...

  10. 操作系统知识点:全面

    操作系统知识点:全面 https://www.jianshu.com/p/c3a3cc0254b1 https://www.jianshu.com/u/881ef7b85f62 posted on 2 ...

最新文章

  1. 【AI】dlib中图像标注工具 imglab 详细说明
  2. java并发编程基础—生命周期与线程控制
  3. DataX在数据迁移中的应用
  4. SwiftUI之深入解析布局如何自定义AlignmentGuides
  5. 实时音视频流媒体传输的思考和实践
  6. [ES6] 细化ES6之 -- 块级作用域
  7. 九度OJ 1059:abc
  8. 2018,扬帆起航!
  9. HTTP代理如何使用
  10. 编写一个简单的JavaScript模板引擎
  11. elementui生产环境图标加载时偶而乱码
  12. GMM-HMM 详解
  13. bzoj4238: 电压
  14. 第5章-LC3, latency and QoS
  15. 小学生学计算机图片大全集,小学生电脑绘画作品欣赏
  16. Unity3d之表情动画--眨眼
  17. 软件发明专利实例_软件发明专利思路(精)
  18. Linux中ifconfig的使用
  19. 7-17 最长对称子串
  20. MySQL 8.0.20 zip 免安装版 下载

热门文章

  1. 8.21. Pseudo-Types
  2. 微信公众号第三方登录,简单易懂
  3. linux清理dns缓存命令,Ubuntu下清空DNS缓存 提升访问速度
  4. 初识Cpp之 三、Cpp预处理器
  5. JavaEE 13个核心规范
  6. [机器学习入门] 李宏毅机器学习笔记-29 (Sequence Labeling Problem part 1;结构化预测-序列标记 part 1)
  7. python自定义标识符的使用区分大小写吗_Python中的标识符是不区分大小写的
  8. vivox9系统基于Android,vivo X9
  9. 多人在线匿名聊天室/私人聊天室源码/支持同时创建多个聊天室
  10. Quorum区块链原理及其概念