打印

QNX透明分布式处理

[复制链接]
145|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2024-2-28 17:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
QNX透明分布式处理,原理很简单,就是打通两个QNX之间的消息传递,让一个QNX系统里的进程 ,可以跟另一个QNX系统里的进程,进行“透明“的信息传递。透明的意思是,进程不需要做什么特殊的更改,就可以直接和远程的进程通信了。
我们来看看,在两个QNX系统之间的播放器可以怎么工作?


比如上图,我们有一个叫 “phone” 的QNX系统,还有一个叫“smartspeaker”的QNX系统,通过透明分布式处理已经互相连上了。这意味着,“phone”里的进程 ,除了可以通过“phone”里的消息传递总线,跟phone里的驱动、子系统通信外;还可以直接跟smartspeaker里的驱动、子系统进行通信
我们可以看到,只有phone里有本地音乐播放器。这个播放器,可以如前述一样在phone里播放本地音乐。
  • 发消息给 phone 的Audio 驱动,请求使用Audio通道
  • 发消息给phone的文件系统,请求打开被选中的歌(文件)
  • 发消息给phone的文件系统,请求顺序读取被打开的文件
  • 解码读取到的数据
  • 把数据发给phone的Audio驱动,由Audio驱动去控制Audio芯片,播放歌曲
  • 发消息给phone的显示屏,更新显示屏上的信息(播放时间,剩余时间,歌词 …)
  • 重复上述3-6,直到文件读完为止
但如果在7)里面,突然决定这首歌需要在smartspeaker上播出会怎么样呢?
  • 发消息给smartspeaker的Audio驱动,请求使用Audio通道
  • 发消息给phone的文件系统,请求顺序读取被打开的文件
  • 解码读取到的数据
  • 把数据发给准备好了的smartspeaker的Audio驱动,由Audio驱动去控制Audio芯片,播放歌曲
  • 发消息给phone的显示屏,更新显示屏上的信息(播放时间,剩余时间,歌词 …)
  • 重复9-12,直到文件读完为止
所以,只要把数据(通过消息传透,经过透明分布总线)发送给另一台机器的Audio驱动,就可以在远程播放出声音来了。而播放器程序本身,不需要做任何的更改。甚至不需要专门的网络通信代码。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1314

主题

12271

帖子

53

粉丝