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