基于SCO UnixWare的用户级实时消息队列设计与高效实现

需积分: 5 0 下载量 155 浏览量 更新于2024-08-11 收藏 278KB PDF 举报
实时消息队列作为一种进程间通信(IPC)在POSIX标准(版本1)中得到了定义,但对于当时的SCO UnixWare 7.1.3版本而言,其并未提供这种功能。针对这一局限,论文《基于SCO Unix Ware的实时消息队列设计与实现》由吴舜散、李洪海等人在2004年发表于四川大学学报(自然科学版),探讨了一种在用户级别利用存储映射I/O和System V消息队列来构建实时消息队列的方法。 论文作者提出的方法旨在解决传统Unix操作系统,如UnixWare,由于其设计初衷偏向于公平性和高吞吐量的分时操作,而在处理实时应用时存在的问题。这些问题包括内核资源不可剥夺、优先级倒置、分时调度算法无法满足实时需求以及System V消息队列对实时通信的支持不足。在UnixWare 7.1.3的背景下,这些限制使得在内核层面实现软实时服务变得困难,因此作者选择在用户级别实现解决方案。 实时消息队列的设计目标在于提供高效的进程间实时通信,这对于许多计算机应用中的软实时需求尤其重要,因为据调查,约30%的应用需要软实时特性,而只有10%涉及硬实时。UnixWare作为Unix的一个变种,凭借其庞大的开发者社区、丰富的工具集、成熟的网络和数据库支持,以及可移植性优势,使其成为在现有系统上提供软实时服务的理想平台。 论文的核心内容包括实时消息队列的特性和实现过程,例如它支持消息的实时传输,允许进程之间通过`msg*`函数进行高效通信。作者设计的实现方案将传统的System V消息队列与存储映射I/O技术相结合,以优化性能并避免内核级的实时限制。经过在SCO UnixWare 7.1.3上的测试,这种方法证明了其在用户级别实现实时消息队列的有效性和实用性。 总结来说,这篇论文主要贡献在于提出了一种在SCO UnixWare环境中通过用户级别技术扩展实时消息队列的能力,这为那些寻求在已有Unix系统上满足软实时应用需求的开发者提供了一种可行的解决方案。通过这种方式,UnixWare能够更好地适应日益增长的实时应用市场,提升了其在竞争激烈的操作系统领域的价值。