概述
特征
- 并发:宏观同时,微观交替
- 并行:同时进行
- 共享
- 互斥:摄像头等设备
- 同时:磁盘等设备
- 虚拟
- 空分复用:虚拟内存
- 时分复用:虚拟处理器
- 异步:并发和共享互为存在条件
发展与分类
- 手工操作:人机速度矛盾
- 批处理
- 单道:脱机输入输出;缓解人机速度矛盾、但资源利用率仍然很低
- 多道:操作系统出现;多道程序并发执行、资源利用率高
- 分时操作系统:人机交互、不能优先处理紧急任务
- 实时操作系统:可以优先处理紧急任务
- 硬实时:严格在规定时间内完成处理
- 软实时:允许偶尔违背时间规定
- 网络操作系统
- 分布式操作系统
- 个人计算机操作系统
操作系统运行机制
- 两种指令
- 特权指令:内存操作
- 非特权指令:加减乘除
- 内核:操作系统最重要的部分,由诸多内核程序构成
- 两种状态(PSW程序状态字寄存器指示)
- 内核态(管态):运行内核程序,允许特权指令
- 用户态(目态):运行应用程序,仅允许非特权指令
- 切换
- 管态→目态:执行一条特权指令置PSW为目态
- 目态→管态:由中断触发(越权、调度等需要操作系统介入时),硬件自动完成状态切换
中断和异常
- 中断:操作系统取回CPU使用权的唯一途径(目态→管态)
- 内中断(一说:异常、例外):
- 非法指令(fault):触发中断,执行异常处理内核程序,如缺页
- 陷入指令(trap,访管指令):请求操作系统内核服务,即“系统调用”
- 终止指令(abort):致命错误引起,进程直接被kill
- 外中断(一说:中断):
- 时钟中断:时钟部件触发中断(实现并发)
- I/O中断:I/O设备发来中断信号
- 内中断(一说:异常、例外):
- 中断处理
- 查询中断向量表:根据中断类型定位处理程序所在指针
系统调用
- 系统调用的概念
- 操作系统提供的外部接口,库函数是对接口的封装或纯用户态指令实现
- 分配共享资源的使用,保证系统稳定和安全
- 功能分类
- 设备管理
- 文件管理
- 进程控制
- 进程通信
- 内存管理
- 过程:程序压参数进registry,调用用户态指令trap引发内中断,内核程序根据参数处理调用请求,完成后返回应用
体系结构
- 系统层次结构
- 用户
- 应用程序
- 操作系统
- 非内核功能(如GUI)
- 内核功能
- 进程管理、存储器管理、设备管理
- 时钟管理、中断处理、原语(不可中断,如设备驱动、CPU切换)
- 裸机(纯硬件)
- 用户
- 大内核(Linux、UNIX):包含全部内核功能
- 高性能,内核代码庞大,难以维护
- 微内核(WinNT):仅包含与硬件最紧密的一层
- 频繁切换状态,但便于维护