绪论
概念
裸机:没有任何软件支持的计算机系统。
虚拟机:通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
操作系统:一个管理和控制计算机系统中的硬件与软件资源,
合理地组织计算机工作流程的系统软件,为用户提供一个功能强大、使用方便、可扩展、安全的工作环境,是用户和计算机之间的一个接口
操作系统历史
手工操作阶段:输入输出纸带或卡片,CPU利用率低
单道批处理阶段:供一次加载的磁带或磁盘,通常由若干作业来组成,外设设备忙闲取决于工作特性
联机批处理:纸带提交,磁带输出,CPU等待
脱机批处理:卫星机负责暂存磁带,与主机并行
通道:一种专用于控制I/O设备和内存之间数据传输的处理部件。通道内有专用指令i/o指令与CPU实现并行工作
多道批处理:多道(内存同时存放多个作业)并发,
优点:CPU与内存利用率高,单位时间内工作量大
缺点:但交互性差(整个系统出错时才中断)
分时系统:多个用户共享同一台计算机,多个程序共享资源,时间片超短分配,使每个用户因为都在占用主机
实时系统:响应时间短,资源利用率低
通用操作系统:提高处理能力
常见模式:分时/实时(前台)+批处理(后台)
并发:宏观上并行(都在运行,都没运行完),微观上串行
两个或多个事件同一时间间隔内发生,并行:同一时刻
同步:异步环境下,一组并发进程相互合作,相互等待的执行过程
操作系统类型
- •多道批处理操作系统(batch processing system)
- •分时操作系统(time-sharing system)
- •实时操作系统(real time system)
- •通用操作系统(multi-purpose system)
- •单用户操作系统(single user system)
- •网络操作系统(network operating system) :目标相互通讯,资源共享,提供网络服务
- •分布式操作系统(distributed operating system):紧耦合(内存+多个CPU)、松散(1内存+1CPU)
- •多处理机操作系统(multi-processor system)
作业组成:
- 作业由程序、数据和作业说明书
- 生成作业控制块JCB
操作系统特性
并发性
共享性:多个程序共用系统中的各种软硬件资源,在操作系统的协调和控制下。
虚拟性 :物理上一台设备变成逻辑上多台设备。
不确定性
程序顺序执行的特征
- ﹡顺序性
- ﹡封闭性
- ﹡可再现性
输入输出方式:
联机输入输出方式:一条完成,在输入另一条
脱机输入输出方式:缓存储器(优盘)+I/O+主机;人工无法干预
直接耦合方式:主机+公用存储器+I/O,可人工干预
Spooling系统:DMA或通道+缓冲区输入井、实现虚拟存储
网络联机系统:以上方法联合
进程管理
程序:用来描述计算机所要完成的独立功能,并在时间上严格地按前后次序相继地进行计算机操作序列集合,是一个静态的概念。
进程:并发执行的程序在执行过程中分配和管理资源的基本单位。
特点:动态、并发
进程控制块PCB:标志进程存在的数据结构,其中保存系统管理进程所需的全部信息。
内容描述信息、控制信息、资源管理信息、CPU保护现场结构
进程上下文进程的物理实体与支持进程运行的物理环境统称为进程上下文。
系统开销:运行操作系统程序完成系统管理工作所花费的时间和空间。
初始
就绪Þ运行:因优先级、时间片获得处理机
运行Þ就绪:剥夺处理机
运行Þ等待:申请资源未得到,启动I/O
等待Þ就绪:得到资源,I/O中断
终止
死锁
多个进程因竞争资源而造成的僵局,若无外力,进程不能在推进
死锁必要条件:资源独占、不可抢占、保持申请、环路等待
**处理方法:**发生:死锁预防–静态策略(破坏四个条件中某一个,例资源共享)、死锁避免 --动态策略(分配时,动态预测)
不发生:死锁检验与恢复
死锁恢复:重新启动、终止线程、剥夺资源+进程回退
有环路一定死锁(当每类资源实例个数唯一时)
PV语句
P申请,V释放资源,当值>0的时候执行,否则等待另一个语句执行
银行家算法
work运行中资源
max使用最大资源限制=need尚需要资源+allocation已分配资源
request请求数量
available可使用资源
线程
(高级)作业调度
- 记录系统中各作业的状况。
- 从后备队列中挑选出一部分作业投入执行。
- 为被选中作业做好执行前的准备工作。
- 执行后的善后,回收资源
(中级)交换调度
态势转换
(低级)进程调度
含义
- 记录系统中所有进程的执行情况
- 选择占有处理机的进程
- 进行进程上下文切换
时机
- 1)运行的进程执行结束或因某种事件不能再执行
- 2)运行的进程调用阻塞原语(主动等待)、P、V原语
- 4)运行的进程提出I/O请求(资源等待)
- 5)分时系统中时间片已经用完
- 7)就绪队列中的某个进程的优先级别高于当前执行进程的
处理机调度
调度算法
- FCFS先来先服务
- 轮转(分相同时间)
- 多级反馈轮转法(分不同时间)
- SJF优先级法(动态、静态优先数(优先数是否改变))
- 非剥夺式静态优先数,获得处理机的进程运行,直至终止
- 剥夺式动(静)态优先数获得处理机的进程运行,直至终止或更高优先级
- 短作业优先法
- HRN高响应比优先法(FCFS和SJF折中)
分时调度算法
- 时限调度算法(C/T之和<=1)以较短频率程序为主
- 频率单调调度算法(C/T之和<=n(2pow(1/n)-1))为每一个程序分相同时间段
计算
周转时间=等待时间+执行时间
周转时间=作业完成时间—作业进入时间
带权周转时间:作业的周转时间/CPU为其提供服务的服务时间
存储管理
存储管理的功能
- 虚拟存储
- 地址变换
- 内外存数据传输的控制
- 内存的分配与回收
- 内存信息的共享与保护
分区管理
静态
动态
动态分区分配与回收算法
- 最先适应法,最先使用前面地址
- 最佳适应法,最先使用小空间地址
- 最坏适应法,最先使用最大地址
优缺点
-
实现内存共享
硬件支持少
-
内存利用率不高
作业或进程的大小受分区控制
无法实现区间的信息共享
覆盖和交换技术
内存扩充方法
页式管理
基本原理
进程的虚拟空间被划分成若干个长度相等的页。
分页管理的重点在于页划分后的地址变换以及页面的调入调出技术。
静态
过程:页号——页面号——相对地址——绝对地址
页表:页号、页面号
请求表:进程号、请求页面数、页面起址、页表长度、状态(是否分配)
动态
加中断位
优缺点
-
不用连续存放,解决了碎片问题
--实现了内外存的统一管理
-
要求硬件支持
--增加系统开销
--请求调页的算法如不当选择,可能抖动
--最后一页有浪费。
段式与段页式
段式结构
段表(每个进程一个):端首址、段长度
空闲表(系统一个)
块表:段号、端首址、段长度
共享段表:
优缺点
- 和动态也是管理一样,具有虚拟实现
- 对相同功能信息端可以共享
- 硬件开销大
- 受内存可用区大小控制
段页式
段式优于页式:便于共享和保护
页式优于段式:消除“碎片”问题
段页式:每个进程包含若干段; 每个段包含若干页