问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sylixOS这个操作系统怎么样

发布网友 发布时间:2022-04-09 17:12

我来回答

2个回答

懂视网 时间:2022-04-09 21:34

1.1 SylixOS下替换原理

    上一篇博客中介绍了DBUS通信原理以及常用函数接口,本文档介绍SylixOS下DBUS功能替换方案。

    SylixOS有多种进程间通信方法,可以实现类DBUS的进程间通信功能。根据DBUS通信原理,SylixOS下可设计替换方案如图 11所示。

    替换方案需先创建一个后台进程,负责接收进程发送的消息,根据消息类型进行处理。若接收的消息是信号类型,则依次转发至其他进程,若消息类型是函数调用类型,则转发至目标进程,等待函数调用的返回值。替换方案中进程间通信通过UDP通信实现,通过后台进程的转发,可以实现DBUS函数调用以及信号广播的功能,不同进程用不同的端口号区分。

    如图 1-1所示,替换方案中后台进程功能类似于DBUS中的总线功能,UDP通信替代域套接字,由此实现类DBUS的进程间通信功能。

技术分享

图 1-1替换方案

      替换方案中消息类型可分为:

     1. 请求连接消息

     2. 断开连接消息

     3. 信号消息

     4. 函数调用消息

     5. 函数返回值消息

     6. 函数注册消息

     7. 错误消息

     替换方案中需实现类DBUS功能,其中包括:

    1. 进程请求连接到后台进程以及断开连接

    2. 信号发送

    3. 信号接收

    4. 函数调用

    5. 等待函数调用

    6. 提供函数调用

2. 技术实现

2.1 连接到后台进程

     进程间通信前需连接到后台进程,SylixOS实现替换方案中,需要通信进程构造消息,向后台进程发送请求连接类型的消息。

     如图 2-1所示,后台进程判定消息为请求连接消息时,把该进程端口号加入到进程管理链表中。程序执行结束时,进程需要断开和后台进程的连接,送请求断开连接的消息至后台进程,后台进程把该进程对应的端口号从管理链表中删除。

技术分享

图 2-1请求连接、断开

2.2 信号发送

    DBUS中信号可以实现一种广播的机制,进程发送信号前需构造信号类型消息,然后发送至后台进程,且不需要等待响应消息。

    SylixOS下实现信号发送流程如图 2-2所示,构造信号类型消息,通过UDP发送至后台进程。

技术分享

图 2-2信号发送

2.3 信号接收

    当后台进程接收到信号类型的消息时,遍历所有已经连接到后台的进程,依次转发信号,实现信号的广播功能。

    已经连接到后台的进程需告知自己感兴趣的信号,然后等待消息,信号接收流程图 2-3所示。

技术分享

图 2-3信号接收

2.4 函数调用

     函数调用同信号类似,进程调用函数前需构造消息,消息包括函数名、函数参数以及本进程端口号。然后发送消息至后台进程,阻塞等待函数执行的返回值,流程图 2-4所示。

技术分享

图 2-4函数调用

     后台进程接收到函数调用类型的消息时,先检查该调用函数是否存在,函数存在则转发该消息至对应提供函数的进程,等待执行结果。若检查该调用函数不存在,则返回错误消息到调用函数的进程。后台进程处理流程图 2-5所示。

技术分享

图 2-5后台处理函数调用

2.5 等待函数调用

     等待函数调用,需等待调用消息。接收到后台进程转发的函数调用消息时,解析消息中的参数,然后执行函数,构造返回消息发送至后台进程,执行流程图 2-6所示。

技术分享

图 2-6等待函数调用

2.6 提供函数调用

    提供函数调用的进程需要把函数注册到后台进程,当其他进程调用函数时,后台进程会检查该函数是否存在,若存在则发送消息至目标进程,否则回复错误消息,执行流程图 2-7所示。后台进程接收到该消息,把函数添加到管理链表中。

技术分享

图 2-7提供函数调用

3.小结

    DBUS是一种高效、易用的进程间通信方式。本文档介绍了DBUS的通信原理,以及SylixOS下替换该通信机制的实现方案。本文以信号收发和函数调用模块为框架,介绍了SylixOS下替换DBUS功能具体实现步骤。


sylixos下DBUS替换方案

标签:dbus   sylixos   

热心网友 时间:2022-04-09 18:42

SylixOS是一款为嵌入式系统设计的硬实时操作系统(RTOS)。此系统于2006年开始开发工作。设计之初只是为了验证相关操作系统算法,后来经过多年的持续开发与改进,SylixOS已经不只是一个实时操作系统,它已经成为一个可靠稳定,功能全面,易于开发调试的实时嵌入式系统开发平台(SylixOS至今依然保持以开放源代码的形式存在)。
SylixOS的诞生可以摆脱国内一些关键性设备对国外嵌入式操作系统的依赖,为国内的嵌入式信息技术行业提供一个全新的选择。
目前SylixOS已经成功应用于工业控制与通信、武器装备及*、新能源应用等国家基础领域中。
需要说明的是:为了保证SylixOS能够持续开发,并且吸引大批开发人员参与测试,所以SylixOS目前是以公开源代码项目的形式存在.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
郎酒怎么分辨真假 郎酒买到假的怎么赔偿 如何除掉衣服上的超能胶迹 有什么方法洗掉"502超能胶水"??? 我想买块两三千元的玉,但又不知是否真假.不知玉器鉴别是怎样鉴的? 申请留学时间流程 95595光大银行,光大乐迷联名信用卡金卡额度多少 光大乐视卡是什么信用卡? 乐迷信用卡普卡额度大概是多少? ...sport的英语小作文,主题“打乒乓球”。初中水平 ps怎么画方框(ps怎么画方框线条) QQ和微信如果绑定一共可以绑定几个几个QQ号? 一个人可以申请几个 注册地在深圳八卦岭上市公司 一个QQ号可以同时绑定2个吗 深圳上市公司注册子公司,名称自主申报如何操作? 如何申请第二个?可以用QQ号申请吗? 上海本地股,有没有在深交所上市的,总部在深圳的上市公司,有没在上交所上市的? 如何申请第二个?可以用QQ号申请吗? 一个人可以申请几个(只有一个电话号码,和QQ号码) 有哪些上市公司总部在深圳? 一个手机号,两个QQ号,请问怎样申请两个? 一个qq可以绑定几个? 一个qq号可以绑定几个 一个人可以有几个? 同一个人的手机号和qq号分别能申请两个吗? 别人用我的爱奇艺会员密码登录!请问我的隐私比如短信电话别人会知道吗 用别人爱奇艺会员看电影别人会不会知道我的观看记录 如果我用别人的爱奇艺会员对方能看见 我用别人的爱奇艺会员登录后别人会不会看到我以前没登录以前的播放记 爱奇艺会员我手机办的别人也登录了如果我手机退出登录别人还能用吗? 一个人能有几个码吗? 一个手机号可以注册多少个?一个手机号可以注册多少个QQ号? 一个qq号可以申请多少个,公众号呢?关于微信公众号的申请啊 一个上市公司是不是在哪注册该公司就在哪? 深圳股市有那些企业在深圳上市 一个手机号,两个QQ号,请问怎样申请两个? 温州个人医疗保险怎么交 外地学生户口迁来温州集体怎么交医疗保险? 温州市第三人民医院的社保与医保费在哪里交 温州市区医疗保险交费去哪交啊? 浙江省,温州乐清市的异地医疗保险在那交? 关于温州社保医疗卡的医疗保险问题 温州五险一金在哪里交? 温州个人怎么交社保 温州职工医保要交多少年 中国留学生美国失踪章莹颖是什么专业的 章莹颖是什么背景?为什么那么关注 美国留学生章莹颖案件现在怎样了 在美国留学的章莹颖最近情况怎样 章莹颖还活着?