保障qos的实时linux系统设计

保障qos的实时linux系统设计

ID:34371449

大小:241.38 KB

页数:5页

时间:2019-03-05

保障qos的实时linux系统设计_第1页
保障qos的实时linux系统设计_第2页
保障qos的实时linux系统设计_第3页
保障qos的实时linux系统设计_第4页
保障qos的实时linux系统设计_第5页
资源描述:

《保障qos的实时linux系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、http://www.paper.edu.cn保障QoS的实时Linux系统设计11王永新,刘日升1大连理工大学计算机应用技术系(116023)E-mail:wangyx_cti@yahoo.com.cn摘要:本为了在综合业务网络中保障实时多媒体业务的服务质量(QoS),设计了软实时Linux系统。系统中将网络接受中断的推后执行工作交由工作队列来执行,而非传统的由网络接受软中断处理。工作队列是Linux2.6内核中新增的下半部机制,它与软中断最大的区别在于它可以在进程上下文中处理推后执行的工作。这样,利用Linux2.6内核的进程调度机制,对实时多媒体任务和数据

2、任务实施不同的优先级调度,以保证实时多媒体任务的优先处理而不是尽力而为(BestEffort),保障其服务质量。通过简单的测试证明本系统运行稳定,能够保障实时多媒体业务的服务质量,尤其对解决延迟抖动问题有明显的效果。关键词:实时服务质量内核工作队列1.引言下一代IP网络是以软交换为中心的综合业务网络。随着语音、视频等实时多媒体业务的引入,急切需要网络系统能够提供实时多媒体应用所需的服务质量(QoS)。由于传统IP网络基本上是采用点到点尽力而为型(BestEffort)的服务方式,所以很难有效满足实时多媒体业务的服务质量要求。因此,QoS保障成为下一代IP网络的重

3、要课题。在不同的领域都有改善QoS的研究,例如传输系统、多媒体网络和操作系统。本文从操作系统角度对改善实时多媒体业务的服务质量进行了探讨。Linux2.6内核对于2.4内核有了很大的改进,如进程调度部分:实现了O(1)调度和内核可抢占,提高了调度性能。Linux2.6不是一个实时内核,而这些改变将使Linux转变为实时操作系统(RTOS)成为可能,尤其是提供实时多媒体应用支持的软实时操作系统。在Linux2.6内核中引入了一种新的下半部机制,工作队列。它与其他几种下半部机制最大的区别就是它可以把工作推后,交由一个内核线程去执行,这样该工作总是会在进程上下文执行。

4、这样,通过工作队列执行的代码能占尽进程上下文的所有优势。本文借助IETF的区分服务(DiffServ)策略提供QoS保障的思想,基于工作队列对不同优先级的网络传输业务,设置不同的CPU调度参数。为优先级较高的实时多媒体业务提供优先的调度,从而保障实时多媒体业务的服务质量。[1]2.Linux2.6进程调度分析Linux2.6内核调度系统有两点新特性对实时应用至关重要:内核抢占和O(1)调度,这两点都保证实时进程能在可预计的时间内得到响应。2.1关于O(1)调度Linux2.6调度程序中最基本的数据结构是可执行队列(runqueue)。它是给定处理器上的可执行进程

5、的链表,每一个处理器一个,这样大大的减少了竞争。每个可投入运行的进程都唯一的归属于一个可执行队列。此外,可执行队列还包含每个处理器的调度信息。每个CPU的可执行队列按时间片是否用完分为两部分,即活跃优先级数组和过期优先级数组。它们分别通过runqueue结构中的active指针和expired指针访问,active指向时间片没用完、当前可被调度的优先级数组,expired指向时间片已用完的过期的优先级数组。优先级数组用一个structprio_array的结构表示:structprio_array{intnr_active;/*优先级数目*/unsignedlo

6、ngbitmap[BITMAP_SIZE];/*优先级位图*/-1-http://www.paper.edu.cnstructlist_headqueue[MAX_PRIO];/*优先级队列*/};优先级数组使可运行处理器的每一种优先级都包含一个相应的队列,而这些队列包含对应优先级上的可执行进程链表。优先级数组还拥有一个优先级位图,当需要查找当前系统内拥有最高优先级的可执行进程时,它可以帮助提高效率。许多操作系统在所有时间片都用完时,都采用循环访问每个进程的方法来计算每个进程的时间片。这样有n个进程的系统复杂度可能达到O(n)。Linux2.6内核的调度程序减少

7、了对循环的依赖。活跃数组内的可执行队列上的进程都还有时间片剩余;而过期数组内的可执行队列上的进程都耗尽了时间片。当一个进程的时间片耗尽时,它会被移至过期数组。重新计算时间片变得非常简单,只要在活动和过期数组之间交换指针就可以了。这样复杂度就与系统中的进程数无关,因此是复杂度为O(1)的调度。O(1)调度保证了调度程序采用的每一个算法都能在恒定时间内完成,因此提高了调度效率,有助于提高系统的实时性能。2.2内核抢占Linux2.6内核引入了内核抢占,只要重新调度是安全的,那么内核就可以在任何时间抢占正在执行的内核任务。在上述提到的thread_info数据结构中引

8、入了preempt_co

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。