开放(Linux)与封闭(windows)
1、什么是操作系统(OS)
操作系统是一个系统软件,它管理计算机的软硬件资源(管理者),并为计算机程序提供服务(服务者)
- 硬件资源:CPU、内存、外设
- 软件资源:文件
2、操作系统五大功能
- 操作系统的接口
- 进程管理:对CPU的管理(程序在CPU运行即称进程)
- 内存管理:程序运行的临时住所
- 外设管理:程序长期驻留
- 文件管理
2.1 进程管理
- 进程控制:进程生命周期的创建、执行、终止等活动
- 进程调度:OS调度程序调度进程运行
- 进程通信:多进程间通信(发消息、文件共享等)
- 进程同步:资源竞争或共同协作
2.2 内存管理
为多道程序的执行提供良好的环境
- 内存分配:
- 内存保护
- 地址映射
- 内存扩充
2.3 外设管理
- 设备分配:对OS提出IO请求,OS分配所需IO设备
- 缓冲管理:先缓存起来,外设与CPU并行工作
- 设备处理:设备驱动程序
2.4 文件管理
文件系统,管理在外存上的文件
- 存储空间管理
- 目录管理
- 读写管理
- 权限管理
3、操作系统的特征
- 并发性:多进程同时运行
- 共享性:系统资源多并发进程共同使用
- 虚拟性
- 异步性:进程以不可预知的速度推进,操作系统提供机制确保不发生错误
4、操作系统的作用
- 方便用户:接口
- 提高效率
5、操作系统的结构
5.1 模块化OS
模块之间可以互相调用,优点是性能比较高,缺点是模块之间的依赖关系比较复杂
Linux源代码结构
- mm:内存管理模块代码
- fs:文件系统,每个子目录表示一个实际的文件系统,如EX2文件系统,FAT文件系统
- net:网络模块
- drivers:设备驱动
- kernel:调度程序及核心内容
5.2 分层OS
5.3 微内核OS
- 机制与策略分离的设计理念:将机制部分以及与硬件紧密相关的部分放入微内核(进程管理、中断),另外绝大部分放在各种服务器实现
- 消息通信机制:支持分布式系统和网络系统
- 可扩展性、可移植性较好,缺点是性能有所下降(客户服务器通信的代价)
6、操作系统运行环境
- 两种指令:特权指令 非特权指令
- 两种处理器状态:核心态 用户态
- 两种程序:内核程序 应用程序
6.1 计算机系统的层次结构
6.2 OS的运行环境与运行机制
中断:支持CPU和设备之间的并行操作
异常:COU执行指令时本身出现问题
系统调用:用户在编程时可以调用的操作系统功能