✨资料&文章更新✨
GitHub地址:https://github.com/tyronczt/system_architect
文章目录
- 操作系统知识
- 操作系统概述
- 进程组成和状态
- 💯考试真题
- 前趋图
- 进程资源图
- 💯考试真题
- 问题1
- 问题2
- ✨【重点】进程同步与互斥✨
- 💯考试真题
- 问题1
- 问题2
- 问题3
操作系统知识
重点:
- 分页存储管理
- I/O 软件
操作系统概述
操作系统的4个特征是并发性、共享性、虚拟性和不确定性(异步性)。
嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:片级初始化→板级初始化→系统初始化。
进程组成和状态
运行、阻塞、就绪三态图会考,五态图不考,了解
💯考试真题
选项分析
- 选项 A(时间片到) 是唯一与状态选项 C(就绪、运行、等待和等待)匹配的组合。虽然 FCFS 传统上无时间片,但题目提供此选项,可能是假设某种抢占式变体。
- 选项 B 和 C 需要假设 P1 持有特定资源,但题目未说明,且结果状态无匹配。
- 选项 D 因 P1 终止后状态定义问题,无法直接匹配。
因此,最合理的解释是:P1 的时间片到期,被抢占,进入就绪队列;P2 开始运行;P3 和 P4 状态不变。
若 P1 时间片到,则 P1、P2、P3 和 P4 的状态应分别为 就绪、运行、等待和等待。即选择 A 和 C。
前趋图
进程资源图
阻塞节点:某进程所请求的资源已经全部分配完毕。无法获取所需资源,该进程被阻塞了无法继续。
非阻塞节点:某进程所请求的资源还有剩余可以分配给该进程继续运行。
当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态。
💯考试真题
问题1
判断进程的阻塞状态
P1 申请了R1和R2资源。若R1或R2已被其他进程占用(例如P3可能持有R1,或R2被其他未提及的进程占用),则P1会被阻塞。
P2 申请了R3资源。若R3不可用,则P2会被阻塞。
P3 申请了R1资源。若R1未被占用(假设当前R1空闲),则P3可以立即运行,是非阻塞节点。
结论:
C. P1、P2是阻塞节点,P3是非阻塞节点
问题2
判断进程资源图是否可以化简及化简顺序
化简可行性分析
P3是非阻塞节点,可以立即执行,执行后会释放R1资源。
P1因等待R1和R2被阻塞,但P3释放R1后,若R2可用(假设初始状态R2空闲),则P1可以运行。
P1运行后释放R2,使P2可以申请R3并执行。
因此,系统可以通过逐步释放资源完成所有进程,不存在死锁,可以化简。
化简顺序
根据资源释放的依赖关系:
P3(释放R1)→ P1(释放R2)→ P2(释放R3)
结论:
B. 可以化简的,其化简顺序为P3→P1→P2
最终答案
阻塞状态判断:C
化简顺序判断:B
注: 假设初始资源分配中R1未被占用(允许P3直接运行),且R2/R3初始可用。若资源初始状态不同,结论可能变化,需结合图中具体资源持有关系确认。
✨【重点】进程同步与互斥✨
临界资源:各进程间需要以互斥方式对其进行访问的资源。
临界区:指进程中对临界资源实施操作的那段程序。本质是一段程序代码。
互斥:某资源(即临界资源)在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完后解锁才能被其他任务使用:如打印机。
同步:多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题;如自行车和汽车。
互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1。
同步信号量:对共享资源的访问控制,初值一般是共享资源的数量。
P操作:申请资源,S=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态因为无可用资源),并将其插入阻塞队列。
V操作:释放资源,S=S+1,若S>0,则执行V操作的进程继续执行;若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。
💯考试真题
问题1
a和b处的操作(P1和P2)
P1 是起始进程,执行后需触发 P2 和 P3,因此需要释放两个信号量:
- V(S1):通知P2可以运行。
- V(S2):通知P3可以运行。
a处应填写 V(S1)V(S2)。
P2 结束后需触发 P4,因此释放信号量:V(S3):通知P4可以运行。
b处应填写 V(S3)。
答案:C. V(S1)V(S2) 和 V(S3)
问题2
c和d处的操作(P3)
P3 需要等待 P1 的信号量 S2(通过 P(S2)),执行后释放 S4 以触发 P5:
c处应填写 P(S2)。
P3 结束后需触发 P4,因此释放信号量:V(S4):通知P5可以运行。
根据选项设计,P3的操作对应 P(S2) 和 V(S4)。
答案:B. P(S2) 和 V(S4)
问题3
e和f处的操作(P4和P5)
P4 执行后需触发 P5,因此需要释放信号量:V(S5)
e处应填写 V(S5);
P5 需要等待 P3和P4都完成,即需两个信号量操作:
P(S4):等待P3完成。
P(S5):等待P4完成。
f处应填写 P(S4)P(S5)。
答案:B. V(S5) 和 P(S4)P(S5)
答案:C B D,如下图