当前位置: 首页 > news >正文

linux 进程调度学习笔记

https://zhuanlan.zhihu.com/p/1248579228

吐血整理 | 肝翻 Linux 进程调度所有知识点

执行调度

Kernel 判断当前进程标记是否为 TIF_NEED_RESCHED,是的话调用 schedule 函数,执行调度,切换上下文,这也是上面抢占(preempt)机制的本质。那么在哪些情况下会执行 schedule 呢?

  1. 用户态抢占

ret_to_user 是异常触发,系统调用,中断处理完成后都会调用的函数。

el0_sync 是 ARM 架构中处理来自 EL0(用户模式)同步异常的入口点。同步异常是指那些在执行特定指令时立即触发的异常,而不是由外部事件(如中断)引起的异常。同步异常的例子包括软件中断(SWI/SVC)、未定义指令、预取中止和数据中止等。

图片

  1. 内核态抢占

 el1_irq 是 ARMv8-A 架构中处理来自 EL1(内核模式)的中断(IRQ)的异常处理入口

图片

可以看出无论是用户态抢占,还是内核态抢占,最终都会调用 schedule 函数来执行真正的调度:

图片


http://www.mrgr.cn/news/68025.html

相关文章:

  • “2048”游戏网页版html+css+js
  • 【字符串匹配算法】BF与KMP算法
  • 大数据之多级缓存方案
  • Charles抓包_Android
  • Python数据可视化seaborn
  • 导出列表数据到Excel并下载
  • 迭代解法:Jacobi、Gauss-Seidel、SOR
  • CPU Study - Branch Prediction
  • java单例模式
  • 使用LoRA 对千问70B模型进行微调
  • R7:糖尿病预测模型优化探索
  • MinGW-w64_10.0.0 + GCC12_x86_64-12.2.0-release-posix-seh-msvcrt-rt_v10-rev2.zip
  • 怎么快速区分金媒10.3和10.4旗舰版小程序,如果只看数字你就out了表面被忽悠教新手几招!
  • lua入门教程:随机数
  • MOE(Mixture of Experts,混合专家)
  • TESSY学习笔记—project view界面的架构
  • Webserver(4.9)本地套接字的通信
  • adb shell常用命令
  • [复健计划][紫书]Chapter 7 暴力求解法
  • 今日 AI 简报|微软推出通用多智能体系统,支持语音克隆的开源TTS模型,Android 自动化评估等
  • 关于 RK3588多屏显示的时候第二屏幕出现无法矫正的x坐标偏移 的解决方法
  • 哈夫曼编码的实现
  • Android CCodec Codec2 (二十)C2Buffer与Codec2Buffer
  • Linux网络命令:用于查看和修改路由表的重要工具ip route 详解
  • esp32记录一次错误
  • 基于SpringBoot的社区讯息服务小程序【附源码】