操作系统
思维导图
概述
操作系统的概念
- 管理计算机软件和硬件资源
- 最基本的系统软件
特征
-
并发
- 区分并发并行
-
共享
- 互斥共享方式
- 同时访问方式
-
虚拟
-
逻辑上多个。虚拟处理器的分时,空分复用的虚拟存储器
- 采用多道程序设计
-
-
异步
-
由于资源有限,进程走走停停
- 可能会导致进程产生与时间有关的错误。访问顺序
-
目的和功能
-
1.管理计算机资源
-
功能
- 处理机管理、存储器管理、文件管理、设备管理
-
目标:安全、有效
-
-
2.作为用户与计算机硬件系统之家的接口
-
命令接口
用户操作作业执行
-
联机命令接口
- 用于分时或实时系统
-
脱机命令接口
- 用于批处理系统
-
-
程序接口(系统调用)间接使用
-
由系统调用组成,提供给用户(包括程序员)的接口
-
用户可以使用系统调用请求操作系统服务
- 例如GUI
-
-
-
3.用作扩充机器(虚拟机)
操作系统的分类和发展
-
1.手工操作阶段
-
2.批处理阶段
-
单批处理系统、
-
多批处理系统(操作系统开始出现)
-
宏观上并行,微观上串行
- 无人机交互,无需人工干预
-
多道批处理又分为抢占和非抢占,注意计算题中的计算,通过画图即可做出
-
-
批处理系统的缺点是缺乏交互性
-
-
3.分时操作系统
- 时间片轮转的方式
- 支持多道程序设计,(解决了人机交互),但不能解决突发事件
-
4.实时操作系统
-
分类
-
硬实时系统
-
必须
- 飞机飞行系统
-
-
软实时系统
-
偶尔违反
- 订票,银行管理
-
-
-
可以优先反应一些紧急的任务
- 及时性,可靠性
-
抢占式优先级调度
-
-
5.网络操纵系统
-
6、分布式操作系统
- 7、嵌入式操作系统
-
运行机制
-
两种程序
- 内核程序
- 用户程序
-
两种命令
-
特权命令
- 不允许用户直接使用的指令
-
非特权命令
- 访管指令
-
-
两种处理器状态
- 核心态(管态,内核态)
- 用户态(目态)
-
中断
-
内中断(异常,陷入,例外)
- CPU执行指令内部时发生错误比如非法操作,地址越界,算术溢出,缺页等等,一旦出现不能屏蔽,应该立即处理
-
外中断(中断)
- 又叫强迫中断,比如IO外设请求,或者人的干预,这一类通常是与当前运行的程序无关的事件
-
-
系统调用(广义指令)
-
是操作系统为应用程序使用内核功能所提供的接口,只能通过用户程序间接使用
-
用户在程序中调用操作系统提供的子功能
- 设备文件的管理
- 进程的控制与通信
- 内存管理
-
-
体系结构
- 大内核
- 微内核
-
总结
- 用户态核心态首先区分题目问的是执行还是发生
进程管理(低级调度)
进程
-
组成
- 程序段
- 数据段
- PCB
-
状态及转换
- 运行态,就绪态,阻塞态,创建态,结束态,主要掌握前几个相互转换的条件
-
进程控制
-
进程创建
- 用户登录
- 作业调度
- 提供服务
- 应用请求
-
进程终止
- 正常结束
- 异常结束:越界错误,非法指令,等待超时等等
- 外界干预
-
阻塞及唤醒
- 请求共享资源失败
- 等待操作完成:比如IO操作
- 等待新任务到达
- 新数据未到达
-
进程切换
- 掌握转换的原语
-
-
通信
-
共享存储
-
消息传递
-
管道通信
- 理解成一个特殊的文件系统,支持半双工通信,一次只能一方进行数据读写
-
线程
-
线程是最基本的调度单位,但是最基本拥有资源的基本单位还是进程
- 处理机的管理是对进程的管理
-
进程可以创建多个进程,线程可以创建多个线程,进程可以创建多个线程
-
分类
- 用户级线程
- 内核级线程
-
多线程模型
处理机调度
-
不能进行调度和切换
- 处理中断
- 内核程序临界区
- 完全屏蔽中断的原子的操作过程中
-
三种调度
- 作业
- 内存
- 进程
-
调度算法
-
P74页
-
-
几个时间概念
-
等待时间
-
执行时间
-
平均周转时间
- n个作业的周转时间相加最后除以n,(会算)
-
带权周转时间是作业周转时间除以执行时间
-
进程同步
-
临界资源:注意可重用的程序代码属于临界资源
-
同步与互斥
-
实现临界区互斥的基本方法
-
软件实现
- 单标志法
- 双标志先检查法
- 双标志后检查法
- 皮特森
-
硬件实现
-
-
信号量机制
-
管程
-
读者写者,消费者生产者,哲学家进餐
死锁
-
产生的必要条件
-
处理策略
-
死锁预防
-
死锁避免
- 银行家算法
-
死锁检测及删除
-
资源分配图
- 简化边
-
-
内存管理(中级调度)
程序执行
- 编译
- 链接(逻辑地址形成阶段)
- 装入
- 内存保护通过界地址保护,通过界地址寄存器实现
内存早期扩充技术
- 覆盖
- 交换:对交换的管理以提高换入换出速度为目标
内存连续分配
非连续分配
-
分页存储管理
- 区分页表大小,页表项大小,页号和页框号,地址如何划分?
- 为什么要有二级及多级页表?
- 什么是快表(TLB)?
-
分段
- 基本工作原理和分页一样
- 每段长度不一定相同,页表的每一个页大小必相同
- 分段是基于逻辑结构,理解段与段内逻辑地址是连续的,但物理地址不是连续的
- 因为是基于逻辑结构所以有利于动态链接(即生成逻辑地址)
-
段页式存储管理
- 结合两种的优缺点,先根据段号以及段表寄存器找到段号对应的页表的起始地址,再根据地址位中的页号加上始址得到页表对应的地址,然后找到对应的物理块号
虚拟内存
-
特点
-
实现
-
页面置换算法
-
最佳置换算法
-
先进先出页面置换算法
-
最近最久未使用置换算法
-
时钟Clock置换算法
- 简单CLOCK
- 改进的CLOCK
-
-
页面分配策略
- 固定分配局部置换
- 可变分配全局置换
- 可变分配局部置换
-
地址变换机构
抖动
文件管理
逻辑结构
-
无结构文件(流式文件)
-
有结构文件(记录式文件)
- 顺序文件
- 索引文件
- 索引顺序文件
目录结构
- 文件控制块
- 目录的几种结构
- 索引节点
实现
-
连续分配
- 支持顺序访问和随机访问
- 不方便扩展
-
链接分配
- ,只能顺序访问,不支持随机访问
- 易扩展
-
索引分配
- 支持随机访问和顺序访问
- 易扩展
- 混合索引
存储空间管理
-
位示图
- 子主题 1
-
成组链表法
磁盘调度算法
-
先来先服务
-
最短寻找时间优先
- 先找离自己最近的
-
扫描算法,电梯算法
-
一个方向一直到头,才变更方向
- 注意第一次到头,第二次不到
-
默认scan为lock算法
- 区别是不到头
-
-
循环扫描scan
-
一个方向,先到尾,然后从头开始
-
默认cscan为clock 算法,
- 区别是不从头开始,而是第一个点开始
-
磁盘格式化
- 逻辑格式化
- 低级格式化
输入输出(I/O)
分类
- 按信息交换分类
组成
- CPU与控制器的接口
- IO逻辑
- 控制器和设备之间的接口
IO控制方式
- 程序查询
- 程序查询
- 通道方式
- DMA方式
层次结构
- 用户层软件
- 设备独立性软件
- 设备驱动程序
- 中断处理程序
- 硬件