Linux的动态定时器-时间轮
Linux 时间 动态 定时器
2023-09-11 14:20:54 时间
定时器—有时也称为动态定时器或内核定时器—是管理内核时间的基础。定时器是一种软件功能,即允许在将来的某个时刻,函数在给定的时间间隔用完时被调用。注意的是定时器并不会周期运行,它在超时后就自行销毁,这也是定时器被称为动态定时器的一个原因。动态定时器不断地创建和销毁,而且它的运行次数也不受限制。
定时器在内核代码中属于一个基础组件。要想完全弄清楚linux2.6中内核定时器的实现,得先从初始化开始。
在start_kernel(void)-- init_timers(void)
int err = timer_cpu_notify( timers_nb, (unsigned long)CPU_UP_PREPARE, (void *)(long)smp_processor_id()); init_timer_stats(); BUG_ON(err == NOTIFY_BAD); register_cpu_notifier( timers_nb); open_softirq(TIMER_SOFTIRQ, run_timer_softirq); 在timer_cpu_notify( timers_nb,(unsigned long)CPU_UP_PREPARE, (void*)(long)smp_processor_id());
这段代码的主体是base,base的定义是:structtvec_base *base; 这个tvec_base是动态定时器的主要数据结构,每个cpu上有一个,它包含相应cpu中处理动态定时器需要的所有数据。为简化分析仅考虑单cpu。给出这个数据机构:
7.16 Linux函数库(静态函数库和动态函数库)及其安装过程 Linux 系统中存在大量的函数库。简单来讲,函数库就是一些函数的集合,每个函数都具有独立的功能且能被外界调用。我们在编写代码时,有些功能根本不需要自己实现,直接调用函数库中的函数即可。
阿里云上利用virtiope+colinux实现linux系统盘动态无损多分区 本文关键字:利用colinx+virtio winpe定制aliyun多分区linux系统盘,在winpe xp winpe中运行colinux,在windows pe下真正操作linux分区,利用colinux作单硬盘分区扩容无损分区, bootice安装grub2-00 到硬盘,云主机越狱装自定义镜像
虚拟机安装linux获取动态ip 本人在使用vm安装linux时,获取不到ip,获取的ip和本机ip不在同一网段。 1、拷贝其他电脑安装好的centos,之前的centos是配置静态ip的,改成动态获取ip还是获取不到ip。
Linux - 挂载磁盘 + 通过LVM动态实现磁盘的动态扩容 Linux - 挂载磁盘 + 通过LVM动态实现磁盘的动态扩容1 LVM是什么1.1 概念解释LVM(Logical Volume Manager), 逻辑卷管理, 是一种将一至多个硬盘的分区在逻辑上进行组合, 当成一个大硬盘来使用.
int err = timer_cpu_notify( timers_nb, (unsigned long)CPU_UP_PREPARE, (void *)(long)smp_processor_id()); init_timer_stats(); BUG_ON(err == NOTIFY_BAD); register_cpu_notifier( timers_nb); open_softirq(TIMER_SOFTIRQ, run_timer_softirq); 在timer_cpu_notify( timers_nb,(unsigned long)CPU_UP_PREPARE, (void*)(long)smp_processor_id());
这段代码的主体是base,base的定义是:structtvec_base *base; 这个tvec_base是动态定时器的主要数据结构,每个cpu上有一个,它包含相应cpu中处理动态定时器需要的所有数据。为简化分析仅考虑单cpu。给出这个数据机构:
7.16 Linux函数库(静态函数库和动态函数库)及其安装过程 Linux 系统中存在大量的函数库。简单来讲,函数库就是一些函数的集合,每个函数都具有独立的功能且能被外界调用。我们在编写代码时,有些功能根本不需要自己实现,直接调用函数库中的函数即可。
阿里云上利用virtiope+colinux实现linux系统盘动态无损多分区 本文关键字:利用colinx+virtio winpe定制aliyun多分区linux系统盘,在winpe xp winpe中运行colinux,在windows pe下真正操作linux分区,利用colinux作单硬盘分区扩容无损分区, bootice安装grub2-00 到硬盘,云主机越狱装自定义镜像
虚拟机安装linux获取动态ip 本人在使用vm安装linux时,获取不到ip,获取的ip和本机ip不在同一网段。 1、拷贝其他电脑安装好的centos,之前的centos是配置静态ip的,改成动态获取ip还是获取不到ip。
Linux - 挂载磁盘 + 通过LVM动态实现磁盘的动态扩容 Linux - 挂载磁盘 + 通过LVM动态实现磁盘的动态扩容1 LVM是什么1.1 概念解释LVM(Logical Volume Manager), 逻辑卷管理, 是一种将一至多个硬盘的分区在逻辑上进行组合, 当成一个大硬盘来使用.
相关文章
- linux pdb调试总结
- Linux Command tree 树状图
- STM32MP157 Linux系统移植开发篇1:linux系统移植前说明及源码编译
- 戴文的Linux内核专题:22 配置内核 (18)
- Linux 有问必答:如何使用yum来下载RPM包而不进行安装
- C语言计算时间函数 & 理解linux time命令的输出中“real”“user”“sys”的真正含义
- 用navicat访问linux数据库,成功实现Navicat访问Linux中安装的MySQL数据库
- Linux上Nginx部署配置--二级域名配置
- linux系统调用和库函数调用的区别
- 《嵌入式 Linux C 语言应用程序设计(修订版)》——本章小结
- 修改 linux 默认字符集
- linux 位操作
- Linux中使用expect脚本实现远程机器自动登录_linux shell
- Linux-CentOS 6.5 mini 中没有curses.h的问题
- Linux-028-Python Anaconda 安装配置
- Linux获取当前时间
- linux c 编程 ------ 获取时间,计算程序执行时间
- 优化Linux下的内核TCP参数以提高系统性能
- Linux文件颜色
- 嵌入式Linux开发环境的搭建
- linux学习笔记(27)时间同步,chrony,ntp
- linux histroy显示时间
- LINUX中的ACL
- 一行命令实现在Linux中快速部署桌面远程连接和安装多种虚拟机制作操作系统镜像,附使用教程和部署脚本