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

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,可使用更精确的方法;反之则使用不太精确的方法。

http://www.cnnetsun.cn/news/45372.html

相关文章:

  • 如何快速掌握vue-admin-better:企业级后台管理系统的完整实战指南
  • 如何在AMD GPU上快速部署Ollama:5分钟极速指南
  • Snap.Hutao:原神玩家的智能游戏管家完整使用教程
  • Android下载性能深度优化:从基础架构到极致性能的突破之路
  • RPALite:终极Python桌面自动化完整指南
  • BERTopic金融文本分析实战指南:3大模块+4个技巧实现智能风险监控
  • 5分钟快速上手:OFD转PDF工具完整使用教程
  • Qdrant向量数据库自动化运维指南:零停机时间实战手册
  • 16、Unix系统的使用困境与编程环境剖析
  • Jellyfin Android TV完整指南:免费打造专属家庭影院系统
  • 22、Unix系统管理与安全问题深度剖析
  • Cookie Monster终极指南:Cookie Clicker游戏增强插件完全教程
  • Spring AI流式记忆管理:5个实战技巧彻底解决多用户对话混乱
  • OpenRGB终极指南:一站式解决多品牌RGB设备控制难题
  • 博德之门3模组管理器终极配置指南:5分钟搞定所有设置
  • 34、Bash Shell脚本编程入门
  • 40、Linux系统性能监控与优化指南
  • ScienceDecrypting:CAJ转PDF的终极解决方案,让学术文献转换快速免费
  • 258M参数掀起效率革命:IBM Granite Docling重塑文档智能处理范式
  • 城通网盘极速下载全攻略:5步解锁直连加速方案
  • Edge TTS实战指南:解锁微软语音合成的无限潜能
  • Gearboy模拟器完整指南:在电脑上免费畅玩GBA经典游戏
  • 3分钟上手!Dart Simple Live直播聚合神器全面评测
  • MPV_lazy懒人包配置完整指南:从入门到精通的Windows播放器优化
  • Yuzu版本管理终极指南:从下载到多版本切换的完整解决方案
  • ComfyUI-WanVideoWrapper终极指南:快速上手AI视频生成与编辑
  • 文档格式转换工具的技术创新与应用实践
  • Jellyfin Android TV客户端完整使用手册:构建个人媒体中心
  • Obsidian代码块美化插件完整指南:打造专业级技术笔记
  • Wallpaper Engine资源提取神器:3步学会RePKG的完整使用指南