OS:1-操作系统概观
1 操作系统概观
1.1 计算机系统概览
用户视图:
1.2 硬件系统
- CPU
- 运算单元
- 控制单元
- 主存储器
- 外围设备
- 输入输出设备
- 存储设备
- 网络通信设备
- 总线
1.3 软件系统
- 系统软件
- 支撑软件
- 应用软件
开发的不同层次:
- 硬件系统:机器语言
- 资源管理:机器语言+广义指令
- 文件系统:机器语言+系统调用
- 数据库管理系统:+数据库语言
- 语言处理程序:面向问题的语言
1.4 计算机操作技术的发展
-
手工操作阶段
- 用户独占资源,数据输入、程序执行、结果输出均联机进行,效率低
-
执行系统阶段
- 装入→汇编/编译→执行→输出
-
引入批处理,操作员成批输入作业,成批执行作业
-
计算速度大于IO速度,需要多道程序同时进行
- 需要高速外存储设备
-
磁盘出现,OS登场
1.5 计算机操作系统
操作系统
计算机系统最基础的系统软件,管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供良好运行环境
OS组成
- 进程调度子系统
- 进程通信子系统
- 内存管理子系统
- 设备管理子系统
- 文件管理子系统
- 网络通信子系统
- 作业控制子系统
OS类型
- 从控制方式
- 批处理操作系统
- 把批中作业预先输入作业队列,OS按照作业说明书的要求来调度和控制作业执行
- 资源利用率高,作业吞吐量大,但不利于开发调试
- 特征:批量集中处理、多道程序运行、作业脱机工作
- 分时操作系统
- 多终端,CPU和内存按时间间隔分配
- 实时操作系统
- 指当外界事件或数据产生时,能够对其予以接受并以足够快的速度进行处理
- 批处理操作系统
- 从应用领域
- 服务器OS、并行OS
- 网络操作OS、分布式OS
- 个人机OS、手机OS
- 嵌入式OS、传感器OS
1.6 资源管理视角
- 硬件资源
- 处理器、内存、外设
- 信息资源
- 数据、程序
分配方式
- 资源共享
- 独占使用
- 并发使用
- 资源分配
- 静态分配
- 动态分配
- 资源抢占
三个方式
- 复用
- 时分复用
- 空分复用
- 虚拟
- 抽象
1.7 程序控制视角
例题
- 处理两道作业而言,效率提高了
- 对单道作业而言,效率降低了
实现
- 为进入内存执行的程序建立管理实体:进程
- OS管理和控制进程执行
- OS协调各类资源在进程间的使用
实现要点
- 如何使用资源?
- 调用OS提供的服务例程(如何陷入OS)
- 如何复用CPU?
- 调度程序,在CPU空闲的时候让其他程序运行
- 如何使CPU和IO并行?
- 设备控制器和通道(专用的IO处理器)
- 如何让正在运行的程序让出CPU?
- 中断
1.8 OS控制计算机的视角
OS的操作接口——系统程序
OS的两类作业级接口
- 脱机作业控制方式:作业控制语言
- OS:提供作业说明语言
- 用户:编写作业说明书
- OS:通过作业控制程序自动控制作业执行
- 如bat、shell
- 联机作业控制方式:操作控制命令
- 计算机:提供终端(键盘/显示器)
- 用户:登陆系统
- OS:提供命令解释程序
- 用户:联机输入命令,直接控制作业步的执行
- 如分时OS
命令解释程序
- OS输出命令提示符
- 用户输入指令,回车后申请中断
- CPU响应,将控制权交给命令解释程序接着读入命令缓冲区内容,分析命令、接受 参数,执行处理代码
- 命令执行结束后,再次输出命令提示符,循环
1.9 人机交互视角
- 人机交互设备
- 传统的终端设备
- 新型模式识别设备
- OS的人机交互用于
- 控制有关设备的执行
- 理解执行设备传来的命令
人而不是技术是人机交互的中心
1.10 程序接口视角*
OS的程序接口——系统调用
- OS实现的完成某种特定功能的过程;为所有运行程序提供访问OS的接口
实现要点
- 编写系统调用服务例程
- 设计系统调用入口地址表(可能还包含参数个数)
- 陷阱处理机制,需要开辟现场保护区,以保存发生系统调用时应用程序的处理器现场
参数传递方式:
- 访管指令或自陷指令自带参数
- CPU的通用寄存器存参数
- 开启专门的堆栈区传递参数
实现机制
CPU有两个状态,分别是管态和目态,
- 管态,即操作系统的管理程序运行时的状态,具有较高的特权级别,也称为特权态、系统态、内核态或者核心态。当处理器处于管态时,可以执行所有的指令,包括各种特权指令,也可以使用所有的资源,并且具有改变处理器状态的能力。
- 目态,即用户程序运行时的状态,具有较低的特权级别,又称为普通态或用户态。在这种状态下不能使用特权指令,不能直接使用系统资源,也不能改变CPU的工作状态,并且只能访问这个用户程序自己的存储空间。
1.11 系统结构的角度
略