# 归档文件 - 实验六 同步机制——信号量集与哲学家就餐问题 ## 6.1 实验目的 理解 Linux SystemV 信号量集同步机制,掌握 semget/semctl/semop,解决哲学家就餐死锁问题。 ## 6.2 实验内容 创建 5 个信号量(叉子),哲学家同时申请左右叉子,避免死锁。 ## 6.3 实验准备 - semget:创建信号量集 - semctl:设置初值 - semop:原子操作多个信号量 ## 6.4 实验设计 semget 创建 5 信号量,semctl 置 1,fork 5 进程,semop 同时申请/释放两把叉子。 ## 6.6 实验结果 无相邻哲学家同时进食,无死锁。 ## 6.7 思考问题 1. 用 clone/vfork 替代 fork。 2. 用信号量集解决吸烟者问题。