FANS-RT 任务同步对象设计方案

一、特性流程及涉及模块框图


二、特性总体需求

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值