OS 概论
- 定义
- 定义
- 由一系列程序模块组成的一个大程序。
- 对软硬件资源进行统一的管理和调度。
- 组织计算机工作流程,提高资源利用率。
- 设计目标
- 方便:方便用户使用。
- 有效:提高性能和利用率。
- 方便设计、实现、维护。
- 定义
- 功能
- 处理器管理:主要是进程管理,分配 CPU 资源。
- 储存器管理:管理主存/内存,设计分配、保护、扩充。
- 设备管理:对 IO 设备进行管理控制,分配设备,控制设备传输数据。
- 文件管理:将数据组织为文件,提供逻辑视图,管理文件在外部储存设备的储存。
- 特性
- 并发性
- 共享性
- 虚拟性
- 异步性
- 分类
- 工作方式
- 顺序处理
- 手工操作,无 OS。
- 简单批处理系统
- 有一个监控程序在内存中运行。
- 单道批处理:监控程序自动控制输入设备一次装入一道作业,内存中只有一个作业。
- 联机批处理:作业输入输出完全由 CPU 直接控制。
- 脱机批处理:用卫星机专门处理输入输出。
- 多道批处理系统
- 多道批处理:内存中可以有多个作业同时运行,作业共享资源。
- 使用的新技术
- 通道:专门处理 IO 的机器,连接内存和外设,使 CPU 和外设可以并行操作。
- 中断:IO 设备使用中断通知 CPU,实现异步回调。
- 缓冲:设置缓冲区,缓解 CPU 与 IO 设备的速度不匹配问题。
- 性能指标
- 资源利用率:单位时间内,某资源的实际使用时间在总时间的占比。
- 吞吐量:单位时间内,系统处理的作业量。
- 周转时间:单个作业从进入系统到完成的时间。
- 特点
- 吞吐量大,资源利用率高,适合计算量大、自动化程度高的作业。
- 用户无法与作业交互,作业平均周转时间长。
- 分时系统
- 工作方式:用户交互式提交命令,系统使用时间片轮转方式处理。
- 分时:划分 CPU 的单位时间为多个时间片,每个时间片处理一个用户的命令。
- 特点
- 同时性:多用户可以同时使用一个计算机。
- 独立性:每个用户占有一个终端,独立操作,感受不到其他用户。
- 交互性:使用终端,可以交互式运行命令。
- 及时性:命令请求可以较快响应。
- 实时系统
- 工作方式:对外部事件做出及时的响应和处理。
- 特点
- 实时性:响应时间限制在控制对象能承受的延迟内。
- 可靠性:可以有后备系统。
- 确定性:按照固定、确定的时间执行操作。
- 嵌入式系统
- 以实际应用为中心,裁剪功能的专用系统。
- 软件固化储存。
- 一般是多任务的实时操作系统,只有满足实际需要的有限功能。
- 顺序处理
- 并发模式
- 单用户单任务:如 MS-DOS
- 单用户多任务:如 Windows
- 多用户多任务:如 *nix
- 多处理器模式
- 非对称多处理器(ASMP):所有处理器分为两部分,主处理器运行 OS,其他运行用户作业。
- 对称多处理器(SMP):处理器没有区分,可以运行 OS 或用户作业。
- 工作方式
- 接口
- 操作接口
- CLI
- GUI
- 编程接口
- 系统调用
- 操作接口
- 运行环境
- 用户态/内核态
- 用户态只能执行有限的指令,访问指定的寄存器和储存区域。
- 内核态运行执行所有指令,访问所有资源。
- 用户态转换到内核态由硬件完成,内核态转换到用户态由内核程序执行后完成。
- 用户进程在用户态和内核态都有对应的栈,用户态调用内核态时,内核态代码使用内核态栈。
- 中断
- 异步事件,打断当前线程执行,处理器切换到指定代码执行。
- 中断有优先级,高级中断屏蔽低级中断。
- 异常
- 同步事件,程序指令执行时产生的事件,触发后执行处理代码。
- 无法屏蔽,出现后要立即处理。
- 用户态/内核态
- 设计规范
- 系统效率
- 可靠性
- 可移植性
- 可伸缩性
- 兼容性
- 安全性