Linux操作系统实时性能测试与分析
时间:2020-10-18 07:59:32 来源:达达文档网 本文已影响 人
摘要:通过测试比较两版Linux内核所表现出的实时性能。总结了改进Linux操作系统实时性的方法。
关键词:Linux内核 实时性能 实时操作系统
中图分类号:TP16.2
文献标识码:A 文章编号:1002-2422(2007)06-0058-02
1 Linux 2.6与Linux 2.4实时性能比较
Linux 2.4(以下简称“2.4”版)中,所有就绪进程被放在同一队列,进程之间无顺序关系,选择一个优先级最高的进程需要遍历整个就绪队列。调度任务所花费的时间很长。当系统负载非常重时,处理器会因调度消耗掉大量时间,用于任务执行的时间就非常少了。
Linux 2.6(以下简称“2.6版”)内核的调度器经过重写,其显著的特点是根据就绪队列是否用完其时间片分为active和expired队列。前者由时间片未用完的进程组成,后者由已用完时间片的进程组成。一个进程的时间片耗尽后,内核将其放入expired队列并重算其时间片。active队列为空时,通过调换两队列的指针便可实现就绪队列的互换。优先级队列结构中还包括一个优先级位图。优先级为N的进程就绪时,位图中对应的位N置1。要查找系统中最高优先级进程时,此位图可在恒定时间内找到该进程。
下面对2.4版及2.6版的调度器性能进行测试,测试工具选用HackBench。在两种内核环境下创建1~50组进程,如图1。