操作系统
2019-06-06 14:54:44 0 举报
AI智能生成
计算机操作系统
作者其他创作
大纲/内容
操作系统概述
操作系统的基本特征
并发
同一时间间隔
并行是同一时刻
共享
互斥式共享
把互斥共享的资源叫做临界资源或独占资源
同时访问方式
只是在宏观上的同时,而在微观上也是交替访问资源的
虚拟
通过多种虚拟技术把一个计算机资源进行分割让人感觉有多个
时分复用技术
处理器的分时共享
空分复用技术
异步
允许程序能以不可知的速度走走停停而不是一次性执行完
操作系统的目标和功能
处理机管理
就是对进程以及线程的管理
进程控制
进程同步
进程通信
死锁处理
处理机调度
存储器管理
提高内存利用率
内存分配
地址映射
内存保护与共享
内存扩充
设备管理
完成I/O请求,提高设备的利用率
缓冲管理
设备分配
设备处理
虚拟设备
文件管理
管理文件
文件存储空间管理
目录管理
文件读写管理和保护
为用户提供接口
命令接口
联机控制方式
交互式命令接口
适用于分时或实时系统
就是一边输命令一边执行
脱机控制方式
批处理命令接口
适用于批处理系统
就是一开始把命令下达了让手下干活,中间不能干预
程序接口
由一组系统调用命令组成
就是现在的windows等图形用户界面GUI,调用的是系统调用命令
作为虚拟机
操作系统的发展与分类
手工操作阶段
用户独占全机,资源利用率低,CPU利用不充分
批处理阶段
单道批处理系统
自动性
顺序性
单道性
多道批处理系统
多道
宏观上并行
微观上串行
用户响应时间长,不提供人机交互能力,用户不了解程序运行情况,也不能控制计算机
分时操作系统
加强版多道批处理系统
同时性
交互性
独立性
及时性
分成好几个极小的时间片
实时操作系统
硬实时系统
软实时系统
网络操作系统和分布式操作系统
操作系统的运行环境
用户态(目态)
核心态(管态)
时钟管理
中断机制
原语
进程管理
进程与线程
进程的概念和特征
概念
程序段、相关数据段和PCB构成了进程实体
创建进程实际上就是 创建PCB,撤销进程实际上就是撤销PCB
进程映像是静态的,进程是动态的
特征
动态性
并发性
独立性
异步性
结构性
进程控制
是原语操作,不可中断
创建
终端用户登陆系统、作业调度、系统提供服务、用户程序的应用请求等
终止
正常结束、发生异常、外界干预
阻塞
等待资源
唤醒
资源到达
切换
时间片用完、主动放弃处理机、被更高优选级的进程剥夺处理机
进程的组织
进程控制块PCB
程序段
数据端
进程的通信
共享存储
存在一块可直接访问的共享空间,进行交换
消息传递
利用格式化的信息为单位
直接交换
间接和上面一样放在一个地方然后去取
管道通信
就是两个单向的缓冲区
管道是半双工的,只能单向传输
线程概念和多线程模型
线程
就是轻量级进程,是一个基本的CPU执行单元
不拥有资源,但是可以访问隶属的进程的资源
具有并发性
通信方面
进程间通讯(IPC)需要进程同步和互斥手段的辅助,而线程间可以直接读/写进程数据段来进行通讯
每个线程都拥有一个唯一的标识符和一个线程控制块
不同线程可以执行相同的程序
处理机调度
调度的概念
分三级调度
高级调度 频率低
把后面一堆要改的作业给它放到边上准备改,送入就绪状态
中级调度 频率中
有一些作业暂时不知道怎么改的给他先放到一边
低级调度 频率高
选一本作业改,送入运行状态
进程调度方式
非剥夺调度方式
适用于大多数的批处理系统,不适用分时系统和大多数实时系统
剥夺调度方式
调度的基本准则
CPU利用率
系统吞吐率
周转时间
等待时间
响应时间
典型的调度算法
先来先服务调度算法(FCFS)
不可剥夺算法
有利于CPU繁忙型,不利于I/O繁忙型作业
短作业优先(SJF)
优先级调度算法
非剥夺式优先级调度算法
剥夺式优先级调度算法
静态优先级
动态优先级
高相应比优先调度算法
时间片轮转调度算法
多级反馈队列调度算法
进程同步
引入原因:协调进程之间的相互制约关系
制约关系
同步:需要在某些位置上协调进程之间的工作次序而等待、传递信息所产生的制约关系
互斥:当一个进程进入临界区使用临界资源时,其他要求“进入临界区”或“进区”必须等待
临界资源:一次仅允许一个进程使用的资源
临界区互斥
原则:空闲让进、忙则等待、优先等待、让权等待
基本方法
软件实现
单标志法:违背“空闲让进”原则
双标志先检查:违背“忙则等待”原则
双标志法后检查:会导致“饥饿”现象
皮僧特算法:单表执法和双标志发后检查的结合
硬件实现
中断屏蔽法
进区关中断,出区开中断
硬件指令法
设立原子操作指令
信号量
利用PV操作实现互斥
管程
定义:由一组数据以及定义在这组数据之止的对这组数据的操作组成的软件模块
组成
局部对于管程的共享结构数据说明
对该数据结构进行操作的一组过程
对局部于管程的共享数据设置初始值 语句
死锁
产生原因
非剥夺资源的竞争和进程的不恰当推进顺序
定义
多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进
解决方案
预防死锁
破坏互斥条件
有些资源必须互斥使用,无法破坏互斥条件
破坏不剥夺条件
增加系统开销,降低吞吐量
破坏请求和保持条件
严重浪费系统资源,还可能导致饥饿现象
破坏循环等待条件
浪费系统资源,并造成编程不便
避免死锁
安全状态
能找到一个分配资源的序列能让所有进程都顺利完成
银行家算法:采用预分配策略检查分配完成时系统是否处在安全状态
检测死锁:利用死锁定理化简资源分配图以检测思索的存在
解除死锁
资源剥夺法
挂起某些死锁进程并抢夺它的资源,以便让其他进程继续推进
撤销进程法
强制撤销部分、甚至全部死锁进程并剥夺这些进程的资源
进程回退法:让进程回退到足以回避死锁的地步
内存管理
引入目的
更好的支持多道程序并发执行,提升系统性能
程序的装入
绝对装入:适合单道程序环境
静态重定位
适合装入之后不在移动的情况
动态重定位
适合装入时候还会移动的情况
程序的链接
静态链接
在程序运行之前链接
装入时动态链接
在装入内存时,采用边装入边链接的链接方式
运行时动态链接
在程序执行中需要该目标模块时,才对他进行的链接
地址空间
逻辑地址空间
一个源程序在编译或者链接装配后指令和数据所用的所有相对地址的空间
物理地址空间
内存中物理单元的集合
内存保护
文件管理
输入输出管理
0 条评论
下一页