导图社区 《操作系统教程》思维导图
计算机专业课《操作系统教程》思维导图笔记整理,介绍详细,知识全面,希望可以对大家有所帮助!
编辑于2020-10-02 15:25:59操作系统期末
第一章
操作系统
分类
批处理操作系统
分时操作系统
焦点是性能,研发时计算机硬件成本较高
实时操作系统
主要功能
处理器管理
存储管理
设备管理
文件管理
联网与通信管理
三个特性
并发性
共享性
异步性
Linux操作系统
单体式结构
命令解释程序Shell
P30
不是操作系统的组成部分,但却体现了许多操作系统的特性
在用户态下运行,解释并执行用户键入的命令
5个过程
读取
判断/execve()
fork()/wait()
execve()/调入
&/重复
访管指令、自陷指令
是:由于系统调用而引起处理器中断的指令
访管指令:非特权指令,目态下执行会将CPU转换到内核态
CPU利用效率的计算
第二章
内核态和用户态
内核态
操作系统管理程序运行时所处的状态
可认为处理器正在运行可信系统软件,拥有最高权限
用户态
处理器正在运行非可信应用程序的状态
无法执行特权指令,只能访问当前程序所在处理器的地址空间
状态转换
用户态->内核态
程序请求操作系统服务,执行系统调用
程序运行时产生中断事件
程序运行时发生异常事件
内核态->用户态
加载程序状态字的特权指令
中断
是一种打断后返回的过程
中断源分类
由硬件发出的中断:“硬中断”
外中断
中断或异步中断
来自处理器之外的中断,包括时钟中断,键盘中断,它机中断和外部设备中断等
分类
可屏蔽中断
不可屏蔽中断
内中断
异常或同步中断
来自处理器内部的中断信号,通常是由于在程序执行过程中,发现与当前指令关联的、不正常的或错误的指令
分类
访管中断,由执行系统调用而引起
硬件故障中断
程序性异常
中断和异常的区别
三个
进程
具有独立功能的程序在某个数据集合上的一次运行活动
操作系统进行资源分配和保护的基本单位
进程的状态
三个状态(基本)
运行态
就绪态 - 进程创建后处于的状态
等待态
状态转换
PCB - 进程控制块
包含信息
标识信息
现场信息
控制信息
处理器状态转换
当发生中断或系统调用时,暂停正在运行的进程,把处理器状态从用户态转换到内核态,执行操作系统服务例程
进程上下文切换和处理器状态转换图
线程
进程中能够并发执行的实体,是进程的组成部分
处理器调度和分派的基本单位
动机
减少程序并发执行时所付出的时空开销,使得并发粒度更细,并发性更好
优点
快速线程切换
通信易于实现
减少管理开销
并发程度提高
作业
和进程的关系
作业是任务实体,进程是完成任务的执行实体
没有作业任务,进程无事可做
没有进程,作业任务无法完成
调度算法
先来先服务(FCFS)
最短作业优先(SJF)
最短剩余时间优先(SRTF)
最高响应比优先(HRRF)
优先级调度算法
轮转调度算法(RR)
多级反馈队列调度算法(MLFQ)
第三章
和时间有关的错
由于一个进程的执行速度通产无法为另一个进程所知,对于共享公共变量的并发进程来说,计算结果往往取决于这一组并发进程执行的相对速度,速度是时间的函数,所以如果发生这种错误便称为与时间有关的错误
有两种
结果不唯一
永远等待
临界区
概念
并发进程中与共享变量有关的程序段称为临界区
三个原则
1. 一次至多只有一个进程进入临界区内执行
2. 如果已有进程在临界区中,试图进入此领街区的其他进程应该等待
3. 进入临界区的进程应在有限时间内退出,以便让等待队列中的一个进程进入
信号量与PV操作
解析题
P135
进程通信
有哪些
1. 信号通信机制 signal
2. 管道通信机制 pipeline
3. 消息传递通信机制 message passing
4. 信号量通信机制 semaphore
5. 共享内存通信机制 shared memory
死锁
如果一个进程集合中的每个进程都在等待只能由此集合中的其他进程才能引发的事件,而无限期陷入僵持的局面称为死锁
产生条件
1. 互斥条件
应互斥排他地使用临界区资源
2. 占有和等待条件
等待时不释放已占有资源
3. 不剥夺条件
已获资源只能由进程自愿释放,不允许被其他进程剥夺
死锁存在的必要条件而不是充分条件
4. 循环等待条件
存在环路等待链
条件不完全独立,是前三个条件同时存在的结果
防止
破坏任意一个产生死锁的条件
避免
银行家算法
P163-P170
安全序列的计算-判断一个资源申请是否能够满足
解除
1. 资源剥夺法
2. 进程回退法
3. 进程撤销法
4. 系统重启法
资源分配图
第四章
程序链接
静态链接
程序装载到内存和运行前,就已将它的所有目标模块及所需的库函数进行链接和装配成一个完整的可执行程序且此后不再拆分
动态链接
在程序装入内存前并未事先进行程序各目标模块的链接,而是在程序装载是一边装载一边链接,生成一个可执行程序
分页存储管理
页表
操作系统为进程创建的,是程序页面和内存页框的对照表,页表的每一栏指明程序中的一个页面和分得页框之间的对应关系
作用
引入页表原因
使用页表的目的是将页面映射为页框
物理地址=页框号x块长+页内位移
快表
提高运算速度,加快查找页框的速度
多级页表
二级页表
地址转换需要三次访问内存
1. 页目录
2. 页表页
3. 指令或数据
作用
虚拟分页存储
基本原理
将进程信息副本存放在外存,当它被调度运行是,程序和数据并没有完全装进内存,仅装入当前使用页面,进程执行过程中访问到不在内存中的页面时,再由系统自动调入
缺页中断率(页故障率)
影响因素
1. 内存页框数
进程分得块数多,中断率低
2. 页面大小
页面大,中断率低
3. 页面替换算法
算法优劣会影响
4. 程序特性
程序局部性对中断率影响大
页面替换算法
OPT 最佳页面替换算法
是一种最理想的算法
干嘛用
可用作衡量各种具体算法的标准
FIFO 先进先出页面替换
LRU 最近最少使用页面替换算法
Delady异常
页框数增加导致更多的缺页异常
个别现象
第五章
I/O控制方式
1. 轮询方式
查询指令
读写指令
转移指令
2. 中断方式
3. DMA
一个存取周期
4. 通道方式
大中型计算机系统使用
I/O子系统4个层次
用户进程
I/O系统调用,I/O格式化,SPOOLing
1.独立于设备的软件
命名,保护,阻塞,缓冲,分配,跟踪
2.设备驱动程序
设备寄存器置初值,启动I/O操作,检查状态
3.中断处理程序
处理I/O中断,报告错误,唤醒驱动程序
4.硬件
执行I/O操作
单缓冲与双缓冲技术?
磁盘移臂算法
先来先服务
进程等待I/O请求时间长,寻道性能差
最短查找时间优先
较好的寻道性能,但会产生饥饿现象
扫描算法
偏爱最接近里面会最靠近外面的请求
无论如何都会走到尽头再回头
电梯调度算法
是扫描算法的改进
比扫描算法好,但是可能同样会产生饥饿现象
提高磁盘I/O速度的方法
提前读
延迟写
虚拟盘
第六章
文件控制块 FCB
操作系统为每个文件建立的唯一数据结构,其中包含了全部文件属性
干嘛用
方便操作系统对文件的管理,控制和存取
文件目录
把FCB汇集组织在一起形成文件目录
包含很多目录项
两种目录项
描述子目录
描述文件
目录文件
全部由目录项构成的文件
存储在外存
永远不会空
基本功能
将文件名转换成此文件信息在磁盘上的物理位置
基本目录项
文件名
iNode号
INODE
FCB中的文件名和其他管理信息分开,其他信息单独组成一个数据结构,称为索引节点 iNode号
为何引入
能够减少检索文件所需访问的磁盘物理块数
大小更小,方便调入查找
可以加快目录检索速度,便于实现文件分享
被集中存放于磁盘上的iNode区(静态iNode)
内存索引节点表(存放动态iNode)
文件结构
逻辑结构
流式文件和记录式文件
成组和分解
记录格式
记录键
物理结构
1. 顺序文件
存取记录时速度快,在批处理文件,系统文件中用得很多
建立文件之前需要预先确定文件的长度,以便分配存储空间 插入、修改和添加文件记录有一定的难度 对于变长记录的处理很困难 对磁盘连续分配会造成空闲块浪费
2. 连接文件
可以将文件的逻辑记录顺序与它所在的存储空间的物理块顺序独立开来,存放信息的物理块不必连续 克服了顺序结构不适宜与增删改的缺点
连接字与数据信息混合存放会破坏数据的完整性 连接字使该结构仅适宜于顺序存取
3. 索引文件
清楚多级索引的结构,会计算-P311
无键/有键索引表
1.具备连接文件的优点 2.记录可以散列存储 3.具有直接读写任意记录的能录 4.便于信息的增删改 ------ 5.允许按物理顺序和逻辑顺序进行处理
空间开销和查找时间的开销大 大型文件的索引表信息量甚至大于本身信息量
4. 直接文件
又叫:散列文件/哈希文件
对于实时处理文件、目录文件、存储管理的页表查找、编译程序变量名表等的管理十分有效
不同的关键字可能变换出相同的地址,从而产生冲突问题
提高文件系统性能的技巧
盘块高速缓存
数据预先读入
信息优化分布
磁盘驱动调度
内存映射文件