导图社区 操作系统
这是一篇关于操作系统的思维导图,主要内容有1.操作系统理论2进程的描述和控制3.处理机调度与死锁4.存诸器管理5.虚拟存储器6.输入输出系统7.文件管理8.磁盘存储器管理。
编辑于2022-08-06 13:30:47 江苏省操作系统
1.操作系统理论
目标和作用
目标
方便性
有效性
可扩充性
开放性
作用
用户与计算机系统硬件之间的接口
计算机系统资源的管理者
实现了对计算机资源的抽象
操作系统概念
操作系统是控制和管理计算机系统内各种硬件和软件资源, 有效组织多道程序运行的系统软件或程序集合,是用户与计算机之间的接口
操作系统类型
单道批处理系统
多道批处理
优点
系统资源利用率高
吞吐量大
缺点
平均周转时间长
无交互能力
特点
宏观上并行
某一时间段内 同时有多到程序在内存运行 各道程序不同程度向前推进
微观上串行
任一时刻 最多只有一道作业占用CPU 多道程序交替使用CPU
分时系统
特征
多路性
宏观同时
微观轮流
独立性
及时性
交互性
特性
实时系统
微机操作系统
实时分时两者比较
可靠性
实时系统强
交互性
分时系统强
目前五大类型
批处理操作系统
分时操作系统
实时操作系统
网络操作系统
分布式操作系统
操作系统基本特性
并发
共享
虚拟
异步性
操作系统主要功能
处理机管理
进程控制
进程同步
进程通信
调度
存储器管理
内存分配
内存保护
地址映射
内存扩充
设备管理
缓冲管理
设备分配
设备处理
文件管理
文件存储空间管理
目录管理
文件读/写管理和保护
用户接口管理
用户接口
命令方式
系统调用
为用户编程所提供的接口
图形用户界面
程序接口
进程管理
OS结构设计
传统操作系统结构
无结构操作系统
模块化结构OS
客户/服务器模式
面向对象的程序设计
微内核OS结构
概念
足够小的内核
基于客户/服务器模式
应用‘机制与策略分离’原理
采用面向对象的技术
功能
进程管理
低级存储器管理
中断和陷入处理
优点
提高了系统的可扩展性
增强了系统的可靠性
可移植性强
提供了对分布式系统的支持
融入了面向对象的技术
2.进程的描述和控制
进程描述
进程组成
程序
相关数据段
可以为其他进程共享
PCB(进程控制块)
进程存在的唯一标识
进程定义
动态性
并发性
独立性
异步性
进程分类
系统进程
用户进程
进程描述
进程是程序的一次执行
系统进行资源分配,独立运行和调度的一个独立单位
具有独立功能的程序在一个数据集合上运行的过程
进程是一个程序及其数据在处理机上顺序执行时发生的活动
进程引入
目的
使多个程序能够并发执行,提高资源的利用率和系统吞吐量
进程的基本状态及转换
三种基本状态
就绪
处理器空闲时,调度进程为其分配CPU
执行
阻塞
三种基本状态的转换
就绪
作业进入内存后的状态
子主题
执行
调度为其分配处理器 (进程调度)
阻塞
挂起操作和进程状态的转化
进程管理中的数据结构
进程管理的数据结构
进程控制块(PCB)作用
描述进程状态和特性
一个进程只能有唯一的进程控制块
进程控制
操作系统内核
支撑功能
中断处理
概念
CPU对系统发生某个事件作出一种反应: CPU暂停正在执行的程序,保留现场后自动去执行相应的处理程序, 处理完后再返回断电继续执行被打断的程序.
阶段
保存现场
分析原因
处理中断
返回断点
时钟管理
原语操作
资源管理功能
进程管理
存储器管理
设备管理
进程的创建
进程的终止
进程的阻塞与唤醒
进程的挂起与激活
进程同步
基本概念
两种形式的制约关系
间接相互制约
直接相互制约
临界资源
生产者消费者
临界区
互斥同步机制遵循的规则
空闲让进
忙则等待
有限等待
让权等待
硬件同步机制
信号量机制
整型信号量
两个标准原子操作
PV操作
表示
wait(S) P
signal(S) V
P,V优缺点
优点
简单,表达能力强
可解决任何同步互斥问题
缺点
不够安全
使用不当出现死锁
遇到复杂同步互斥问题实现复杂
执行时不可中断
一个进程在修改信号量 没有其他进程可对该信号量修改
仅能通过两个标准原子操作访问
记录型信号量
AND型信号量
信号量集
信号量的应用
利用信号量实现进程互斥
设置互斥信号量mutex初值为1范围(-1,0,1)
1
两个进程都未进人需要互斥的临界区
0
一个进程进入临界区运行, 另一个等待,挂入阻塞队列
-1
一个进程正在临界区运行, 另一个因等待二阻塞在信号量队列中, 需要当前在临界区运行的进程退出时唤醒
wait(mutex)和signal(mutex)必须成对出现 否则不能保证访问和释放
利用信号量实现前驱关系
两个进程
P1:语句S1
P2: 语句S2
S1执行后执行S2
P1,P2共享一个信号量S,初值为0
初始化为0,P2先执行必定阻塞
进程S1;signal(S)完成后,S为1,P2方能执行S2
signal(S)放在S1后
S2前插入wait(S)
S1; sighal(S) wait(S); S2
m个进程对一临界资源的互斥访问
信号量的变化范围1至-(m-1)
重难点
管理机制
经典进程同步问题
生产者消费者问题
进程通信
进程通信方式
共享存储器
管道
消息传递
邮箱机制
线程
线程的引入
目的
减少程序在并发时所付出的时空开销,使操作系统有更好的并发性
线程概念
进程内的一个执行实体或执行单元
线程与进程的比较
调度的基本单位
传统的OS中
进程
引入线程的OS中
线程为调度和分派的基本单位
并发性
引入线程的OS中
不同进程之间可以并发执行
一个进程中多个线程并发自行
一个进程中所用线程并发执行
拥有资源
进程
引入线程的操作系统,进程是资源分配和调度的基本单位
线程
处理机调度和分配的单位
资源是分配给进程的,线程拥有很少资源,切换代价比进程低
地址空间
进程
不同进程地址空间独立
线程
同一进程内的线程共享同一地址空间
一个进程的线程在另一个进程内是不可见的
独立性
进程
高
防止进程之间彼此干扰和破坏
线程
低
系统开销
进程
大
线程
小
支持多处理机系统
线程的实现
实现方式
内核支持线程
用户级线程
两种组合
3.处理机调度与死锁
处理机调度层次和调度算法的目标
调度层次
高级调度
低级调度
中级调度
负责将内存中暂时不具备运行条件的进程换到外存交换区存放 内存空闲时,将外存中具备运行条件的进程换入内存
调度目标
作业和作业调度
作业
作业进入系统到运行结束周期
后备
执行
完成
概念
用户要求计算机系统所做的工作的集合
作业调度作用
把外存中处于后备队列中的队列调入内存, 为他们创建进程,分配资源,然后将创建的进程插入就绪队列
批处理系统中的作业
作业调度的主要任务
先来先服务和短作业优先调度算法
进程调度
任务,机制,方式
进程调度任务
将处理机分配给就绪进程队列的哪个进程
轮转调度算法
优先级调度算法
多队列调度算法
多级反馈队列调度算法
实时调度
基本条件
进程调度算法分类
非抢占式调度算法
抢占式调度算法
引起系统开销更大
严格保证任何时刻,让具有最高优先数的进程占有处理机运行 增加了处理机调度时机,引起退出处理机的进程保留现场,为 占有处理机的进程恢复现场等时间开销增大
死锁
死锁原因
系统提供的资源有限
进程推进次序非法
概念
在多道程序系统中,当一组进程中的每一个进程都无限期等待 被改组进程中的另一进程所占有且永远不会释放的资源,此时系统 处于死锁状态。
产生死锁必要条件
互斥条件
不可剥夺条件
循环等待条件
请求和保持条件
资源问题
计算机系统中的死锁
定义,必要条件,处理方法
预防死锁
系统安全状态
避免死锁
银行家算法
算法分析
资源All(A,B,C)
Available (All-(for each Allocation (A,B,C))
Max(A,B,C)
Allocation(A,B,C)
Need(A,B,C)
初始情况
安全性
请求若P1:Request(D,E,F)
work=available-request(开始)
Need(P1那一列(A-D,B-E,C-F)
Allocation(P1那一列(A+D,B+E,C+F)
新work=work+Allocation
finish(trueOrfalse)
定义
不安全状态可能会发生死锁
死锁的检测与解除
4.存储器管理
存储器层次结构
程序的装入和链接
连续分配存储器管理
单一连续分配
固定分区分配
动态区分配
可重定位分区分配
目的
解决碎片问题
基于顺序搜索的动态分区分配算法
首次适应算法
地址从小到大,找到大小能满足
优先使用低地址部分的算法
循环首次适应算法
从上一次开始找出大小相等的
内存空间中空闲区分布较均匀的算法
最佳适应算法
空闲区容量从小到大
最坏适应算法
空闲区容量从大到小
对换
分页存储器管理
分页存储的基本方法
分页优缺点
优点
解决了外部碎片等问题,便于管理
缺点
内部碎片,不易于实现共享,不便于动态链接
地址变换机构
访问内存的有效时间
两级和多级页表
发置页表
分段存储器管理
分段存储系统管理方式的引入
分段优缺点
优点
便于动态申请内存
管理和使用统一化
便于共享
便于动态链接
缺点
产生外部碎片
基本原理
分页与分段的主要区别
相同
都采用离散分配方式
都是通过地址映射机构实现地址变换
不同
分页
1.信息的物理单位 (按内存线性空间物理划分)
2.页长由系统决定,各页长度必须相等
3.地址空间是一维的
用户程序地址为单一的线性地址空间
4.对用户而言是透明的
分段
1.信息的逻辑单位 (根据逻辑结构划分)
2.各段长度不固定,决定于用户所编写的程序 唯一限制是最大长度
3.用户程序地址是二维的
段名
段内地址
4.面向用户
5.段的共享比页的共享更容易
5.虚拟存储器
概述
常规存储器管理方式
特征
一次性
驻留性
局部原理
虚拟存储器
定义
功能
请求调入功能
置换功能
从逻辑上对内存容量加以扩充的一种存储器系统
虚拟存储器主要特征
多次性
对换性
虚拟性
虚拟存储器的实现方法
分页求情系统
分段请求系统
请求分页存储器管理
硬件支持
内存分配
内存管理
分区管理
页式管理
段式管理
段页管理
页面调入策略
页面置换算法
页面置换算法
最佳置换算法OPT
将最晚才被访问的淘汰掉
先进先出FIFO
总算淘汰最先进入内存的
最近最久未使用LRU
记录上次被访问经历的时间t 淘汰t最大的
程序:访问了就放到队列尾部, 每次从队列头部开始淘汰
Clock置换算法
页面缓冲算法
UNIX中使用
缺页率
页面置换次数/总页数
请求分段存储器管理
硬件支持
分段的共享与保护
6. 输入输出系统
I/O
I/O系统的基本功能
隐藏物理设备细节
与设备的无关性
提高处理机和I/O设备的利用率
对I/O设备进行控制
保持对设备的正确共享
错误处理
I/O的层次结构和模型
I/O系统接口
I/O设备和设备控制器
I/O设备
I/O设备的类型
从资源分配的角度
独占设备
共享设备
虚拟设备
设备与控制器之间的接口
设备控制器
基本功能
接收和识别命令
数据交换
主存储器与外围设备 之间数据传送控制方式 (I/O控制方式)
程序直接控制
中断驱动方式
DMA方式
通道控制方式
通道:独立于CPU与I/O之间处理机, 控制设备与内存之间的交换
标识和报告设备的状态
地址识别
数据缓冲区
差错控制
组成
设备控制器与处理机的接口
设备控制器与设备的接口
I/O逻辑
内存映像I/O
I/O通道
中断机构和中断处理程序
中断简介
中断处理程序
设备驱动程序
概述
处理过程
对I/O设备的控制方式
使用轮询的可编程I/O方式
使用中断的可编程I/O方式
直接存储器访问方式
I/O通道控制方式
与设备无关的I/O软件
基本概念
与设备无关的软件
设备分配
设备分配中的数据结构
设备控制表DCT
控制器控制表COCT
通道控制表CHCT
系统设备表SDT
逻辑·设备表LUT
实现逻辑设备到物理设备的映射
设备分配应考虑的因素
独占设备的分配程序
基本设备的分配程序
分配设备
分配控制器
分配通道
设备分配程序的改进
用户层I/O软件
SPOLLING(假脱机)系统
磁盘分辟区域
输入井
存放作业信息
输出井
存放作业执行结果
虚拟设备使用
将某个独享设备改为多个用户使用的共享设备
缓冲区管理
常用缓冲技术
单缓冲
双缓冲
循环缓冲
缓冲池
操作
提取输入
提取输出
收容输入
收容输出
包括的队列
空白缓冲队列
装满输入数据的缓冲队列
装满输出数据的缓冲队列
磁盘存储器的性能调度
磁盘性能简述
数据的组织和格式
磁盘的类型
磁盘访问的时间
早期的磁盘调度算法
先来先服务(FCFS)
最短寻道时间优先(SSTF)
基于扫描的磁盘调度算法
扫描算法(SCAN)
循环扫描算法(CSCAN)
7.文件管理
文件和文件系统
数据项,记录和文件
数据项
记录
文件
文件名和类型
文件类型
按用途分类
系统文件
用户文件
库文件
为文件分配外存
连续分配
连接分配
索引分配
文件系统的层次结构
文件操作
文件结构
文件的逻辑结构
类型
流式文件
记录式文件
组织方式分类
顺序文件
索引文件
记录寻址
文件物理结构
顺序文件
链接文件
索引文件
索引顺序文件
文件目录
文件控制块的索引点
简单的文件目录
树形结构目录
目录查询技术
文件共享
有向无循环图实现文件共享
符号链接实现文件共享
文件保护
保护域
访问矩阵
访问矩阵的修改
访问矩阵的实现
8.磁盘存储器管理
外存的组织方式
连续组织方式
链接组织方式
隐式链接
概念
文件目录表有第一个,最后一个块号
每个盘块中有下一个块号
特点
只适合于顺序访问,对随机访问效率低,可能出错
显示链接
概念
用于连接各个物理块的指针, 显示存放在一张表中,该表系统启动后存储在内存中
特点
利用FAT可方便进行随机存取,FAT要占据一定的存储空间 若盘的容量较大时要占用较大的存储空间,甚至可能在内存中装不下FAT
FAT技术
NTFS文件组织方式
索引组织方式
单级索引组织方式
多级索引组织方式
增量是索引组织方式
直接地址
一次间接地址
多次间接地址
混合索引分配
概念
多种索引分配方式结合
方式
UNIX中每一个文件都有一个索引节点 其中13个指针用于物理空间分配
前十个直接访问磁盘快
剩下三个指向间接块
一级间接块
二级间接块
三级间接块
文件存储空间管理
空闲表法
空闲链接法
位示图法
成组链接法
空闲盘块号栈
存放当前可用的一组空闲盘块的盘块号
栈中尚有的盘块数N,N兼做指针
分组
文件区中所有空闲盘块被分成若干组
100个盘块作为一组
成链
由各组的第一个盘块链成一条链
每一组的盘块号和盘块数记入前一组的第一个盘块中
分配
检查空闲盘块号栈是否上锁,未上锁,若空闲盘块A不是栈底 将盘块直接分配给用户,盘块数-1;若已经是栈底,将盘块A中 保存的下一组盘块号读入盘块号栈中,并把盘块A分配出去。
回收
盘块号栈未满,直接收回盘块,盘块数+1,;盘块数达到100时 将空闲盘块号栈中的内容放入新的回收块中,再将新回收的盘块 的盘块号作为指向下一组盘块的指针
提高I/O速度
磁盘高速缓存
提高磁盘I/O速度的其他方法
提高磁盘的可靠性
低一级容错技术SFT-1
低二级容错技术SFT-2
基于集群技术的容错功能
后背系统
数据一致性的控制
事务
检查点
并发控制
重复数据的数据一致性问题