日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Linux 內核開發 - 內核定時器

Linux 內核開發 - 內核定時器

來源:程序員人生   發布時間:2014-09-09 03:46:48 閱讀次數:2808次

時間差的度量

系統的定時器硬件以固定的頻率產生時鐘中斷,產生始終中斷的間隔以HZ 常量來決定,通常在50~1200之間,x86默認是1000,HZ可以根據不同的內核來配置。
Linux 采用jiffies (unsigned long)來對時鐘中斷進行計數,每當發生時鐘中斷時jiffies的值將+1,因此jiffies就記錄了系統開機以來的時鐘中斷總次數。在驅動開發過程中經常會使用時鐘中斷來計算不同事件的時間間隔。

延遲執行

對于不精確的時間延遲要求,可以使用while 循環來計算延遲的時間。
//延遲10秒
unsigned long j = jiffies + 10 * HZ; while(jiffies < j) { // do something. }

內核定時器

內核定時器用于控制每個函數在未來的某個時間點執行。內核定時器被注冊后只能執行一次,如果尚未到達執行目標函數的時間點就刪除該定時器,那么目標函數將不能被執行。


內核定時器使用的數據結構(不同內核定時事件以雙向鏈表的形式連接起來):
struct timer_list { struct list_head entry; //鏈表頭 unsigned long expires; //延遲的時間 struct tvec_base *base; void (*function)(unsigned long); //目標函數,定時時間到達時會被調用 unsigned long data; //目標函數攜帶的數據 …… };
  • init_timer(struct timer_list *timer) //初始化timer事件
  • void add_timer(struct timer_list *timer) //添加定時事件
  • int del_timer(struct timer_list *timer) //刪除定時事件
范例:
#include <linux/module.h> #include <linux/init.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("Jack Chen"); MODULE_DESCRIPTION("Hello World"); MODULE_ALIAS("A simple module"); MODULE_VERSION("V1.0"); struct timer_list timer; static void _function(int data) { printk("<3> time is up data:%d ",data); } static int timer_init() { init_timer(&timer); timer.expires = jiffies + 5*HZ; timer.function = _function; timer.data = 10; add_timer(&timer); return 0; } static void timer_exit() { del_timer(&timer); } module_init(timer_init); module_exit(timer_exit);



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美久久精品 | 欧美激情亚洲 | 午夜久久 | a在线免费观看 | 国产亚洲精品精品国产亚洲综合 | 国产一区二区三区免费观看 | 成年人视频网站 | 操操碰 | 欧美日韩色 | 国产午夜精品一区二区三区欧美 | 欧美日韩精品在线观看 | 自拍视频一区二区三区 | 麻豆视频国产 | 国产精品hongkong在线 | av九九| 欧美中文字幕在线视频 | 免费看成人吃奶视频在线 | 亚洲国产一区二区视频 | 亚洲激情欧美激情 | 99久久精品国产一区二区三区 | 超碰成人网 | 午夜精品久久久久久久久 | 蜜乳av另类精品一区二区 | 欧美日韩精品免费 | 成人黄色毛片 | 亚洲www.| 婷婷精品国产一区二区三区日韩 | 国产v亚洲v天堂无码 | 成人精品国产一区二区4080 | 国产九色| 成人在线观看视频网站 | 国产视频在线播放 | 亚洲国产黄色片 | 日韩在线播放视频 | 成人精品久久久 | 永久精品 | 日本精品久久久久久久 | 青草福利 | 国产小视频在线 | 99精品国产高清一区二区麻豆 | 亚洲欧洲日韩在线 |