操作系统(OS)是控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序的集合。没有任何软件支持的计算机称为裸机。

四大特征

  • 并发(Concurrence):两个或多个事件在同一个时间间隔内发生。与并行(同一时刻)相区别
  • 共享(Sharing):互斥共享方式(如打印机,一段时间内只允许一个进程访问)、同时访问方式
  • 虚拟(Virtual):时分复用技术(处理器的分时共享)、空分复用技术(虚拟存储器)
  • 异步(Asynchronism)

并发和共享是操作系统两个最基本的特征,二者互为存在条件。

目标和功能

作为计算机系统资源的管理者:

  • 处理机管理
  • 存储器管理
  • 文件管理
  • 设备管理

作为用户与计算机硬件系统之间的接口:

  • 命令接口:程序接口(批处理命令接口)、联机命令接口(交互式命令接口)
  • 程序接口:由一系列系统调用组成
  • 图形用户界面(GUI)

发展与分类

阶段特点
手工操作阶段独占,CPU 等待人工操作
单道批处理自动性、顺序性、单道性
多道批处理多道、宏观上并行、微观上串行;资源利用率高、吞吐量大;无交互、响应慢
分时操作系统同时性、交互性、独立性、及时性
实时操作系统硬实时 / 软实时;及时性、可靠性

分时系统响应时间:T ≈ QN(Q 为时间片,N 为用户数)。此外还有网络操作系统、分布式操作系统、个人计算机操作系统、嵌入式操作系统等。

运行环境

运行机制

  • 内核程序执行特权指令(不允许用户直接使用的指令)
  • 应用程序使用非特权指令

CPU 状态

  • 用户态(目态):可执行读时钟、取数、寄存器清零、算术运算、访管指令等
  • 核心态(管态):输入/输出指令、系统调用(广义指令)等只能在核心态执行
  • 用户态 → 内核心:中断、异常、访管指令(自愿中断)
  • 内核态 → 用户态:设置程序状态字

访管指令是一条可以在用户态下执行的指令,通过产生访管中断(自愿中断)使系统转换为核心态。

操作系统内核的四个方面

  • 时钟管理
  • 中断机制
  • 原语(Atomic Operation):处于操作系统最底层,运行具有原子性、时间较短
  • 系统控制的数据结构及处理:进程管理、存储器管理、设备管理

中断和异常

  • 中断(Interruption,外中断):来自 CPU 执行指令以外的事件,如 I/O 结束中断、时钟中断
  • 异常(Exception,内中断/陷入 trap):源自 CPU 执行指令内部的事件,如非法操作码、地址越界、算术溢出、缺页、访管指令

中断处理过程:关中断 → 保存断点(PC)→ 中断服务程序寻址(PSWR)→ 保存现场和屏蔽字 → 开中断 → 执行中断服务程序 → 关中断 → 恢复现场和屏蔽字 → 开中断、中断返回。其中前三步由硬件(中断隐指令)自动完成,其余由中断服务程序完成。

系统调用

系统调用是操作系统内核为应用程序提供服务的接口,按功能可分为设备管理、文件管理、进程控制、进程通信、内存管理等。库函数是语言或应用程序的一部分,运行在用户空间;许多库函数通过系统调用实现功能;未使用系统调用的库函数执行效率通常更高(无需上下文切换与状态转换)。

体系结构

  • 大内核:将操作系统的主要功能模块都作为系统内核,运行在核心态,性能高
  • 微内核:只把最基本的功能保留在内核,优点是使系统更加可靠