操作系统
操作系统的概念
操作系统:控制和管理整个计算机系统的硬件和软件资源,并合理组织调度计算机的工作和资源分配,以提供给用户和其他软件方便的接口和环境,是计算机系统中最基本的系统软件
计算机系统的结构层次
- 裸机
- 操作系统
- 软件
- 用户(也可直接使用操作系统)
操作系统的功能
操作系统作为系统资源的管理者
- 文件管理
- 内存管理
- 处理机管理
- 设备管理
操作系统作为用户和硬件的接口
- 命令接口:允许用户直接使用
- 联机命令接口=交互式命令接口:用户说一句,系统做一句(cmd)
- 脱机命令接口=批处理命令接口:用户说一堆,系统做一堆(*.bat)
- 程序接口=系统调用=广义指令:允许用户通过程序间接使用 ,有一组系统调用组成
- GUI:图像用户界面
操作系统作为最接近硬件的层次
实现对硬件机器的拓展
裸机:没有任何软件支持的计算机
虚拟机/扩充机:覆盖了软件的机器
操作系统的特征
并发和共享为最基本特征,二者互为存在条件
失去并发性则共享性没有存在意义;失去共享性则无法并发
没有并发性就谈不上虚拟性
只有系统拥有并发性,才有可能导致异步性
并发
- 并发:两个或多个事件在同一时间间隔内,宏观上同时发生,微观上交替发生
- 并行:两个或多个事件在同一时刻同时发生
操作系统和程序并发是一同诞生的
共享
系统中的资源可供内存中多个并发的进程共同使用
-
互斥共享:一个时间段只允许一个进程访问
-
同时共享:一个时间段多个进程可以“同时”访问(可能是微观上交替访问)
虚拟
虚拟技术:
- 时分复用技术
- 空分复用技术
异步
多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行走走停停,以不可预知的速度向前推进
操作系统的发展
手工操作阶段
用户独占全机,人机速度矛盾导致资源利用率低批处理阶段
批处理阶段
- 单道批处理系统:引入脱机输入/出技术(磁带),并监督程序负责控制作业的输入、输出
- 优:缓解了一定程度人机速度矛盾,资源利用率有所提升
- 缺:内存中仅有一道程序运行,CPU有大量时间在空闲等待I/O完成,资源利用率依旧很低
- 多道批处理系统:每次往内存中输入多道程序,操作系统正式诞生
- 优:多道程序并发执行、共享计算机资源、资源利用率大幅提升、系统吞吐量增大
- 缺:用户响应时间长,没有人机交互能力
- 分时操作系统
- 优:提供人机交互功能
- 缺:不能优先处理紧急任务
- 实时操作系统
- 硬实时系统:必须在绝对严格的时间间隔内完成处理
- 软实时系统:能接受偶尔违反时间规定
操作系统运行机制
指令:
- 特权指令
- 非特权指令
处理器状态:PSW标识
- 核心态(管态):特权、非特权指令都可以执行
- 用户态(目态):此时CPU只能执行非特权指令
程序:
- 内核程序
- 应用程序
内核是计算机配置的底层软件,是操作系统最基本、最核心的部分
- 时钟管理
- 中断处理
- 原语:一种特殊的程序,具有原子性(一旦开始不可被中断)
- (对系统资源进行管理)
操作系统体系结构:
- 大内核:操作系统主要功能都作为系统内核,运行在核心态
- 优:高性能
- 缺:代码庞大、结构混乱、难以维护
- 微内核:只把最基本的功能保留在内核
- 优:结构清晰、方便维护
- 缺:需要频繁在用户态与核心态间切换,性能低