Skip to main content

Concepts

Definition

操作系统是一个大型的程序系统, 它负责(处理机管理, 存储管理, 设备管理, 文件系统):

  • 计算机系统软、硬件资源的分配和使用
  • 控制和协调并发活动
  • 提供用户接口, 使用户获得良好的工作环境

操作系统的特性

  • 并发性 : 能处理多个同时性活动的能力
  • 共享性 : 多个计算任务对系统资源的共同享用
  • 不确定性: 操作系统能处理随机发生的多个事件 - 程序运行次序的不确定性, 程序运行时间的不确定性

操作系统的资源管理功能

处理器调度

  • 确定进程调度策略
  • 给出进程调度算法
  • 进行处理机的分派

存储器管理

  • 存储分配与存储无关性

为用户提供逻辑地址, 解决主存分配问题

  • 存储保护

实现系统程序与用户程序之间的隔离, 实现不同用户程序之间的隔离

  • 存储扩充

虚拟内存管理: 主存+磁盘, 为每个进程管理一个虚拟内存映射链表

设备管理

  • 设备无关性

用户向系统申请和使用的设备无关实际操作的设备, 操作系统为用户提供统一的逻辑设备(名)

  • 设备分配(独享分配/共享分配/虚拟分配)
  • 设备的传输控制(设备启动处理, 设备中断处理, 设备结束处理)

组织设备完成 I/O 操作, 并正确处理中断

文件资源管理

为用户提供一种简便、统一的存取和管理信息的方法, 解决信息的共享/数据的存取控制/数据的保密等问题:

  • 实现用户的信息组织
  • 提供存取方法
  • 实现文件共享
  • 保证文件安全
  • 保证文件完整性
  • 完成磁盘空间分配

操作系统的演变

  • 单用户系统(45-55) -> 批处理系统(55-65) -> 多道系统(65-80) -> 分时系统(70-) -> 分布式系统
  • 手工系统 -人机矛盾-> 联机批处理系统 -CPU I/O 矛盾 -> 脱机批处理系统 -响应能力-> 执行系统(中断/通道) -并行-> 多道批处理系统(粗粒度) -> 分时系统(细粒度) -> 实时系统 -> 个人/网络/分布式系统

批处理系统

作业成批送入计算机, 然后由作业调度程序自动选择作业, 在系统内(多道)运行

  • 系统吞吐率高: 脱机/多道运行
  • 作业周转时间长, 用户使用不方便, 缺少交互性

分时系统

采用时间片(time slice)轮转(round robin)的方法, 使计算机同时为多个终端用户服务, 保证对每个用户都有足够快的响应时间, 并提供交互会话功能

  • 并行性
  • 独占性
  • 交互性

单处理器系统: 处理器与设备/处理器与通道/通道与通道/设备与设备可以同时刻并行(真正意义上的同时进行)

实时系统

实时系统对外部输入的信息, 能够在规定时间内处理完毕并作出反应(实时控制/实时信息处理) e.g. 嵌入式操作系统

  • 可靠性
  • 安全性
  • 及时响应

操作系统虚拟机

  • 在裸机上配置了操作系统后便构成了操作系统虚拟机
  • 裸机的指令系统: 机器指令; 操作系统虚拟机的指令系统: 系统调用

用户接口

  • 操作/命令接口(操作命令): 作业控制语言/键盘命令(CLI)/图形化用户界面(GUI)
  • 程序接口(系统功能调用): 在用户程序中可以直接使用系统功能调用(system call)请求操作系统提供的服务

操作系统的组织结构

  • 一体化结构
  • 模块化结构
  • 可扩展内核(微内核)结构
  • 层次化结构

并发

Concurrent

程序并发的特点

  • 程序执行的间断性
  • 相互通信的可能性
  • 资源分配的动态性