news 2026/6/10 12:43:48

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/6/10 10:54:17

简单三步掌握Gofile高速下载神器

简单三步掌握Gofile高速下载神器 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 还在为从Gofile平台下载文件而烦恼吗?这款名为gofile-downloader的Python下载工…

作者头像 李华
网站建设 2026/6/10 10:49:31

11、Linux系统中的信号处理与虚拟文件系统详解

Linux系统中的信号处理与虚拟文件系统详解 1. 信号处理相关系统调用 在用户模式下运行的程序可以发送和接收信号,为此定义了一系列系统调用。不过由于历史原因,存在一些功能基本相同的系统调用,导致部分系统调用几乎不会被使用。例如, sys_sigaction() 和 sys_rt_siga…

作者头像 李华
网站建设 2026/6/10 10:49:46

12、文件锁与I/O架构及设备驱动详解

文件锁与I/O架构及设备驱动详解 1. 文件锁概述 当多个进程可以访问同一个文件时,会出现同步问题。例如,两个进程同时尝试写入同一文件位置,或者一个进程正在写入文件时另一个进程进行读取操作,在传统Unix系统中,这些并发访问同一文件位置的操作会产生不可预测的结果。不…

作者头像 李华
网站建设 2026/6/9 22:39:52

阿里Wan2.2开源:AI视频生成如何重塑内容创作生态?

在数字内容爆炸的时代,视频创作正经历从"专业门槛"到"人人可及"的历史性转变。阿里最新开源的Wan2.2视频生成模型,凭借其创新的技术架构和卓越的生成质量,正在为创作者开启全新的可能。 【免费下载链接】Wan2.2-T2V-A14B…

作者头像 李华
网站建设 2026/6/10 12:31:08

Obsidian代码块美化终极指南:从基础到专业的快速升级方案

你是否曾经在Obsidian中编写技术笔记时,面对单调的代码块感到无从下手?原生的代码块功能虽然实用,但在美观性和功能性上确实存在诸多局限。今天,我们将为你揭秘如何通过Better CodeBlock插件,让代码块瞬间提升专业水准…

作者头像 李华
网站建设 2026/6/10 12:24:53

CosyVoice部署终极指南:从入门到精通的全链路解析

CosyVoice部署终极指南:从入门到精通的全链路解析 【免费下载链接】CosyVoice Multi-lingual large voice generation model, providing inference, training and deployment full-stack ability. 项目地址: https://gitcode.com/gh_mirrors/cos/CosyVoice 在…

作者头像 李华