文件名称:任务的同步与互斥
文件大小:110KB
文件格式:DOCX
更新时间:2021-04-05 05:08:16
µC/OS-II
实验报告五:(1)编程实现哲学家就餐问题。五个哲学家坐在圆桌前,每人一碗面条,每个哲学家两侧各有一支筷子,哲学家处于吃饭和思考两种状态,哲学家吃面条要用他两侧的两只筷子。 提 示:设计5个任务:Task0 、 Task1 、Task2 、Task3 、Task4 ,其优先级关系Task0>Task1>Task2>Task3>Task4。定义 5 个信号量 Sem0、 Sem1、 Sem2、 Sem3、 Sem4,每个任务 i 均作相同的工作:申请信号量 i, (i+1) mod 5;保持信号量;释放信号量(i+1) mod 5,i (2)编程实现生产者和消费者问题。一个有限共享缓冲池,缓冲池中的每个缓冲区可以存放一个产品。生产者不断生产产品并将产品放入缓冲区中,缓冲池满则不能放。消费者进程不断从缓冲区内取出产品并消费,缓冲池空则不能拿。要求生产者和消费者可以动态的增加和减少。