科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux 2.6任务调度器及其重要属性 (3)

Linux 2.6任务调度器及其重要属性 (3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

2.6 版本调度器的源代码都很好地封装到了 /usr/src/linux/kernel/sched.c 文件中。我们在表 1 中对在这个文件中可以找到的一些有用的函数进行了总结。

作者:M. Tim Jones 来源:IBM DW中国 2007年11月1日

关键字: 属性 调度 任务 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

挖掘更多潜能

2.6 版本调度器的源代码都很好地封装到了 /usr/src/linux/kernel/sched.c 文件中。我们在表 1 中对在这个文件中可以找到的一些有用的函数进行了总结。

表 1. Linux 2.6 调度器的功能 函数名 函数说明

schedule 调度器主函数。调度优先级最高的任务执行。

load_balance 检查 CPU,查看是否存在不均衡的情况,如果不均衡,就试图迁移任务。

effective_prio 返回任务的有效优先级(基于静态策略,但是可以包含任何奖励和惩罚)。

recalc_task_prio 根据任务的空闲时间确定对任务的奖励或惩罚。

source_load 适当地计算源 CPU(任务从中迁移出的 CPU)的负载。

target_load 公平地计算目标 CPU(任务可能迁移到的 CPU)的负载。

migration_thread 在 CPU 之间迁移任务的高优先级的系统线程。

运行队列的结构也可以在 /usr/src/linux/kernel/sched.c 文件中找到。2.6 版本的调度器还可以提供一些统计信息(如果启用了 CONFIG_SCHEDSTATS)。这些统计信息可以从 /proc 文件系统中的 /proc/schedstat 看到,它为系统中的每个 CPU 都提供了很多数据,包括负载均衡和进程迁移的统计信息。

展望

Linux 2.6 调度器从早先的 Linux 调度器已经跨越了一大步。它极大地改善了最大化利用 CPU 的能力,同时还为用户提供了很好的响应体验。抢占和对多处理器体系架构的更好支持使整个系统更接近于多桌面和实时系统都非常有用的操作系统。Linux 2.8 版本的内核现在谈论还为时尚早,但是从 2.6 版本的变化中,我们可以期望会有更多的好东西。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章