# 操作系统的概念与作用
# 操作系统的概念
操作系统(Operation System),简称 OS,是管理计算机硬件与软件资源的计算机程序
# 计算机系统构成
- 用户
- 应用程序
- 操作系统(OS)
- 硬件(裸机)
# OS 是一种系统软件
- 与硬件交互
- 对资源共享进行调度管理
- 解决并发操作处理中存在的协调问题
- 数据结构复杂,外部接口多样化,便于用户反复使用
# OS 的作用
- 管理与配置内存
- 决定系统资源供需的优先次序
- 控制输入设备与输出设备
- 操作网络与管理文件系统等基本事物
- 提供一个让用户与系统交互的操作界面
# 操作系统的目标
# 有效性(管理系统资源)
- 提高系统资源利用率
- 提高系统的吞吐量
# 方便性(方便用户使用)
# 可扩充性(作为扩充机器)
# 开放性(作为扩充机器)
# 操作系统的功能
# OS 的功能
- 作为计算机系统资源的管理者
- 作为用户与计算机硬件系统之间的接口
- 实现了对计算机资源的抽象
# OS 作为计算机系统资源的管理者
# 处理机管理
- 进程控制
- 进程同步
- 进程通信
- 调度
# 存储器管理
- 内存分配
- 内存保护
- 地址映射
- 内存扩充
# I/O 设备管理
- 缓冲管理
- 设备分配
- 设备处理
# 文件管理
- 文件存储空间的管理
- 目录管理
- 文件的读 / 写管理和保护
# OS 作为用户与计算机系统硬件系统之间的接口
- 程序接口
- 命令接口
- GUI(Graphical User Interface)图形化接口
# OS 实现了对计算机系统资源的抽象
- 将具体的计算机硬件资源抽象成软件资源
- 开放了简单你的访问方式,隐藏了实现细节
# 操作系统的特征
# 并发
# OS 的并发性(Concurrence)
- 宏观上,处理机同时执行多道程序
- 微观上,处理机在多道程序间高速切换(分时交替执行)
- 关注单个处理机同一时间段内处理任务数量的能力
# 并发与并行
- 并发:同一时间间隔(时间段)发生的事件数量
- 并行:同一时刻(时间点)发生的事件数量
# 共享
# OS 的共享性(Sharing)
共享即资源共享,系统中的资源提供多个并发执行的应用程序共同使用
- 同时访问方式:同一时段允许多个程序同时访问共享资源
- 互斥共享方式:也叫独占式,允许多个程序在一个共享资源上进行独立而互不干扰的工作
# 并发和共享互为存在条件
- 共享性要求 OS 中同时运行着多道程序
- 并发性难以避免的导致多道程序同时访问一个资源
# 虚拟
# OS 的虚拟技术
使用某种技术把一个物理实体变成多个逻辑上的对应物
- 时分复用技术(TDM,Time Division Multiplexing)
- 虚拟处理技术:四核八线程
- 虚拟设备技术:虚拟打印机
- 空分复用技术(SDM,Space Division Multiplexing)
- 虚拟磁盘技术:将一块硬盘虚拟出若干个卷
- 虚拟存储器技术
# 异步
# OS 的异步性(Asynchronism)
多道程序环境下,允许多个程序并发执行
单处理机环境下,多个程序分时交替执行
- 程序执行的不可预知性
- 获得运行的时机
- 因何暂停
- 没到程序需要多少时间
- 不同程序的性能,比如计算多少,I/O 多少
- 宏观上一气呵成,微观上走走停停
# 操作系统的发展
# 手工操作阶段
- 人工操作方式
- 脱机输入 / 输出方式
# 批处理阶段
- 单道批处理系统
- 多道批处理系统
# 分时操作系统
# 实时操作系统
# 微机操作系统
# 操作系统的运行机制
# 基本概念
# 内核程序与应用程序
- 内核程序:操作系统的内核的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态
- 应用程序:为了保证系统能够安全的运行,普通应用程序之只能执行非特权指令,运行在用户态
# 核心态与用户态
- 用户态:应用程序只能在用户态下运行 —— 运行应用程序的时候称为用户态
- 核心态:内核程序只能在核心态下运行 —— 运行内核程序的时候称为核心态
# 特权指令与非特权指令
- 特权指令:cpu 在内核态时运行的指令,而处于核心态执行中的进程,能访问所有的内存空间和对象,且所占有的处理机时不允许被抢占的
- 非特权指令:cpu 在用户态时运行的指令,处于用户态执行时,进程能访问的内存空间和对象收到限制,其所占有的处理机可被抢占
# 时钟与中断
# 时钟管理
- 计时:提供系统的时间
- 时钟中断:比如进程切换
# 中断机制
- 提高多道程序环境下的利用率
- 外中断:中断信号来源于外部设备
- 内中断:中断信号来源于当前指令
- 陷入(Trap):由应用程序主动引发
- 故障(Fault):由错误条件引发
- 终止(abort):由致命错误引发
# 中断处理过程
- 关中断
- 保存断点
- 引出中断服务程序
- 保存现场和屏蔽字
- 开中断
- 执行中断服务程序
- 关中断
- 恢复现场和屏蔽字
- 开中断
# 原语
- 由若干条指令组成
- 用来完成某个特定功能
- 执行过程中不会被中断
# 系统数据结构
- 进程管理:作业控制块,进程控制块
- 存储器管理:存储器分配与回收
- 设备管理:缓冲区,设备控制块
# 系统调用
- 由操作系统实现,给应用程序调用
- 是一套接口的集合
- 应用程序访问内核服务的方式
# 操作系统的体系结构
# 传统的操作系统结构
# 无结构 OS
- 一系列过程(程序)的集合,过程间可以相互调用
- 结构复杂混乱,难以调试、阅读和维护
# 模块化结构 OS:模块 - 接口法 OS
- 基于分解和模块化的原则
- 按照功能划分模块 / 子模块,规定模块间的接口
- 模块独立性标准:高内聚、低耦合
# 分层式结构 OS
- 有序分层法:自顶向下依次依赖
- 设计时,自低向上:每一步建立在可靠基础上
- 优缺点
- 容易保证系统的正确性
- 容易扩充和维护
- 自上而下的层次通信,导致系统效率降低
# 微内核操作系统结构
# 微内核 OS 结构
- 基本概念:足够小的内核,只能实现 OS 核心功能
- 与硬件处理紧密相关的部分,比如硬件处理,客户与服务器通信和其他基本功能
- 一些较基本的功能
- 客户和服务器之间通信
- 应用机制与策略分离的原理
- 采用面向对象技术
- 优点
- 提高 OS 的可扩展性、可靠性、可移植性
- 支持分布式系统
- 融入了面向对象技术
- 缺点
- 相对早期的 OS,降低了一定的效率