论文部分内容阅读
随着IP网络向集成语音和视频等多媒体业务的下一代综合业务网络(NGN)发展,网络服务质量(QoS)问题成为了网络研究的重要课题。本文在操作系统领域对如何支持实时多媒体业务的服务质量进行了探讨。 本文在对Linux 2.6内核进程调度、下半部机制以及网络子系统分析的基础上,通过将网络接受中断的推后工作交由具有实时优先级的内核线程执行,设计并实现了一种能更好的支持实时多媒体业务服务质量的实时Linux系统:QR-Linux(Real-time Linux for QoS)。 硬件中断的推后机制是影响Linux系统实时性能的重要因素。QR-Linux系统中将网络接受中断的推后工作以实时工作队列的形式在进程上下文中运行,因而可抢占和睡眠。对协议栈处理进行显式调度是QR-Linux系统改进网络实时性能的主要手段。据此,QR-Linux的设计思想是:用实时优先级不同的内核线程处理实时业务和非实时业务,利用Linux 2.6提供的内核可抢占式进程调度,保证实时业务相对于非实时业务的优先处理,达到区分服务(DiffServ)的目的,从而提供更好的服务质量。 QR-Linux系统通过修改Linux 2.6.11版本内核实现,主要解决了实时与非实时数据包的区分、实时工作队列的实现和网络接收工作者线程的使用三个关键性问题。之后,重新编译了Linux内核,构造了QR-Linux系统。 最后,在构建的网络测试环境中,利用网络性能评测工具Netperf分别对Linux系统和QR-Linux系统的网络吞吐率和请求/响应交互性能进行了对比测试。测试结果表明QR-Linux系统的实时网络数据包的处理性能明显优于Linux系统,并且保持了可伸缩性(scalable),体现了系统的实时性,能够对实时多媒体业务的服务质量提供支持。 本文中构造的QR-Linux可以作为嵌入式网络设备和终端的实时操作系统应用。