一、操作系统概论
1 操作系统的定义
操作系统是计算机系统中的一种系统软件,是用户和计算机系统之间的接口。
2 操作系统的主要目的:
- 软硬件管理
- 提供用户接口
- 合理组织计算机系统的工作流程
3 操作系统功能
- 进程管理
- 存储管理
- 设备管理
- 文件管理
- 用户接口
4 操作系统模式
- 管态(内核态)
- 目态(用户态)
- 为什么划分管态和目态:
当处理器处于管态的时候,系统可以执行全部机器指令,访问所有资源,并具有改变处理器状态的能力;当处理器处于用户态的时候。程序只能执行非特权指令。所以将cpu状态分为管态和目态是为了增强系统安全性w
5 操作系统特征
- 并发
- 并发:多个事件在同一时间段内发生
- 并行:多个事件在同一时刻发生
- 对象是进程(动态)而不是程序(静态)
- 共享
- 多个进程共享有限的计算机资源,操作系统要对系统资源进行合理分配使用。资源在一个时间段内交替被多个进程所使用。
- 互斥共享
- 资源分配后释放前,不能被其他进程所使用
- 同时访问
- 如可重载代码、磁盘文件
- 资源分配难以同时达到最优化
- 虚拟
- 一个物理实体映射为若干个对应的逻辑实体——分时/分空间
- 异步
- 进程执行顺序和执行时间的不确定性
二、操作系统提供的服务
1 系统调用
- 系统调用的类型(了解)
- 进程控制类进程调度
- 文件管理类进程调度
- 通信类进程调度
- 信息维护类进程调度
2 操作系统的结构设计
操作系统内核分类 |
优点 |
缺点 |
例子 |
||||||
简单结构 |
用户通过系统调用而不是消息传递到达内核的。内部可以使用分层方法。内核中模块通信时通过直接调用模块中的函数实现的。 |
|
|
||||||
微内核 |
内核作为独立进程在特权模式下运行,通过消息传递进行通信。
|
用户空间和内核空间通信带来性能影响 |
Tru64 Unix,QNX |
操作系统传统设计模式
- 整体式结构
- 整个操作系统是一堆过程的集合,每个过程都可以任意调用其他过程。
- 优点:结构紧密,接口简单,系统效率高
- 缺点:模块独立性差,结构不清晰,不易读也不易理解,修改不方便,牵一发而动全身
- 模块化结构
- 采用模块化程序设计主技术,将整个操作系统按照功能分为若干模块,并且绑定好模块之间的接口。
- 优点:操作系统正确性高,可适应性好
- 缺点:模块大小划分和接口确定确定相对困难,而且模块之前存在复杂的依赖关系,使操作系统结构不清晰。
- 分层结构
- 模块化结构的一种改进。按照操作系统的功能流程图调用次序和一些规则,将诸多模块排列成若干层次,各层次之间具有单项依赖关系。高层依赖于底层,不会构成循环。
- 优点:操作系统结构更简单清晰,正确性更高。