Fork me on GitHub
侧边栏
摘要: 1. 3种系统架构与2种存储器共享方式 1.1 架构概述 从系统架构来看,目前的商用服务器大体可以分为三类 对称多处理器结构(SMP:Symmetric Multi Processor) 非一致存储访问结构(NUMA:Non Uniform Memory Access) 海量并行处理结构(MPP:M 阅读全文
posted @ 2018-11-18 23:20 yooooooo 阅读(2662) 评论(0) 推荐(1)
摘要: 按照POSIX标准的强制要求,除了“普通”进程之外, Linux还支持两种实时调度类。调度器结构使得实时进程可以平滑地集成到内核中,而无需修改核心调度器,这显然是调度类带来的好处。 现在比较适合于回想一些很久以前讨论过的事实。实时进程的特点在于其优先级比普通进程高,对应地,其static_prio值 阅读全文
posted @ 2018-11-18 16:45 yooooooo 阅读(1117) 评论(0) 推荐(0)
摘要: 我们也讲解了CFS的很多进程操作 信息 函数 描述 进程入队/出队 enqueue_task_fair/dequeue_task_fair 向CFS的就读队列中添加删除进程 选择最优进程(主调度器) pick_next_task_fair 主调度器会按照如下顺序调度 schedule -> __sc 阅读全文
posted @ 2018-11-18 11:47 yooooooo 阅读(885) 评论(0) 推荐(1)
摘要: 1. CFS如何处理周期性调度器 周期性调度器的工作由scheduler_tick函数完成(定义在kernel/sched/core.c, line 2910), 在scheduler_tick中周期性调度器通过调用curr进程所属调度器类sched_class的task_tick函数完成周期性调度 阅读全文
posted @ 2018-11-18 11:30 yooooooo 阅读(1762) 评论(0) 推荐(0)
摘要: 1. CFS如何选择最合适的进程 每个调度器类sched_class都必须提供一个pick_next_task函数用以在就绪队列中选择一个最优的进程来等待调度, 而我们的CFS调度器类中, 选择下一个将要运行的进程由pick_next_task_fair函数来完成 之前我们在将主调度器的时候, 主调 阅读全文
posted @ 2018-11-18 10:19 yooooooo 阅读(2282) 评论(1) 推荐(1)