一、特性流程及涉及模块框图
二、特性总体需求
1.创建对象
创建事件对象
创建互斥体对象
创建信号量对象
创建信号量集对象
2.捕获对象(通过对象名称)
3.向对象发送信号
向事件对象发送信号
向互斥体对象发送信号(解锁)
向信号量对象发送信号(点灯)
向信号量集对象发送信号
4.复位对象
复位事件对象
5.等待对象
等待事件/等待信号灯/等待信号量集
等待互斥体信号(加锁)
6.关闭对象(释放对象占用的内存,激活阻塞的任务并告知对象已被删除)
三、需求分解
1.事件对象(略)
2.互斥体对象(略)
3.信号量对象
A.IPC API
根据参数创建一个指定名称、已有信号灯数量、信号灯上限信号量对象(IPC API)
向信号量对象发送指定数量的信号(点信号灯)
B.OBJ API
根据指定句柄等待对象信号
根据指定的句柄关闭对象
C.Core Adapter Layer
根据指定的名称、魔数、参数包向系统请求分配一个对象,返回对象句柄
根据指定的句柄、参数包向系统请求激活一个对象。
根据指定的名称、参数包从系统中捕获一个对象,返回发现的对象句柄。
根据指定的句柄向系统请求释放一个对象,对象所占用的内存空间将被释放。
根据指定的句柄、方法枚举值、参数包向对象管理器请求该对象的特定方法。
D.System Request Manager(无新需求)
E.Object Manager(无新需求)
F.Core IPC Class
根据参数包及对象头指针计算对象大小
根据参数包及对象头指针初始化信号量对象
根据参数包及对象头指针激活信号量对象
根据参数包及对象头指针等待对象信号
根据参数包及对象头指针向信号量对象发送指定数量的信号
根据对象头指针处理信号量释放事宜(激活阻塞的任务并使任务返回STATE_REMOVED)