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

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.kler.cn/a/383599.html

相关文章:

  • 《Java核心技术I》Swing的网格包布局
  • 目标检测——基于yolov8和pyqt的螺栓松动检测系统
  • kimi搜索AI多线程批量生成txt原创文章软件-不需要账号及key
  • 瑞吉外卖项目学习笔记(七)新增菜品、(批量)删除菜品
  • Spring AOP 中记录日志
  • 在linux系统的docker中安装GitLab
  • 数据结构和算法-01背包问题02-背包问题常见解决方案
  • 道品科技智能水肥一体化技术要点及实施效果
  • 运行 lio-sam 定位建图算法,error解决
  • Oracle与SQL Server的语法区别
  • 斯坦福医学部发布GPT润色本子教程
  • CPU算法分析LiteAIServer视频智能分析平台视频智能分析:抖动、过亮与过暗检测技术
  • 【fiddler】用fiddler实现手机抓包
  • 2024版最新CTF资源库分享:CTF入门知识手册、CTF工具、练习靶场。零基础入门到精通,看完这篇就足够了~
  • 【C++】详细介绍:priority_queue的使用、适配器、deque介绍、仿函数
  • OpenHarmony 入门——ArkUI 自定义组件间的父子双向同步状态装饰器@Link语法(四)
  • Java 文件操作与IO流
  • JavaAPI(1)
  • 鸿蒙开发:ArkUI Toggle 组件
  • 计算机网络-网络原理初识
  • yolo继续训练模型
  • 【Linux内存泄漏】自创pamp 内存快照比对定位内存泄漏【2024-11-07】
  • npm镜像的常用操作
  • 职场逆袭!学会管理上司,你也能成为职场赢家
  • C语言 | Leetcode C语言题解之第524题通过删除字母匹配到字典里最长单词
  • 代码随想录算法训练营第二十一天 | LeetCode93.复原IP地址、LeetCode78.子集、LeetCode90.子集II