Fork me on GitHub
侧边栏
上一页 1 ··· 109 110 111 112 113 114 115 116 117 ··· 135 下一页
摘要: 1. 3种系统架构与2种存储器共享方式 1.1 架构概述 从系统架构来看,目前的商用服务器大体可以分为三类 对称多处理器结构(SMP:Symmetric Multi Processor) 非一致存储访问结构(NUMA:Non Uniform Memory Access) 海量并行处理结构(MPP:M 阅读全文
posted @ 2018-11-18 23:20 yooooooo 阅读(2661) 评论(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 阅读(883) 评论(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 阅读(1761) 评论(0) 推荐(0)
摘要: 1. CFS如何选择最合适的进程 每个调度器类sched_class都必须提供一个pick_next_task函数用以在就绪队列中选择一个最优的进程来等待调度, 而我们的CFS调度器类中, 选择下一个将要运行的进程由pick_next_task_fair函数来完成 之前我们在将主调度器的时候, 主调 阅读全文
posted @ 2018-11-18 10:19 yooooooo 阅读(2282) 评论(1) 推荐(1)
摘要: 1. CFS进程入队和出队 完全公平调度器CFS中有两个函数可用来增删队列的成员:enqueue_task_fair和dequeue_task_fair分别用来向CFS就绪队列中添加或者删除进程 2 enqueue_task_fair入队操作 2.1 enque_task_fair函数 向就绪队列中 阅读全文
posted @ 2018-11-12 16:31 yooooooo 阅读(2173) 评论(0) 推荐(1)
摘要: 1 虚拟运行时间(今日内容提醒) 1.1 虚拟运行时间的引入 CFS为了实现公平,必须惩罚当前正在运行的进程,以使那些正在等待的进程下次被调度。 具体实现时,CFS通过每个进程的虚拟运行时间(vruntime)来衡量哪个进程最值得被调度。 CFS中的就绪队列是一棵以vruntime为键值的红黑树,虚 阅读全文
posted @ 2018-11-12 15:37 yooooooo 阅读(2892) 评论(0) 推荐(0)
摘要: 1. 负荷权重 1.1 负荷权重结构struct load_weight 负荷权重用struct load_weight数据结构来表示, 保存着进程权重值weight。其定义在/include/linux/sched.h, v=4.6, L1195, 如下所示 struct load_weight 阅读全文
posted @ 2018-11-10 22:27 yooooooo 阅读(2830) 评论(0) 推荐(1)
摘要: 1. 唤醒抢占 当在try_to_wake_up/wake_up_process和wake_up_new_task中唤醒进程时, 内核使用全局check_preempt_curr看看是否进程可以抢占当前进程可以抢占当前运行的进程. 请注意该过程不涉及核心调度器. 每个调度器类都因应该实现一个chec 阅读全文
posted @ 2018-11-09 09:55 yooooooo 阅读(3089) 评论(0) 推荐(0)
摘要: 1. linux优先级的表示 1.1 优先级的内核表示 linux优先级概述 在用户空间通过nice命令设置进程的静态优先级, 这在内部会调用nice系统调用, 进程的nice值在 20~+19之间. 值越低优先级越高. setpriority系统调用也可以用来设置进程的优先级. 它不仅能够修改单个 阅读全文
posted @ 2018-11-08 20:42 yooooooo 阅读(1794) 评论(0) 推荐(0)
上一页 1 ··· 109 110 111 112 113 114 115 116 117 ··· 135 下一页