系统分析师第四课:操作系统概述-进程管理-同步互斥

系统分析师第四课:操作系统概述-进程管理-同步互斥

思维导图
在这里插入图片描述

一、操作系统概述

1.1 操作系统的定义与核心功能

操作系统作为计算机系统的核心软件,其核心功能是有效组织和管理系统中的各种软硬件资源,合理组织计算机系统工作流程,控制程序执行,并向用户提供良好的工作环境和友好接口。它具有双重重要作用:

  • 资源管理优化:通过高效的资源管理提升计算机系统整体效率,扮演软硬件资源管理器的角色
  • 人机交互桥梁:改善人机界面,提供友好的工作环境,从早期的DOS命令行发展到现代图形界面

操作系统具备四大核心特征:

  • 并发性:宏观上多程序同时运行,微观上CPU分时交替执行(注意与硬件并行的区别)
  • 共享性:系统资源可被多个任务共同使用
  • 虚拟性:通过技术手段将独占设备转化为共享资源(如SPOOLing技术)
  • 不确定性:又称异步性,相同程序多次执行可能因干扰产生不同结果

1.2 操作系统的主要功能

操作系统的功能可归纳为五大管理模块:

  • 处理机管理

    • 本质是对CPU资源的分配与管理
    • 以进程为基本单位进行资源分配,因此也称为进程管理
  • 存储器管理

    • 负责内存的分配、保护和扩充
    • 实现虚拟内存等高级内存管理技术
  • 设备管理

    • 包含设备分配、传输控制和设备独立性等功能
    • 典型技术如SPOOLing虚设备技术
  • 文件管理

    • 管理外存空间(如硬盘)的存储资源
    • 包含存储分配、目录管理、文件操作和保护等功能
  • 用户界面

    • 提供人机交互接口(对应早期"作业管理"概念)
    • 主要形式包括命令行界面和图形用户界面

1.3 操作系统的分类

根据应用场景和技术特点,操作系统可分为多种类型:

  • 批处理系统

    • 单道批处理:严格按顺序执行任务
    • 多道批处理:支持任务并发执行,主机与外设可并行工作
  • 分时系统

    • 通过时间片轮转(如10ms/任务)实现多终端服务
    • 具有强交互性,用户感知为"并行"执行
  • 实时系统

    • 关键特征是在被控对象规定时间内完成响应
    • 应用分为过程控制(如工业自动化)和即时服务(如航空订票)
  • 网络系统

    • 三种主要模式:集中模式(大型主机)、C/S模式(现代主流)、P2P模式(对等网络)
  • 分布式系统

    • 由多台地理分散的计算机组成
    • 无主从之分,任意两台计算机均可通信
  • 微机系统

    • 常见实例:Windows、macOS、Linux
    • 特点:面向个人用户,功能全面丰富

1.4 嵌入式操作系统

嵌入式操作系统具有五大典型特征:

  • 微型化:资源占用极小(通常几MB级别),适应有限硬件条件
  • 可定制:针对不同硬件平台灵活配置(如智能家电、车载系统)
  • 实时性:关键领域要求毫秒级响应(如工业控制)
  • 可靠性:需具备容错防故障设计(如医疗设备)
  • 易移植:通过硬件抽象层技术实现跨平台部署

嵌入式系统的初始化流程分为三个阶段:

  1. 片级初始化(芯片级,如CPU初始化)
  2. 板级初始化(外设驱动初始化)
  3. 系统初始化(操作系统引导)

与常规操作系统相比,嵌入式系统体积通常相差千倍(MB级VS GB级),主要应用于专用设备场景。

二、进程管理核心技术

在这里插入图片描述

2.1 进程的组成与状态模型

2.1.1 进程的组成要素

进程由三大要素组成:

  • PCB(进程控制块):唯一标识进程,包含进程号等关键标识信息(类似概念:TCB线程控制块、FCB文件控制块)
  • 程序:描述进程要完成的功能逻辑
  • 数据:存放进程执行时所需的数据集
2.1.2 进程三态模型

进程三态模型包含三个核心状态:

  • 运行态:进程正在CPU上执行,具备所有所需资源(CPU及所需资源)
  • 就绪态:仅缺少CPU资源,其他资源已就绪,处于就绪队列等待调度
  • 阻塞态:既缺少CPU资源又缺少其他资源(如等待外设I/O),处于等待队列

状态转换规则:

  • 运行→就绪:时间片用完时双向转换(可逆)
  • 运行→阻塞:进程请求资源未就绪时单向转换
  • 阻塞→就绪:等待事件完成时单向转换
  • 禁止转换:就绪态不能直接转为阻塞态(因未运行不会发起资源请求)

扩展说明:五态模型新增新建态(未入就绪队列)和终止态(资源释放中),但考试重点为三态模型。

2.1.3 进程状态转换例题解析

题目场景

  • P1处于运行态
  • P2处于就绪态
  • P3/P4处于阻塞态(P3等待打印机,P4等待扫描仪)

状态转换分析

  1. 运行态进程只能转为就绪态(时间片到)或阻塞态(等待事件)
  2. 本题无等待事件选项,排除阻塞转换可能
  3. 唯一可能是时间片到导致运行→就绪转换

调度过程推演

  • P1时间片到转为就绪态
  • 按FCFS原则调度P2为运行态
  • P3/P4保持阻塞态(未满足唤醒条件)

答案解析

  • 第一空选A(时间片到)
  • 第二空选C(就绪、运行、等待、等待)

2.2 前趋图及其应用

在这里插入图片描述

2.2.1 前趋图核心功能

前趋图用于描述进程间的执行顺序关系:

  • 并行关系:无箭头连接的任务可并行执行
  • 顺序关系:箭头表示前驱约束,必须前驱任务全部完成才能执行后继任务
2.2.2 前趋图典型特征
  • 箭头方向表示执行顺序强制约束
  • 多箭头汇聚表示"与"关系(所有前驱完成)
  • 分支箭头表示"或"关系(任一前驱完成)
2.2.3 前趋图应用示例
A ------> D ------> E
|         ^
v         |
B ------->|
|         |
v         |
C ---------|
  • ABC可并行执行,但必须三者都完成后才能执行D
  • D完成后才能执行E,形成严格串行链
  • 相比纯串行执行(A→B→C→D→E)显著提高并发性

2.3 进程资源图与死锁分析

在这里插入图片描述

2.3.1 进程资源图基本概念
  • 元素表示

    • P代表进程(Process)
    • R代表资源(Resource),方框中的圆球数量表示该资源的可用实例数
  • 箭头含义

    • 资源指向进程(R→P):表示该资源已分配一个实例给对应进程
    • 进程指向资源(P→R):表示该进程正在请求一个该资源的实例
  • 节点状态

    • 阻塞节点:进程请求的资源已全部分配完毕
    • 非阻塞节点:进程请求的资源仍有剩余
2.3.2 死锁判断与资源释放机制
  • 死锁条件:当进程资源图中所有进程都是阻塞节点时,系统陷入死锁状态
  • 资源生命周期:进程执行完成后释放其占用的所有资源,这是系统能够"化简"的关键
  • 与前趋图区别:前趋图只反映执行顺序,不涉及资源分配
2.3.3 进程资源图例题解析

在这里插入图片描述

资源分析

  • R1:分配出2个(总数2),剩余0
  • R2:分配出3个(总数3),剩余0
  • R3:分配出1个(总数1),剩余0

节点状态判断

  • P1:请求R2(无剩余)→阻塞节点
  • P2:请求R1(无剩余)→阻塞节点
  • P3:请求R3(有剩余)→非阻塞节点

化简原理

  1. 执行非阻塞节点P3,释放其占用的R1,R2,R3各1个
  2. R1有1个可用,P2变为非阻塞节点
  3. 执行P2后释放R2 1个
  4. 最后P1可获得R2执行

化简顺序:必须从P3开始,后续P1→P2或P2→P1均可

三、进程同步与互斥机制

在这里插入图片描述

3.1 进程同步与互斥基本概念

  • 临界资源:各进程间需要以互斥方式访问的资源,如打印机,同一时间只能由一个进程访问
  • 临界区:进程中操作临界资源的那段程序代码,本质是代码段而非数据
  • 互斥特性:临界资源使用时需要加锁,使用完后解锁才能被其他任务使用
  • 互斥与同步区别
    • 互斥:资源独占访问(如打印机),存在资源竞争关系
    • 同步:任务并发执行但有速度差异,需要协调执行顺序,无资源独占问题

3.2 信号量机制与PV操作

3.2.1 信号量类型
  • 互斥信号量:初值为1,用于临界资源访问控制(如S0表示仓库使用权)
  • 同步信号量:初值为共享资源数量(如仓库空闲数S1初值为仓库容量)
3.2.2 PV操作原理
  • P操作(申请资源)

    1. 执行S = S − 1
    2. 若S ≥ 0:进程继续执行
    3. 若S < 0:进程阻塞进入等待队列
    • 语义:S > 0表示可用资源数,S < 0时绝对值表示等待进程数
  • V操作(释放资源)

    1. 执行S = S + 1
    2. 若S > 0:进程继续执行
    3. 若S ≤ 0:唤醒一个等待进程
    • 关键点:V操作可能改变进程状态,但执行V操作的进程总会继续运行

3.3 生产者-消费者问题模型

在这里插入图片描述

3.3.1 信号量设置
  • 互斥信号量S0:仓库访问权(初值1)
  • 同步信号量S1:仓库空闲数(初值为N)
  • 同步信号量S2:商品数量(初值0)
3.3.2 生产者流程
  1. 生产商品
  2. P(S1)申请空位
  3. P(S0)申请仓库使用权
  4. 放入商品
  5. V(S2)增加商品计数
  6. V(S0)释放仓库
3.3.3 消费者流程
  1. P(S2)申请商品
  2. P(S0)申请仓库使用权
  3. 取出商品
  4. V(S1)增加空位
  5. V(S0)释放仓库
3.3.4 注意事项
  • 互斥信号量必须成对出现(P(S0)和V(S0))
  • 同步信号量的P/V操作不对称(生产者P(S1)对应消费者V(S1))
  • 操作顺序错误可能导致死锁(必须先申请同步信号量再申请互斥信号量)

3.4 信号量操作例题解析

在这里插入图片描述

3.4.1 前驱图与PV操作基础
  • 信号量设置规则:前驱图中每一条箭头线对应一个信号量,初值均为0
  • 编号原则:信号量编号遵循从上到下、从左到右的顺序
  • 执行逻辑:进程执行完毕后释放(V操作)所有出向箭头信号量;开始前获取(P操作)所有入向箭头信号量
3.4.2 解题方法与技巧
  • 假设验证法:先假设信号量对应关系,再通过选项验证
  • 信号量释放规律:进程分叉处释放多个信号量,合并处获取多个信号量
  • 选项排除技巧:根据前驱图分析必须存在的PV操作组合
3.4.3 典型题型解析

在这里插入图片描述

信号量定位:通过进程依赖关系确定信号量位置,如P1执行后应V(S1)V(S2)对应其两个出向箭头

选项分析

  • 空①处P1执行后需释放两个信号量,对应选项C的V(S1)V(S2)
  • 空③处P3执行前需获取S3,执行后释放S5S6,对应选项B的P(S3)和V(S5)V(S6)

易错点:容易混淆信号量的获取和释放顺序,特别注意合并点进程需要获取所有前置信号量才能执行

四、章节核心考点总结

4.1 操作系统概述重点

  • 定义:有效组织管理软硬件资源,提供用户接口
  • 类型:批处理/分时/实时/网络/分布式/嵌入式
  • 特征:并发性/共享性/虚拟性/不确定性
  • 嵌入式特点:微型化/可定制/实时性/可靠性/易移植性
  • 启动顺序:片级→板级→系统级初始化

4.2 进程管理核心

  • 进程组成:PCB+程序+数据
  • 三态模型:运行态/就绪态/阻塞态
  • 状态转换:运行→就绪(时间片到)、运行→阻塞(等待事件)、阻塞→就绪(事件发生)
  • PCB作用:唯一标识进程的控制块

4.3 同步与互斥关键

  • 临界资源:互斥访问的资源
  • 信号量类型:互斥信号量(初值1)、同步信号量(初值=资源数)
  • PV操作:P申请资源(S–)、V释放资源(S++)
  • 生产者-消费者问题:需3个信号量(互斥+空闲数+商品数),PV操作配套原则

4.4 备考建议

  1. 高频考点

    • 进程三态模型及状态转换条件
    • 信号量机制与PV操作应用
    • 生产者-消费者问题建模
    • 前趋图与进程资源图分析
  2. 实战技巧

    • 熟练掌握信号量设置与PV操作配对原则
    • 通过"一线一量,初值为零;出向释放,入向获取"口诀记忆信号量操作
    • 死锁分析时先找非阻塞节点进行系统化简
  3. 时间分配

    • 本章节内容占操作系统考试分值的60%以上,需重点突破
    • 信号量应用题每年必考,需通过大量练习掌握解题套路

通过本章节学习,我们深入理解了操作系统的核心概念、进程管理机制和进程同步互斥技术,这些内容是系统分析师考试的重中之重,也是理解现代操作系统原理的基础。建议结合真题练习,强化概念理解和解题能力,欢迎大佬评论区交流学习!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值