`
xly_971223
  • 浏览: 1276945 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux定时器和时间管理

阅读更多
linux系统的时间是靠一个叫‘系统定时器’的芯片控制的
系统定时器相当于一个晶振,产生固定的频率,操作系统利用这个固定频率来计时

系统定时器按照一定的频率发送中断信号,这个中断我们叫定时器中断
这个频率值叫节拍率是可配置的,linux 2.5之前节拍率是100
2.5之后提高到了1000HZ
就是说一秒钟产生1000个定时器中断,提高频率的好处是:
系统计时更精确
系统的性能提高了很多

顺便说一下windows的节拍率是100

linux进程调度是完全依赖系统定时器的
进行一次进程调度时需要计算每个进程分配的时间片,这个时间片实际上就是一个有定时器中断来控制的
如有3个进程 A、B、C分配的时间片分别是10ms 20ms 30ms
在当进程AB都用完了时间片 C在使用21ms后程序执行了
这时节拍率为1000的系统会直接进行下一次的进程调度
节拍率为100的系统则会浪费9ms,直到下一次的定时器中断到来时才会重新执行调度
分享到:
评论

相关推荐

    基于Linux定时器管理器

    总结,Linux定时器管理器是操作系统中不可或缺的一部分,它为程序提供了灵活的定时和调度能力。理解和掌握如何添加、删除定时器,以及如何设计和管理定时器,对于编写高效、可靠的系统级软件至关重要。通过对`end_...

    ARM LINUX 定时器驱动程序

    了解了这些基础知识后,我们可以看到,ARM Linux定时器驱动程序的设计和实现涉及到硬件接口、内核定时器框架、中断处理等多个层次的技术细节。编写高效的定时器驱动,需要对硬件特性有深入理解,同时熟悉Linux内核的...

    linux定时器例子

    - **定时器链表** (`LIST_ENTRY`): 用于将定时器插入到定时器链表中,从而实现对定时器的统一管理和调度。 - **定时器ID** (`timer_id`): 每个定时器都有唯一的ID,用于识别不同的定时器。 - **定时器间隔** (`...

    linux下多定时器+线程池的实现(经典)

    //linux只允许单进程拥有一个定时器,因此在linux下的单进程中要使用多个定时器,则需要自己维护管理 // //这个实现允许用户使用多个自定义的定时器,每个自定义的定时器将周期地被触发直到其被删除。实现的主要思路...

    Linux定时器代码

    在这个“Linux定时器代码”主题中,我们将深入探讨与时间相关的开发,特别是与S3C2440 ARM处理器的定时器相关的内容。 首先,S3C2440是一款基于ARM920T内核的微处理器,广泛应用于嵌入式系统,如移动设备和消费电子...

    linux 定时器使用

    总的来说,Linux定时器是系统中不可或缺的一部分,它们提供了一种灵活且高效的方式来控制程序的执行时间,从而实现各种自动化和调度功能。理解和熟练使用Linux定时器,对任何Linux开发者来说都是至关重要的技能。

    linux 定时器 测试可用

    在本示例中,"linux 定时器 测试可用"的标题和描述表明这是一个关于Linux定时器的实践教程,其中包含一个已经验证过的示例代码。下面我们将深入探讨Linux定时器的概念、类型、使用方法以及如何进行测试。 1. **...

    第9章linux信号与定时器

    ### 第9章Linux信号与定时器 #### 一、进程间通信与信号 ...总之,Linux信号和定时器是实现进程间通信和时间管理的关键组件。通过深入理解它们的工作原理和使用方法,开发者可以构建出更加健壮和高效的Linux应用程序。

    实用的Linux c 定时器代码

    在Linux系统中,C语言开发往往需要处理时间相关的任务,比如执行定时操作。"实用的Linux C 定时器代码" 提供了一个名为CTimer的类,它...通过理解和使用CTimer,开发者可以更好地掌握Linux系统编程中的时间管理技术。

    S3C2440 linux 定时器驱动

    以下将详细阐述S3C2440 Linux定时器驱动的相关知识点。 首先,我们来看"ioremap"这个概念。在Linux内核中,ioremap函数用于映射硬件设备的I/O地址到虚拟内存空间,以便于CPU能够以常规方式访问这些硬件寄存器。S3C...

    linux定时器任务详解

    Linux定时器任务详解知识点: 1. Linux中定时器任务的基本概念 在Linux系统中,定时器任务是指用户设置的一系列操作,这些操作按照预定的时间间隔或特定的时间点自动执行。使用定时器任务可以有效地进行周期性的...

    Linux下一种高性能定时器池的实现

    【正文】 在Linux环境下,定时器是不可或缺的工具,它能按照预设的时间点执行特定的任务,广泛应用于各种系统服务和...通过这种方式,开发者可以更加便捷地管理和调度大量定时任务,优化系统的资源利用率和响应速度。

    linux应用程序中定时器的应用

    在Linux定时器应用.pdf文档中,可能详细介绍了如何创建和管理这些定时器,包括设置定时器参数、注册回调函数、处理定时器信号等方面的内容。通过实例代码,读者可以学习如何在自己的程序中实现定时功能,如定时发送...

    linux多定时器多线程

    二、Linux定时器 1. **定时器类型**:Linux提供了两种主要的定时器类型:POSIX定时器(`timer_create()`、`timer_settime()`等)和系统调用`alarm()`、`sleep()`。前者更灵活,支持相对和绝对时间,后者简单但功能...

    一种简单易用的linux的C语言的定时器接口

    总的来说,这个C语言定时器接口为Linux开发者提供了一种高效且灵活的工具,可以方便地管理和调度多个定时任务。通过学习和使用提供的示例,开发者可以更好地掌握定时器的使用,提升软件的实时性和可靠性。在实际应用...

    Linux时间子系统之六:高精度定时器(HRTIMER)的原理和实现 - DroidPhone的专栏 - 博客频道 - CSDN

    总的来说,Linux内核的高精度定时器是通过红黑树数据结构和高效的定时器调度机制实现的,旨在满足那些对时间精度有极端要求的场景。这种设计在提高系统性能的同时,也带来了灵活性,可以根据不同应用场景选择合适的...

    Linux下C语言 定时器

    在实现多线程定时器时,红黑树可以有效地存储和管理定时事件,确保定时精度。 以下是使用`timer_create`创建定时器的基本步骤: 1. **设置定时器参数**:使用`struct itimerspec`结构体定义定时器的初始值和到期值...

    linux定时器底层处理及编程

    ### Linux定时器底层处理及编程 #### 一、Linux内核的时间管理 在Linux操作系统中,时间管理扮演着至关重要的角色。它不仅支撑着整个系统的正常运作,还为各种应用程序和服务提供时间相关的功能支持。本章节将深入...

    Linux定时器应用借鉴.pdf

    总结来说,Linux定时器是操作系统中不可或缺的一部分,它们提供了精确的时间控制,能够帮助开发者进行性能分析、任务调度和资源管理。通过理解和实践Linux定时器,可以提升编写高效、可靠程序的能力。在实际开发中,...

    linux内核源代码分析-定时器与时间管理.ppt

    在Linux内核中,时间管理和定时器扮演着至关重要的角色。时间管理涉及到系统如何跟踪和处理时间事件,而定时器则是这些事件的基础。以下是对相关知识点的详细说明: 1. **内核中的时间概念**: - **事件驱动与时间...

Global site tag (gtag.js) - Google Analytics