avatar avatar 我的文献 嵌入式消息队列子系统设计与实现 作者 孙骏 单位 电子科技大学 导师 李毅; 童亮 关键词 进程间通信; 多路转接; 消息队列; 超级块; 节点; 目录项
摘要
对linux的systemV和posix消息队列以及进程间通信地实现过程进行了深入研究,在前两种消息队列的基础之上开发出一种新的消息队列,并将研究成果应用于北京某集团公司开发的IPTV机顶盒中的通信子系统。在开发新型消息队列过程中,研究了linux虚拟文件系统的整体架构,各关键元素,以及关键组件之间的联系,并通读了源代码。研究了普通文件系统以及特殊文件系统的安装过程。研究了ext2文件系统,特殊文件系统,设备文件系统,socket,命名管道等模块的源代码。在研究各种文件系统的过程中总结出了各种文件系统实现过程中的共性和各自的特性。简要了解了如何编写设备驱动,linux设备驱动模型以及proc文件系统。同时研究了如何在linux(v2.6)内核标准下编写一个完整的子系统。学习了如何使用内存管理子系统提供给内核其他子系统的接口。简要了解了页高速缓存和slab分配器,以及非规则的内核对象在内核逻辑地址空间的分配过程和存放位置。研究了标准内核启动过程以及产品使用的embedded linux启动过程。在IP机顶盒开发中,需要整合各个应用程序到统一的通信子系统框架中。因此开发了一套以订阅交付模式为基础的机顶盒通信子系统。目前已有的SystemV消息队列和Posix消息队列,两者各有特点。Posix相比SystemV更加标准化同时支持线程级的同步和互斥,但两者都有各自的缺陷。首先,SystemV消息队列不支持异步事件通知(asynchronous event notification)。其次就是两者都不使用真正的描述字——导致在消息队列上使用select和poll的困难。项目中的通信子系统需要用select监控一组socket套结字和一个消息队列解决IP机顶盒上本地进程之间以及本地进程与互联网通信的问题,在吸收SystemV和POSIX消息队列的优点的基础上,同时希望解决两者共有的遗失特性的迫切需要下开发了一套新型的基于文件系统的消息队列。
下载 cnki {{liketext}}
©2018 - iData {{ message }} 关闭