- 第一章
- 操作系统的定义
用来控制和管理计算机系统资源,方便用户使用的程序和数据结构的集合。 - 操作系统的特征
- 并发性
- 并发
并发是指在某一时间间隔内计算机系统中运行着多个程序 - 并行
并行是指在同一时刻计算机内有多个程序都在运行,这只有在多CPU系统中才能实现。
- 并发
- 共享性
共享是指多个用户或程序共享系统的软、硬件资源。- 互斥共享
例如打印机 - 同时共享
例如磁盘
- 互斥共享
- 异步性
也叫随机性,指在多道程序环境中,由于资源有限而程序众多,进程的执行不是一下完成的,而是走走停停的。 - 虚拟性
虚拟性指用户感觉到的,但是并不真实存在的操作系统向用户提供了比直接使用裸机简单方便的高级服务,从而对程序员隐藏了对硬件操作的复杂性,相当于在原先的物理计算机上覆盖了一至多层系统软件,将其改造成一台功能更强大而且易于使用的扩展机或虚拟机。
- 并发性
- 操作系统的功能
- 处理机管理
处理机管理也可以认为就是进程管理和作业管理- 进程控制
- 进程同步
- 进程通信
- 调度
- 存储管理
主要是管理内存资源- 内存的分配与回收
- 存储保护和共享
- 地址转换
- 内存扩充
- 设备管理
设备是指除了CPU和内存以外的所有输入、输出设备- 缓冲管理
- 设备分配
- 设备处理
- 设备独立性和虚拟设备
- 文件管理
系统中的信息资源都是以文件的形式存放在外存储器上,需要的时候再把它们装入到内存中。- 提供文件的组织方法
- 提供文件的存取和使用方法
- 实现文件存储空间的管理
- 实现文件存储空间的管理
- 实现文件的目录管理
- 实现文件的共享和安全性控制
- 网络与通信管理
- 网上资源管理
- 数据通信管理
- 网络管理
- 用户接口
- 操作接口
又称为作业级接口,是操作系统为操作控制计算机工作并提供服务的手段的集合,通常可借助操作控制命令、图形操作界面和作业控制语言来实现 - 系统调用
就是用户在程序中调用操作系统所提供的一些子功能,是一种特殊的过程调用,通常由特殊的机器指令实现。- 进程控制类
- 进程通信类
- 设备管理类
- 文件操作类
- 信息维护类
- 操作接口
- 处理机管理
- 操作系统的分类
- 批处理系统
- 分时系统
工作方式是一台主机连接了多个终端,每个终端有一个用户在使用 - 实时系统
指使计算机能及时响应外部事件的请求,在严格规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。 - 微机操作系统
- 网络操作系统
- 分布式操作系统
- 嵌入式操作系统
- 智能卡操作系统
- 操作系统的定义
- 第二章
- 进程的定义
- 是程序的一次执行
- 计算机中正在运行的程序的一个实列
- 可以分配给处理机并由处理机执行的一个实体
- 是一个可并发执行的具有独立功能的程序,也是操作系统进行资源分配和保护的基本单位
- 状态转换
- 三状态模型
- 五状态模型
- 三状态模型
- 进程的描述
- 进程控制块PCB
是系统为描述进程而设计的一种数据结构,一个进程只有一个PCB,PCB是进程存在与否的唯一标记,一个进程的PCB结构都是全部或部分常驻在内存中的- 标识信息
- 现场信息
- 控制信息
- 有关程序段
描述进程所要完成的功能 - 与该程序段相关的数据结构集合
- 进程控制块PCB
- 进程的控制
指系统使用一些就有特定功能的程序段来创建进程、撤销进程以及完成进程各状态间的转换。 - 临界区和临界资源
- 临界资源
一次只能允许一个进程访问的共享资源称为临界资源 - 临界区
每次进程访问临界资源的那段程序称为临界区,简称(CS区)。 - 使用准则
- 一次至多只允许一个进程进入临界区
- 不能让一个进程无限期地在临界区内执行
- 不能强迫一个进程无限期地在临界区内执行
- 不能强迫一个进程无限地等待进入它的临界区
- 不能假定处理机的速度和限制处理机的数量,也即公平竞争
- 临界资源
- 信号量机制
信号量是一种控制进程互斥和同步的变量- 分类
- 按照用途
- 私有信号量
- 公有信号量
- 按照取值
- 二元信号量
- 一般信号量
- 按照用途
- 整型信号量
S为一个整型变量,除初始化外,仅能通过P、V原语来访问它 - 记录型信号量
S为一个记录型数据结构,其中一个分量为整型量value,另一个分量为信号量队列queue,value通常是一个具有非负初值的整型变量,queue是一个初始状态为空的进程队列。 - 二元信号量
S为一个记录型数据结构,其中一个分量为整型量value,它仅能取值0和1,另一个分量为信号量队列queue。 这时信号量上的P、V操作通常记为BP和BV操作。
- 分类
- 死锁
- 定义
系统中存在一组并发进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待该组进程中另一些进程所占用的资源,从而使该组进程都停止往前推进而陷入永久的等待状态 - 原因
- 系统资源不足
- 进程推进的顺序不合理
- 必要条件
- 互斥条件
- 申请与保持条件
- 不剥夺条件
- 循环等待条件
- 预防方法
- 预先静态分配策略
指进程必须在开始执行前就申请它所需要的全部资源,仅当系统能满足进程的所有资源请求并把资源分配给进程后,该进程才能执行。 - 层次分配策略
将系统中的所有资源分成多个层次,每个层次给出一个编号:L1,L2,…,Ln,每一层中可有几类资源。进程在申请资源时,当得到某一层的一个资源后,它只能再申请较高一层的资源,或者它要想再申请该层中的另一个资源时,必须先释放该层中已拥有的资源;进程要释放资源时,如果要释放某一层的一个资源,必须先释放所拥有的较高层的所有资源。 - 剥夺式分配策略
可阻止产生死锁的第三个必要条件的出现,指当一个进程申请资源得不到满足时,可以从另一个占有该类资源的进程那里去抢夺资源
- 预先静态分配策略
- 死锁的检测
最常用的检测死锁的方法是对进程资源分配图(PRAG)进行化简。 死锁定理当且仅当系统某状态S所对应的资源分配图是不可完全化简的,则称S是死锁状态,而不可化简的那些进程即是死锁进程。反之,若状态S对应的资源分配图是可完全化简的,则状态S是安全的。 - 死锁的恢复
- 撤销进程法
- 剥夺资源法
- 进程回退法
- 银行家算法
进程Pi发出对第j类资源的请求(Requestij)时,系统将执行如下的资源分配算法:①申请量超过最大需求时出错,即Requestij+aij>cij;否则转步骤②;②申请量超过目前系统拥有的可分配量时则阻塞该进程,即RequestijVj,否则转步骤③;③系统对进程Pi发出的资源请求做试探性的分配,相应的数据结构修改如下,然后转步骤④; aij=aij+Requestij; vj= vj-Requestij; ④做安全性检查,如果安全则承认试分配,否则撤销试分配,相应的数据结构作如下的修改,同时阻塞进程Pi。 aij=aij-Requestij; vj= vj+Requestij;
- 定义
- 互斥
- 同步
- 进程的定义
- 第三章
- 处理机调度定义
处理机调度(CPU scheduling)是指CPU资源在可运行实体间的分配。在多道程序系统中,通常会有多个进程或线程同时竞争CPU。如果只有一个CPU可用,就必须选择下一个可用的进程或线程。在操作系统中,完成选择工作的这一部分称为调度程序(scheduling),该程序使用的算法称为调度算法(scheduling algorithm)。 - 调度的三级层次
- 低级调度
- 中级调度
- 高级调度
- 作业调度
作业(Job)是用户提交给操作系统计算的一个独立任务。在批处理系统中,作业进入系统后先驻留在外存上,因此,需要由作业调度来将它们分批地装入内存。因此作业调度是适用于批处理系统的一种调度方式。- 先来先服务算法(FCFS)
- 最短作业优先算法(SJF)
- 最高响应比优先算法(HRF)
- 进程调度
进程调度是任何一种操作系统都必须具有的功能,它在很大程度上决定了系统的性能。因此,如何把处理机有效地分配给进程、如何在多个请求进程中选择某个进程运行,都是进程调度需要解决的问题。- 先来先服务算法(FCFC)
FCFS算法就是每次从就绪队列中选择一个最先进入该队列的进程调度,把CPU分给它,令其投入运行。该进程一直运行下去,直至完成或者由于某些原因而被阻塞才放弃CPU。这样,当一个进程就绪队列时,它的PCB就链入就绪队列的末尾。每次进程调度时就把队头进程从该队列中摘下,分给它CPU,使它运行。 - 时间片轮转算法(TRR)
主要用于分时系统中的进程调度。每当执行进程调度时,调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。时间片是一个小的时间单位,通常为10至100ms数量级。
- 先来先服务算法(FCFC)
- 处理机调度定义
- 第四章
- 物理地址
计算机主存中每个存储单元都有一个编号与之对应,这些编号称为物理地址(绝对地址)。 - 逻辑地址
通常用户程序是用高级语言编写的,并以二进制的形式保存在计算机的辅存中,称为源程序,源程序经过编译得到计算机能理解的目标程序,目标程序中的地址称为逻辑地址(相对地址) - 地址转换
将用户程序中的指令或数据的逻辑地址转换为存储空间中物理地址的工作称为地址转换或重定位。- 静态重定位
在装入用户程序时,把程序中的逻辑地址全部转换成物理地址。 - 动态重定位
装入时没有地址变换,在程序执行过程中,当CPU要访问指令或数据时,先由硬件的地址转换机构将逻辑地址转换成物理地址。
- 静态重定位
- 可变分区存储管理分配策略
系统初启后,在内存中除常驻操作系统,其余空间为一个完整的大空闲区。当有进程申请分配内存空间时,系统从该空闲区中划分出一块与进程大小相同的区域进行分配。- 最先适应算法 FF
每次分配时,总是从头开始按顺序查找空闲分区,将最先找到的满足条件的空闲分区分配给用户。这时找到的第一个满足要求的空闲分区的大小,不一定正好等于用户进程的大小。然后,将空间分为两部分,一个是分配给进程的,大小正好等于用户进程的大小;剩余部分是空闲分区,等待下一次的分配申请。 - 下次适应算法NF
每次为用户进程分配空闲分区时,总是从上次查找结束的地方开始,只要找到一个足够大的空闲分区,就从中分割出一块等于进程大小的内存空间把它分配给用户,另一块留作空闲分区。这种算法可以使内存空间中的空闲分区分布比较均匀,减少查找的开销,但也使空间中的大空闲分区减少 - 最佳适应算法BF
“最佳”的含义是指找到满足条件且长度最小的空闲分区,即该算法每次都将进程分配到内存中与它所需大小最接近的一个空闲分区中。为了实现这种算法要将空闲分区按由小到大的顺序排列,每次查找都从头开始,第一次找到的分区就是“最佳”的。 - 最坏适应算法
与最佳适应算法相反,该算法要求将空闲分区按由大到小的顺序排列,当有进程提出申请时,就查看空闲分区表或空闲分区链中的第一个单元,也就是所有空闲分区中长度最大的空间。如果满足进程的要求,就将其分配给提出申请的进程;否则分配失败。因此这种分配算法的查找效率最高。
- 最先适应算法 FF
- 分页存储器管理的基本原理
- 分段存储器管理的基本原理
- 虚拟存储器
- 基本思想
仅把目前需要的部分程序加载到内存,其余暂时不用的程序及数据还保留在辅存中。在进程运行过程中,如果所要执行的程序不在内存,系统将要执行的程序段自动调入内存。此时如果内存已满,则要通过置换操作将暂时不用的程序段先调出到辅存,然后将所需的程序段调入内存,继续执行该进程。 虚拟存储器的引入,实际上是利用了存储管理中逻辑地址空间和物理地址空间的关系,将计算机的内存和辅存结合起来,使得用户感觉具有大容量的内存,但在物理上并没有真正增加内存容量。
- 基本思想
- 物理地址
- 第五章
- 设备分类
- 按照信息交换的单位分类
- 字符设备
以字符为单位与内存进行信息交换键盘、鼠标 - 块设备
以块为单位与内存进行信息交换磁盘
- 字符设备
- 按照输入输出特性分类
- 输入输出设备
将信息输送给计算机或者将计算机处理或加工好的信息输出 - 存储设备
为顺序存取存储设备和直接存取存储设备 - 通信设备
集输入和输出为一体的设备,将信号传输到另一个地方
- 输入输出设备
- 按照所属关系分类
- 系统设备
- 用户设备
- 按照资源分配方式分类
- 独占设备
在一段时间内只允许一个进程使用 - 共享设备
在一段时间内允许多个进程同时访问 - 虚拟设备
指通过虚拟技术,将一台独占设备变换为共享设备供多个进程同时使用
- 独占设备
- 按照传输速率分类
- 高速设备
- 中速设备
- 低速设备
- 按照信息交换的单位分类
- 设备控制器
设备由两大部分组成:物理设备和电子部件,为了达到设计的模块性和通用性,一般将其分开。电子部件称为设备控制器(DeviceController)或适配器(Adapter),是和计算机系统直接联系的电子部件,在个人计算机中,它常常是一块可以插入主板扩充槽的印刷电路板。- 功能
- 接收和识别CPU或通道发来的命令
- 实现数据交换
- 发现和记录设备及自身的状态信息
- 设备地址识别
- 数据缓冲
- 差错控制
- 功能
- IO控制方式
- 程序直接控制IO方式
又称程序查询方式,输入输出完全由CPU控制,输入输出指令或查询指令测试一台设备的忙闲标志位,每传送一个字节或一个字,CPU都要循环地执行状态检查 - 中断驱动方式
外围设备有了反映其状态的能力,仅当I/O操作正常或异常结束后,由设备控制器“自动地”通知设备驱动程序,这时才中断CPU,实现了一定程度的并行操作,这就叫中断驱动方式 - 直接存储器存取方式 DMA
I/O设备能直接与主存交换数据而不占用CPU具有DMA控制器的计算机系统。 - 通道方式
- 程序直接控制IO方式
- 缓冲
- 原因
- 改善CPU与外围设备之间速度不匹配的矛盾
- 减少对CPU的中断频率,放宽对CPU中断响应时间的限制
- 提高CPU和I/O设备的并行性
- 分类
- 设备自身带的缓冲称硬缓冲
- 由操作系统管理的在内存中的缓冲称软缓冲
- 原因
- 设备分类程序
- 分配设备
查找逻辑设备表LUTà系统设备表SDTà设备控制表DCT如果所有该类设备都忙,便将进程堵塞否则计算安全性,如果不会导致不安全,则分配 - 分配控制器
设备控制表DCTà控制器控制表COCT - 分配通道
控制器控制表COCTà通道控制表CHCT
- 分配设备
- 磁盘管理
- 磁盘工作原理
- 磁盘调度算法
- 先来先服务调度(FCFS)
- 最短寻道时间优先调度(SSTF)
- Ø扫描算法(SCAN)
- Ø寻查算法(Look)
- Ø循环扫描算法(C-SCAN)
- Ø循环寻查算法(C-Look)
- 设备分类
- 第六章
- 文件
文件是具有名字且在逻辑上具有完整意义的信息项的有序序列 - 记录
是一组相关数据项的集合,用于描述一个对象某方面的属性.一个记录通常包含哪些数据项,取决于需要描述对象的哪个方面. - 逻辑结构
指文件的外部组织形式,是用户所看到的文件的组织形式- 流式
- 记录式
- 物理结构
指文件的内部组织形式,是文件在物理存储设备上的存储形式,所以又称文件的存储结构- 顺序结构
- 链接结构
- 索引结构
- 常用的目录结构
- 一级目录
- 二级目录
- 树形目录
- 无环图目录
- 通用图目录
- 文件的安全控制方法
- 限定访问权限
- 限定访问组
- 辅存空间的管理的方法
- 连续分配
- 链接分配
- 索引分配
- 文件