news 2026/8/13 1:58:49

19、定时器与时间服务详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
19、定时器与时间服务详解

定时器与时间服务详解

1. 硬件定时器原理

定时器是一种硬件设备,由时钟源和可编程计数器组成。时钟源通常是晶体振荡器,它会产生周期性的电信号,以精确的频率驱动计数器。计数器被编程设置一个初始的倒计时值,每收到一个时钟信号,计数器的值就减 1。当计数器的值减到 0 时,它会向 CPU 发出一个定时器中断,然后将初始的计数值重新加载到计数器中,再次开始倒计时。计数器的一个完整周期被称为一个定时器滴答(timer tick),这是系统的基本计时单位。

2. PC 中的定时器

基于 Intel x86 的 PC 有多种定时器:
-实时时钟(RTC):由一个小的备用电池供电,即使 PC 关机也能持续运行。它用于记录实时时间,提供日期和时间信息。Linux 启动时,会使用 RTC 更新系统时间变量,该变量是一个长整型数,表示自 1970 年 1 月 1 日 00:00:00 以来经过的秒数。
-可编程间隔定时器(PIT):是一个独立于 CPU 的硬件定时器,可以被编程为以毫秒级的分辨率提供定时器滴答。在所有 I/O 设备中,PIT 以最高优先级 IRQ0 产生中断。Linux 内核的定时器中断处理程序会处理这些中断,为系统操作(如进程调度、进程间隔定时器等)提供基本的计时单位。
-多核 CPU 中的本地定时器:在多核 CPU 中,每个核心都是一个独立的处理器,都有自己由 CPU 时钟驱动的本地定时器。
-高分辨率定时器:大多数 PC 都有一个时间戳计数器(TSC),由系统时钟驱动。其

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

Django开发效率翻倍:5个必知技巧

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 生成一个Django项目优化工具集,包含:1)自动化测试脚本生成器 2)数据库迁移辅助工具 3)API文档自动生成 4)性能分析插件 5)部署配置模板。要求每个工具都能独…

作者头像 李华
网站建设 2026/8/12 11:54:39

开源大模型微调与部署实战指南:从零开始掌握LLaMA Factory工具全流程

文章介绍了开源大模型的概念及LLaMA Factory工具的使用。详细讲解了模型微调流程,包括数据集准备(Alpaca、ShareGPT等多种格式)、训练参数配置、模型合并与量化技术。最后介绍了模型评估、分布式训练以及多种部署方式,如GGUF格式转…

作者头像 李华
网站建设 2026/8/12 12:16:28

Windows Cleaner:5分钟彻底解决C盘空间不足的终极方案

还在为C盘爆红而烦恼吗?Windows Cleaner作为一款专业的Windows系统优化工具,能够快速扫描并清理系统垃圾文件,让你的电脑重获新生。无论是临时文件堆积、浏览器缓存膨胀还是软件残留文件,这款工具都能轻松应对。 【免费下载链接】…

作者头像 李华
网站建设 2026/8/13 16:08:08

Python + Ursina设计一个有趣的3D小游戏

Python Ursina设计一个有趣的3D小游戏 Ursina使用基础知识可见 https://blog.csdn.net/cnds123/article/details/155709276 Python Ursina设计一个有趣的3D小游戏:《天空跑酷:寻找金立方》 项目文件夹结构是这样的: 你的文件夹/ ├──…

作者头像 李华
网站建设 2026/8/12 12:44:15

企业级Spring应用启动失败排查实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Spring应用启动失败案例库,包含:1. 20个典型Failed to load ApplicationContext案例;2. 每种案例的详细分析步骤;3. 解决方案…

作者头像 李华
网站建设 2026/8/12 11:28:45

GeoJSON.io:零基础地理数据编辑工具完全指南

GeoJSON.io:零基础地理数据编辑工具完全指南 【免费下载链接】geojson.io A quick, simple tool for creating, viewing, and sharing spatial data 项目地址: https://gitcode.com/gh_mirrors/ge/geojson.io 你是否曾经面对复杂的地理信息系统软件望而却步&…

作者头像 李华