操作系统特征学习卡片
- 1. 并发
- 多个事件在同一时间间隔内发生
- 2. 共享
- 资源供多个并发进程共同使用
- 3. 虚拟
- 将物理实体变为多个逻辑对应物
- 4. 异步
- 进程因资源竞争走走停停
核心关系:并发和共享是最基本特征,互为存在条件
- 并发 (Concurrency)
- 多个事件在同一时间间隔内发生
- 宏观上同时,微观上交替
- 单核CPU只能并发
- 并行 (Parallelism)
- 多个事件在同一时刻发生
- 真正同时执行
- 需要多核CPU支持
示例:老渣并发约会 vs 小渣并行约会
- 1. 互斥共享
- 一个时间段内只允许一个进程访问
- 示例:摄像头设备(QQ视频时微信不能用)
- 2. 同时共享
- 允许多个进程"同时"访问
- 微观上可能交替
- 示例:QQ和微信同时发送文件(交替访问硬盘)
- 特例:扬声器可被真正同时使用
互为存在条件:
- 失去并发性 → 系统单程序运行 → 共享性无意义
- 失去共享性 → 进程无法共同访问资源 → 无法实现并发
典型场景:
QQ和微信并发执行需要共享访问硬盘资源
没有并发和共享就谈不上虚拟和异步
- 定义
- 将物理实体变为多个逻辑对应物
- 物理实际存在,逻辑用户感知
- 实现技术
- 1. 空分复用:如虚拟存储器技术
- 2. 时分复用:如虚拟处理器技术
- 与并发关系
- 没有并发性就失去虚拟意义(单程序无需虚拟)
- 示例:4GB物理内存表现为更大逻辑内存
- 定义
- 多道程序并发执行时,进程因资源竞争走走停停,推进速度不可预知
- 示例分析
- 老渣约会场景:两道程序竞争"真心"资源
- 可能执行序列1:
- - 8-9点:执行一号指令1(吃饭)
- - 9-10点:执行一号指令2(给心)→资源被一号占有
- - 10-11点:二号请求给心被阻塞
- 与并发关系
- 只有存在并发性才可能产生异步性
- 串行执行则无异步