news 2026/5/26 6:57:09

7、Linux时间管理与进程调度机制解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
7、Linux时间管理与进程调度机制解析

Linux时间管理与进程调度机制解析

1. Linux时间管理架构

Linux内核需要处理多项与时间相关的活动,具体如下:
- 更新系统启动后的已用时间。
- 更新时间和日期。
- 为每个CPU确定当前进程的运行时长,若超出分配时间则进行抢占(时间片分配后续会详细讨论)。
- 更新资源使用统计信息。
- 检查每个软件定时器的时间间隔是否已到。

Linux的时间管理架构由与时间流相关的内核数据结构和函数组成。基于80x86的多处理器机器和单处理器机器的时间管理架构略有不同:
- 单处理器系统中,所有时间管理活动都由全局定时器(可编程间隔定时器或高精度事件定时器)引发的中断触发。
- 多处理器系统中,一般活动(如软件定时器处理)由全局定时器的中断触发,而特定于CPU的活动(如监控当前运行进程的执行时间)由本地APIC定时器的中断触发。

不过,这两种情况的界限有时并不清晰。例如,早期基于Intel 80486处理器的SMP系统没有本地APIC,如今也存在一些有问题的SMP主板,导致本地定时器中断无法使用,此时SMP内核需采用单处理器的时间管理架构;而近期的单处理器系统有本地APIC,单处理器内核也常使用SMP的时间管理架构。为简化描述,我们只讨论两种“纯粹”的时间管理架构。

Linux的时间管理架构还依赖于时间戳计数器(TSC)、ACPI电源管理定时器和高精度事件定时器(HPET)的可用性。内核使用两个基本的时间管理函数:一个用于更新当前时间,另一个用于计算当前秒内已过去的纳秒数。获取后一个值有不同方法,若CPU有时间戳计数器或HPET,可使用更精确的方法;反之则使用不太精确的方法。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 22:09:24

270M参数撬动百亿终端市场:Gemma 3如何开启边缘AI普及化时代

270M参数撬动百亿终端市场:Gemma 3如何开启边缘AI普及化时代 【免费下载链接】gemma-3-270m 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/gemma-3-270m 导语 谷歌Gemma 3 270M模型以2.7亿参数实现"240MB内存占用、25次对话仅耗手机0.75%电量…

作者头像 李华
网站建设 2026/5/26 6:42:05

40亿参数撬动工业级AI:Qwen3-VL-4B-Thinking-FP8重塑多模态落地格局

40亿参数撬动工业级AI:Qwen3-VL-4B-Thinking-FP8重塑多模态落地格局 【免费下载链接】Qwen3-VL-4B-Thinking-FP8 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-VL-4B-Thinking-FP8 导语 阿里通义千问团队推出的Qwen3-VL-4B-Thinking-FP8模型…

作者头像 李华
网站建设 2026/5/26 6:41:33

1.7B参数横扫多模态文档解析!dots.ocr重构企业级OCR范式

1.7B参数横扫多模态文档解析!dots.ocr重构企业级OCR范式 【免费下载链接】dots.ocr 项目地址: https://ai.gitcode.com/hf_mirrors/rednote-hilab/dots.ocr 导语 2025年7月,小红书旗下AI实验室发布的dots.ocr模型以1.7B参数实现文档解析领域突破…

作者头像 李华
网站建设 2026/5/25 16:19:47

GKD订阅管理完整教程:2025年高效配置与使用指南

GKD订阅管理完整教程:2025年高效配置与使用指南 【免费下载链接】GKD_THS_List GKD第三方订阅收录名单 项目地址: https://gitcode.com/gh_mirrors/gk/GKD_THS_List GKD第三方订阅收录名单(GKD_THS_List)是一个专门为GKD用户精心打造的…

作者头像 李华
网站建设 2026/5/25 8:46:09

FF14终极插件框架:Dalamud完整开发指南与实战应用

FF14终极插件框架:Dalamud完整开发指南与实战应用 【免费下载链接】Dalamud FFXIV plugin framework and API 项目地址: https://gitcode.com/GitHub_Trending/da/Dalamud 还在为《最终幻想XIV》中繁琐的操作界面和缺失的功能而苦恼吗?Dalamud插件…

作者头像 李华