操作系统概述
一、什么是操作系统
操作系统是计算机系统中最基本、最重要的系统软件,它负责管理和控制计算机的硬件与软件资源,为用户和其他软件提供方便、高效、安全的使用环境。
1.1 操作系统的定义
从不同角度看,操作系统有不同的定义:
- 资源管理者:操作系统是计算机硬件资源的管理者
- 服务提供者:操作系统为用户和应用程序提供服务
- 系统扩展器:操作系统扩展了计算机硬件的功能
1.2 操作系统的目标
- 方便性:为用户提供友好的操作界面
- 有效性:提高系统资源利用率
- 可扩展性:支持硬件和软件的扩展
- 开放性:支持不同系统间的互操作
二、操作系统的发展历程
2.1 手工操作阶段(1940s-1950s)
- 无操作系统
- 人工装卸纸带、卡片
- 程序员即操作员
2.2 批处理系统(1950s-1960s)
- 单道批处理系统
- 多道批处理系统
- 主要特点:作业自动连续处理
2.3 分时系统(1960s)
- 多个用户共享计算机资源
- 交互式操作
- 典型代表:UNIX系统
2.4 实时系统(1960s)
- 硬实时系统:严格的时间限制
- 软实时系统:相对的时间限制
- 应用领域:工业控制、航空航天等
2.5 现代操作系统
- 个人计算机操作系统
- 分布式操作系统
- 嵌入式操作系统
- 网络操作系统
三、操作系统的基本特征
3.1 并发性
- 多个程序在同一时间段内同时执行
- 宏观上并行,微观上串行
- 通过进程管理实现并发
3.2 共享性
- 资源可供多个并发执行的进程共同使用
- 互斥共享:如打印机
- 同时访问:如磁盘文件
3.3 虚拟性
- 通过技术将一个物理实体变为多个逻辑实体
- 虚拟处理器、虚拟内存、虚拟设备
3.4 异步性
- 进程以不可预知的速度向前推进
- 可能导致结果的不确定性
- 操作系统需要保证结果的正确性
四、操作系统的功能
4.1 处理器管理
- 进程控制:创建、撤销、状态转换
- 进程同步:协调并发进程的执行顺序
- 进程通信:进程间信息交换
- 进程调度:分配处理器时间
4.2 存储器管理
- 内存分配与回收
- 地址映射
- 内存保护
- 内存扩充(虚拟存储)
4.3 设备管理
- 设备分配
- 设备驱动
- 设备无关性
- 缓冲管理
4.4 文件管理
- 文件存储空间管理
- 目录管理
- 文件读写管理
- 文件保护
4.5 用户接口
- 命令接口
- 图形用户接口
- 程序接口(系统调用)
五、计算机系统服务
5.1 操作系统提供的服务
5.1.1 程序执行
- 将程序装入内存并运行
- 结束程序执行
- 异常处理
5.1.2 I/O操作
- 提供统一的设备访问接口
- 隐藏硬件细节
- 提高设备利用率
5.1.3 文件系统操作
- 文件的创建、删除、读写
- 目录管理
- 文件保护和安全
5.1.4 通信服务
- 进程间通信
- 网络通信
- 资源共享
5.1.5 错误检测和处理
- 硬件错误检测
- 软件错误处理
- 容错机制
5.2 系统调用
5.2.1 系统调用的概念
- 操作系统提供给应用程序的接口
- 应用程序通过系统调用请求操作系统服务
- 运行在核心态
5.2.2 系统调用的类型
- 进程控制类系统调用
- 文件管理类系统调用
- 设备管理类系统调用
- 信息维护类系统调用
- 通信类系统调用
5.2.3 系统调用的实现
- 陷入机制
- 参数传递
- 系统调用表
5.3 用户与操作系统的交互
5.3.1 命令解释器
- 接收并解释用户命令
- 执行相应操作
- 提供交互环境
5.3.2 图形用户界面
- 窗口系统
- 菜单驱动
- 鼠标操作
六、操作系统的体系结构
6.1 单体结构
- 所有功能集中在一个内核中
- 简单高效
- 维护困难
6.2 层次结构
- 按功能分层
- 每层为上层提供服务
- 易于设计和调试
6.3 微内核结构
- 内核只包含基本功能
- 其他功能作为服务进程运行
- 灵活、可扩展
6.4 虚拟机结构
- 在物理计算机上创建多个虚拟机
- 每个虚拟机运行独立的操作系统
- 资源隔离性好
七、与思考
7.1 操作系统的重要性
操作系统是计算机系统的核心,它:
- 管理计算机资源
- 提供用户接口
- 为应用程序提供运行环境
- 保证系统的安全和稳定
7.2 学习建议
- 理论与实践相结合:在理解概念的动手实践
- 建立系统思维:从整体上把握操作系统各部分的关系
- 关注最新发展:了解操作系统技术的最新进展
- 多做练习:通过习题巩固知识点
7.3 常见问题
- 操作系统如何实现进程的并发执行?
- 虚拟内存的工作原理是什么?
- 文件系统是如何组织和管理文件的?
- 系统调用的执行过程是怎样的?
自学提示:
- 建议配合王道操作系统的PPT课件进行学习
- 每个章节学习后,尝试用自己的话要点
- 遇到不理解的概念,可以查阅相关资料或进行实验验证
- 定期复习,构建完整的知识体系