会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
flyingnosky
博客园
首页
新随笔
联系
订阅
管理
2026年1月20日
Linux调度分析(9)调度core之IDLE过程
摘要: 当CPU上没有可运行的task时,CPU会执行idle线程,这个过程称为进入idle过程;当有中断产生或其他方式将CPU从idle唤醒,这个过程称为退出idle过程。 IDLE线程在系统启动时创建,PID号是0,它的调度类为idle,优先级最低。 IDLE线程主要做如下: (1) 检查是否进行idl
阅读全文
posted @ 2026-01-20 12:14 耳朵一样
阅读(1)
评论(0)
推荐(0)
2026年1月19日
Linux调度分析(8)调度core之调度时钟
摘要: 调度时钟为调度的硬件基础,它为per-CPU设备。在ARM64中为arch_timer,13号中断。 调度时钟的模式arch_timer CONFIG_HZ_PERIODIC=y: 不忽略任何调度时钟,导致比较耗电 CONFIG_NO_HZ_IDLE=y:对于idle CPU忽略调度时钟 CONFI
阅读全文
posted @ 2026-01-19 20:22 耳朵一样
阅读(2)
评论(0)
推荐(0)
2026年1月13日
Linux调度分析(7)调度core之调度过程
摘要: 无论主动调度还是被动调度,最终通过__schedule()函数实现。操作如下: (1) 若idle过程退出时schedule,对于SCX不使能时,没有可运行的task,此时选择prev task作为下一个task运行;否则步骤(2); (2) 调用pick_next_task()选择下一个task运
阅读全文
posted @ 2026-01-13 12:00 耳朵一样
阅读(3)
评论(0)
推荐(0)
2026年1月7日
Linux调度分析(6)调度core之调度时机
摘要: 为了提供系统的利用率,在某个线程由于资源或条件没有达到时,通常会选择让其让出CPU,让其他的线程运行,这个过程成为调度过程。 线程被调度的时机有如下情况: (1)进程主动调用schedule()函数; (2)周期性调度,抢占当前进程,强迫当前进程让出处理器; (3)唤醒进程的时候,被唤醒的进程可能抢
阅读全文
posted @ 2026-01-07 20:05 耳朵一样
阅读(4)
评论(0)
推荐(0)
Linux调度分析(5)调度core之唤醒过程
摘要: 唤醒流程 当某个线程由于某些原因比如资源不满足需要让出CPU时,它会通过schedule()或sleep()等让该线程让出CPU,让其他线程运行。当某个线程的资源满足时,其他线程通过Wake_up_process()唤醒这个休眠的线程。 唤醒流程如下(其中蓝色部分是特定调度器需要实现填充的): (1
阅读全文
posted @ 2026-01-07 11:22 耳朵一样
阅读(11)
评论(0)
推荐(0)
2026年1月6日
Linux调度分析(4)调度core之简介
摘要: 调度Core是调度的核心框架,它负载调度整个过程的框架,而不同的调度类负责填充调度core的回调接口,做最终不同调度类的调度决定。 调度类分类 目前的调度类从优先级依次下降为: stop调度类 最高优先级调度类,不会被抢占。通常task migration等线程使用该调度类 deadline调度类
阅读全文
posted @ 2026-01-06 11:18 耳朵一样
阅读(10)
评论(0)
推荐(0)
2026年1月4日
Linux调度分析(3)调度内核API介绍
摘要: Linux调度用户态API用于用户态使用,而Linux调度内核API用于内核中其他模块使用。调度内核API有很多,这里主要介绍常用的几个API以及用法: wake_up_process() 唤醒某个线程p。当线程p已经在运行,返回0;当线程p被唤醒,返回1。 schedule() 从当前线程尝试切换
阅读全文
posted @ 2026-01-04 12:42 耳朵一样
阅读(9)
评论(0)
推荐(0)
2025年12月30日
Linux调度分析(2)调度用户态API介绍
摘要: Linux调度的实现在内核中,但用户态可以通过调度相关的systemcall可以进行调度相关的设置。这些设置包括: 设置调度策略 设置调度策略通过系统调用函数sched_setscheduler()实现,它的函数定义如下: SYSCALL_DEFINE3(sched_setscheduler, pi
阅读全文
posted @ 2025-12-30 10:10 耳朵一样
阅读(32)
评论(0)
推荐(0)
2025年12月29日
Linux调度分析(1)调度框架介绍
摘要: Linux调度是Linux内核进程管理的重要组成部分。它产生的原因是为了提高系统的利用率。当进程在等待某些资源时,可以暂时放弃运行当前CPU的占用,让其他线程执行,待资源ready后再唤醒该进程,从而提高利用率。 在进程调度过程中,需要确定如何选择下一个task运行以及下一个task运行多长时间,这
阅读全文
posted @ 2025-12-29 16:30 耳朵一样
阅读(19)
评论(0)
推荐(0)
2025年7月7日
adeb环境搭建
摘要: adeb (androdeb)能够在andriod设备上提供一个可以运行linux shell(debian-like)的环境。更详细的可以看(adeb/README.md at master · joelagnel/adeb)。 1 基本操作 要运行起来一个基本的debian-like环境,可以直
阅读全文
posted @ 2025-07-07 12:01 耳朵一样
阅读(43)
评论(0)
推荐(1)
公告