Merged
对不队 requested to merge
process into
main
功能说明
- 完善单信号量语义:允许 0 初值、修正 P/V 的阻塞与唤醒语义、释放时检查等待者
- 增加 AND 信号量接口
sem_p_multi,支持原子申请多个信号量,避免死锁
- 新增/扩展测试:
semtest 覆盖边界与并发场景;semandtest 展示“无 AND 易死锁 / 有 AND 可完成”
- 将
semtest 与 semandtest 纳入 usertests 自动测试集
- 同步更新进程管理与系统调用文档、开发日志
关键改动
- 内核:
kernel/sysproc.c、kernel/syscall.c、kernel/include/syscall.h、kernel/include/spinlock.h、kernel/lock/spinlock.c
- 用户态:
user/user.h、user/usys.pl、user/usys.S
- 测试:
user/test/semtest.c、user/test/semandtest.c、user/test/usertests.c
- 文档:
docs/document/进程管理.md、docs/document/系统调用.md、开发日志.md
测试情况
-
semtest(手动)
-
semandtest(手动)
-
usertests(包含上述两项)