计算机操作系统¶
概述¶
操作系统是计算机系统中最基本的系统软件,负责管理计算机硬件资源,为应用程序提供运行环境。
操作系统定义
操作系统是控制和管理计算机硬件和软件资源,合理组织计算机工作流程,方便用户使用的程序集合。
操作系统的发展历程¶
1. 手工操作阶段¶
手工操作阶段(1946-1950年代)
用户直接通过开关、按钮控制计算机,亮灯显示结果。
特点:
- 用户独占全机
- CPU等待人工操作
- 资源利用率低
问题: 手工操作速度与电子计算速度严重不匹配
2. 批处理阶段¶
批处理系统
引入作业控制语言,实现作业的成批处理。
简单批处理¶
特点:
- 引入作业控制语言(JCL)
- 用户编写作业说明书
- 操作员成批输入、成批执行
- 磁带替代卡片和纸带
优点:
- 减少手工操作时间
- 提高系统利用率
缺点:
- 半自动化处理
- 未解决CPU与I/O速度不匹配问题
多道批处理¶
多道批处理系统
内存中同时存放多个作业,CPU在它们之间切换。
特点:
- 多道程序并行执行
- 磁盘设备出现
- 实现自动化控制
优点:
- CPU与I/O并行
- 资源利用率高
- 系统吞吐量大
3. 分时系统¶
分时系统
多个用户通过终端同时使用一台计算机,系统轮流为每个用户服务。
特点:
- 多路性: 多个用户同时使用
- 独立性: 用户感觉独占机器
- 及时性: 响应时间短
- 交互性: 人机对话
4. 实时系统¶
实时系统
系统能及时响应外部事件的请求,在规定时间内完成处理。
类型:
- 实时控制系统: 工业控制、军事应用
- 实时信息处理系统: 航空订票、银行业务
特点:
- 实时性: 响应时间严格
- 可靠性: 高可靠性要求
- 确定性: 响应时间可预测
操作系统的功能¶
graph TB
A[操作系统功能] --> B[处理器管理]
A --> C[存储器管理]
A --> D[设备管理]
A --> E[文件管理]
A --> F[用户接口]
B --> B1[进程控制]
B --> B2[进程同步]
B --> B3[进程通信]
B --> B4[调度]
C --> C1[内存分配]
C --> C2[内存保护]
C --> C3[地址映射]
C --> C4[内存扩充]
D --> D1[设备分配]
D --> D2[设备驱动]
D --> D3[缓冲管理]
E --> E1[文件存储]
E --> E2[目录管理]
E --> E3[文件保护]
F --> F1[命令接口]
F --> F2[程序接口]
F --> F3[图形界面]
1. 处理器管理¶
处理器管理
管理CPU资源,合理分配CPU时间。
主要功能:
- 进程控制: 创建、撤销、阻塞、唤醒进程
- 进程同步: 协调进程执行
- 进程通信: 进程间信息交换
- 调度: 作业调度、进程调度
进程状态¶
stateDiagram-v2
[*] --> 创建
创建 --> 就绪: 创建完成
就绪 --> 运行: 调度
运行 --> 就绪: 时间片到
运行 --> 阻塞: 等待事件
阻塞 --> 就绪: 事件完成
运行 --> [*]: 结束
进程调度算法¶
| 算法 | 特点 | 适用场景 |
|---|---|---|
| FCFS(先来先服务) | 简单、公平 | 批处理系统 |
| SJF(短作业优先) | 平均等待时间最短 | 批处理系统 |
| RR(时间片轮转) | 公平、响应快 | 分时系统 |
| 优先级调度 | 重要进程优先 | 实时系统 |
2. 存储器管理¶
存储器管理
管理内存资源,为进程分配内存空间。
主要功能:
- 内存分配: 为进程分配内存空间
- 内存保护: 防止进程互相干扰
- 地址映射: 逻辑地址到物理地址的转换
- 内存扩充: 虚拟存储器
存储管理方式¶
- 连续分配: 单一连续、固定分区、动态分区
- 非连续分配: 分页、分段、段页式
虚拟存储器¶
虚拟存储器
逻辑上扩充内存容量,允许程序部分装入内存执行。
实现方式:
- 请求分页: 按需调入页面
- 请求分段: 按需调入段
页面置换算法:
- OPT: 最佳置换(理论)
- FIFO: 先进先出
- LRU: 最近最少使用
- Clock: 时钟算法
3. 设备管理¶
设备管理
管理各类外部设备,实现设备与CPU的并行操作。
主要功能:
- 设备分配: 分配设备给进程
- 设备驱动: 控制设备操作
- 缓冲管理: 缓解速度不匹配
I/O控制方式¶
graph LR
A[程序查询方式] --> B[程序中断方式]
B --> C[DMA方式]
C --> D[通道方式]
style A fill:#E3F2FD
style B fill:#E8F5E9
style C fill:#FFF3E0
style D fill:#F3E5F5
4. 文件管理¶
文件管理
管理文件资源,提供文件的存储、检索和共享。
主要功能:
- 文件存储: 管理文件存储空间
- 目录管理: 建立文件目录
- 文件保护: 控制文件访问权限
文件系统结构¶
graph TB
A[文件系统] --> B[目录项]
B --> C[文件控制块FCB]
C --> D[物理文件]
D --> D1[连续分配]
D --> D2[链接分配]
D --> D3[索引分配]
5. 用户接口¶
用户接口
操作系统提供给用户使用的接口。
类型:
- 命令接口: 命令行(CLI)
- 程序接口: 系统调用
- 图形界面: GUI
操作系统的类型¶
1. 批处理操作系统¶
特点:
- 多道程序设计
- 作业成批处理
- 无交互能力
2. 分时操作系统¶
分时操作系统
多个用户通过终端同时使用计算机。
特点:
- 多路性、独立性、及时性、交互性
- 代表: UNIX、Linux
3. 实时操作系统¶
特点:
- 实时响应
- 高可靠性
- 代表: VxWorks、QNX
4. 网络操作系统¶
网絡操作系统
在普通操作系统基础上增加网络功能。
特点:
- 网络通信
- 资源共享
- 代表: Windows Server、Linux
5. 分布式操作系统¶
特点:
- 多计算机协同工作
- 资源全局管理
- 透明性
6. 个人计算机操作系统¶
特点:
- 单用户、多任务
- 图形界面友好
- 代表: Windows、macOS
操作系统的特征¶
操作系统特征
现代操作系统具有以下基本特征。
1. 并发性¶
含义: 两个或多个事件在同一时间间隔内发生。
区别:
- 并行: 多个事件同时发生(多核CPU)
- 并发: 多个事件交替发生(单核CPU)
2. 共享性¶
共享性
系统资源被多个进程共同使用。
类型:
- 互斥共享: 资源在一段时间内只允许一个进程访问
- 同时共享: 资源在一段时间内允许多个进程交替访问
3. 虚拟性¶
含义: 将物理实体变为多个逻辑实体。
例子:
- 虚拟存储器
- 虚拟设备
4. 异步性¶
异步性
进程以不可预知的速度向前推进。
常见操作系统¶
| 操作系统 | 类型 | 特点 | 应用领域 |
|---|---|---|---|
| Windows | 个人计算机 | 图形界面友好 | 桌面、办公 |
| Linux | 分时/网络 | 开源、稳定 | 服务器、嵌入式 |
| macOS | 个人计算机 | 美观、稳定 | 苹果设备 |
| Android | 移动设备 | 开源、应用丰富 | 智能手机、平板 |
| iOS | 移动设备 | 封闭、安全 | iPhone、iPad |