前言
计算机四级嵌入式主要考试的内容分为两个大部分:计算机组成与接口和操作系统原理
考点大纲每年不敢保证都一模一样,可以参考官网的考试大纲按需复习,但每年考来考去大差不差的都是那些东西。 官网网址:https://ncre.neea.edu.cn/html1/category/1507/899-1.htm
2025年的考试大纲如下所示:
我会按照该大纲的顺序将整理出来的知识点一章一章整理出来,都放在这个专栏中,希望能够帮助各位准备考试的同学能够顺利通过!
目录
前言
一、管程
二、PV 操作(P 减 V 加)
三、进程互斥的解决方式
(一)解决思路
(二)临界区相关
(三)硬件实现方法
(四)其他相关算法与机制
四、进程间相互制约关系
五、进程同步机制的准则
六、经典生产者 – 消费者模型
七、消息缓冲通信机制组成
八、加锁与 PV 操作的区别
九、选课系统程序相关题目分析
(一)题目一
(二)题目二
论文投稿: 2026年第二届人工智能与计算智能国际学术会议(AICI 2026) 大会官网:https://ais.cn/u/FRfIrm 大会时间:2026年2月6-8日 大会地点:中国-郑州-郑东新区城际酒店


一、管程
- 局部于管程的数据结构,仅能被局部于管程的过程访问,管程之外的过程无法访问。
- 局部于管程的过程,仅能访问管程内的数据结构。
二、PV 操作(P 减 V 加)
- P(S)
- 将信号量 S 的值减 1(S=S-1)。
- 若 S≥0,该进程继续执行;否则,进程置为等待状态,排入等待队列。
- V(S)
- 将信号量 S 的值加 1(S=S+1)。
- 若 S>0,该进程继续执行;否则,释放队列中第一个等待信号量的进程。
三、进程互斥的解决方式
(一)解决思路
(二)临界区相关
- 进入区:进程访问临界资源前,需调用进入区代码(P 操作)。
- 临界区:执行访问临界资源的代码。
- 退出区:执行退出区代码(V 操作)。
(三)硬件实现方法
- Test-and-Set(TS)指令
- 算法逻辑:测试锁变量的值,若为 1,则重复测试;若为 0,立即将锁变量置为 1,进入临界区。
- 核心特性:是一条完整的指令,执行过程不可中断,保证锁的测试和关闭的连续性。
- 退出操作:退出临界区时,将锁变量置为 0。
- Swap 或 Exchange 指令:寄存器和存储内容交换的指令,可用于信号量操作,实现系统任务之间的同步或互斥。
- 使用范围广:适用于任意数目的进程,单处理器和多处理器环境中完全相同。
- 简单:标志设置简单、含义明确,易验证正确性。
- 支持多个临界区:一个进程内有多个临界区时,只需为每个临界区设立一个布尔变量。
- 进程等待进入临界区时,耗费处理机时间,无法实现 “让权等待”。
- 进入临界区的进程从等待进程中随机选择,可能导致部分进程 “饥饿”。
(四)其他相关算法与机制
四、进程间相互制约关系
| 相互不感知(完全了解其他进程的存在) | 竞争关系 | 一个进程的操作对其他进程的结果无影响 | 互斥、死锁(可释放资源)、饥饿 |
| 间接感知(双方都与第三方交互,如共享资源) | 通过共享进行协作 | 一个进程的结果依赖于从其他进程获得的信息 | 互斥、死锁(可释放的资源)、饥饿、数据一致性 |
| 直接感知(双方直接交互,如通信) | 通过通信进行协作 | 一个进程的结果依赖于从其他进程获得的信息 | 死锁、饥饿 |
五、进程同步机制的准则
六、经典生产者 – 消费者模型
- 同步关系:生产与消费过程中可能出现供大于求(暂缓生产,努力消费)或供不应求(努力生产,暂缓消费)的现象。
- 互斥关系:环形缓冲池为临界资源,生产者和消费者均需使用。
七、消息缓冲通信机制组成
八、加锁与 PV 操作的区别
- 加锁(如 TS 指令、Peterson 算法的锁机制):专门用于实现进程互斥的机制,核心是控制临界区的独占访问,操作对象多为锁变量(布尔变量等),粒度单一,仅聚焦 “禁止并发进入临界区”。
- PV 操作:基于信号量的通用同步原语,不仅能实现互斥(控制临界资源访问),还可实现进程同步、前趋关系等,操作对象是信号量(整数变量),粒度更灵活,支持复杂的进程间协作逻辑。
- 加锁:仅针对临界资源的互斥访问设计,无其他扩展功能,无法处理进程间 “等待 – 唤醒” 的同步需求(如生产者 – 消费者的供需协调)。
- PV 操作:除互斥外,可通过信号量的计数特性实现同步(如用信号量记录缓冲区空位数、产品数),还能表达进程的前趋依赖关系,功能覆盖更全面。
- 加锁(硬件级如 TS 指令):多为硬件指令或简单软件算法实现,逻辑直接,仅需对锁变量进行 “测试 – 设置” 或 “交换” 操作,适用于简单互斥场景。
- PV 操作:是操作系统提供的原语级接口,依赖信号量的数值变化控制进程状态(继续执行 / 阻塞),可通过调整信号量初始值和 PV 操作的位置,适配不同的并发场景(如多个生产者 – 消费者、多临界资源竞争),灵活性更高。
- 加锁(硬件方法):进程等待进入临界区时会循环测试锁变量(如 TS 指令的 while 循环),耗费处理机时间,无法实现 “让权等待”。
- PV 操作:当 P 操作导致信号量 S<0 时,进程会主动置为等待状态并排入队列,释放处理机资源,支持 “让权等待”,更符合进程同步机制的准则。
- 加锁:无任何进程间通信功能,仅解决 “互斥访问” 问题,不涉及进程间信息交换。
- PV 操作:虽属于低级通信原语,无法承担大量信息交换,但可通过信号量的状态变化间接传递简单状态信息(如 “资源可用”“任务完成”),具备微弱的通信雏形。
九、选课系统程序相关题目分析
(一)题目一
PROCESS P(.)//学生学号为i,课程号为j
//局部变量
{int r;
r=search();//找到课程j并返回课程学生余量
if(r>=1)
{identify(i);//确认学生选课成功,记录
r=r-1;
modify(r,j);//将课程j的课余量修改为r
print("恭喜您选课成功!");
}
else print("对不起,没有该课程或选课已满。");
}
- A. 选课学生没选满系统就可能发生死锁
- B. 选课学生能够正常选课,选课学生数与初设相符
- C. 选课学生数可能会超出课程容量
- D. 选课学生选不了课,系统会报错
(二)题目二
Semaphores mutex;//定义信号量
PROCESS P(i,j)//学生学号为i,课程号为j
//局部变量
{int r;
P(mutex);//加锁
r=search();//找到课程j并返回课程学生余量
if(r>=1)
{identify(i,j);//确认学生选j课成功,记录
r=r-1;
modify(r,j);//将课程j的课余量修改为r
print("恭喜您选课成功!");
}
else print("对不起,没有该课程或选课已满。");
V(mutex);//解锁
}
- A. 选课学生数可能会超出课程容量
- B. 选课学生能够正常选课,选课学生数与初设相符
- C. 选课学生没选满系统就可能发生死锁
- D. 选课学生选不了课,系统会报错
网硕互联帮助中心




评论前必须登录!
注册