日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux内核微妙时,Linux内核模块时间同步函数汇总

發布時間:2025/3/21 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核微妙时,Linux内核模块时间同步函数汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在linux內核模塊中能用到的函數比用戶空間多,但是它的函數往往被用得很少。當然在內核中葉可以調用用戶空間的函數只要直接調用系統調用的封裝函數就行,如下:

如調用long gettimeofday(struct timeval tv, struct timezone tz);函數可以直接調用封裝體:

_syscall1(long,gettimeofday, struct timeval,tv,struct timezone ,tz);

這個是現在內核的系統調用標準形式,syscall后面接的數字表示這個系統調用類型,系統調用將參數個數的多少進行了分類。

當然也可以直接使用內核特有的函數,這樣效率更高:

獲得當前時間函數:

頭文件: time.h

屬性:系統符號導出函數

從jiffies得到時間

void do_gettimeofday(struct timeval *tv);

從xtimer墻上時間得到時間

struct timerspec current_kernel_time(void);

延時:

長延遲

頭文件:jeffies.h / time.h

while(time_before(jiffies,jiffies+msecs_to_jiffies(delay_time)){

schedule();

}

納秒,微妙,毫?秒延遲,必須是短延遲,時間過長會報錯

頭文件: delay.h

void ndelay(unsigned long nesec);

void udelay(unsigned long usecs);

void mdelay(unsigned long msecs);

void msleep(unsigned int millisecs);

void ssleep(unsigned int seconds);

超時:

頭文件: wait.h

long wait_event_timerout(wait_queue_head_t q, condition, long timeout);

long wait_event_interruptible_timerout(wait_queue_head_t q, condition, long timeout);

定時器

頭文件:timer.h

定時器數據結構:

struct timer_list{

unsigned long expires;??????????? ?/* 超時時間*/

void (*fun)(unsigned long);????? /*超時做的事情的函數指針*/

unsigned long data;???????????????? /*函數數據參數*/

};

初始化定時器

void init_timer(struct timer_list *timer);

添加定時器

void add_timer(struct timer_list *timer);

銷毀定時器

int del_timer(struct timer_list *timer);

信號量函數:

頭文件:semaphore.h

屬性:初始化函數是頭文件靜態,其他函數時系統符號導出

1. 初始化信號量

static inline void sema_init(struct semaphore *sem, int val);

第一個參數信號量,第二個參數信號量初始值。

2. 獲得信號量

void down(struct semaphore *sem);

3.釋放信號量

void up(struct semaphore *sem);

4.在一定時間限制內獲得信號量,返回值返回是得到信號量返回的還是超時返回

int down_timeout(struct semaphore *sem, long jiffies);

5. 非阻塞測試是否有可以得到信號量,返回值表明是否獲得了信號量。

int down_trylock(struct semaphore *sem)

6.可打斷的獲得信號量,返回值表示是一般返回還是被打斷

int down_interruptible(struct semaphore *sem)

7.獲得可打斷信號量,針對致命打斷如 kill信號,返回如上

int down_killable(struct semaphore *sem)

軟中斷:

tasklet

1.初始化

頭文件:無

屬性:系統符號導出

void tasklet_init(struct tasklet_struct *t,void (*func)(unsigned long), unsigned long data);

第一個參數是tasklet結構體指針,第二個參數是執行任務的函數,第三個參數是數據結構體指針。

2.調度tasklet

頭文件:interrupt.h

屬性:頭文件靜態

static inline void tasklet_schedule(struct tasklet_struct *t);

3.結束tasklet

屬性:系統符號導出

extern void tasklet_kill(struct tasklet_struct *t);

4.高精準定時器tasklet

tasklet_hrtimer_init, tasklet_hrtimer_start,tasklet_hrtimer_cancel

工作隊列workqueue

1. 創建并初始化工作隊列

INIT_WORK(_work, _func);

頭文件:workqueue.h

屬性:頭文件宏定義

或者create_workqueue,這個好像沒有上面那個全面,不是很清楚。

2. 銷毀工作隊列

頭文件:workqueue.h

void destroy_workqueue(struct workqueue_struct *wq)

3. 重置工作隊列

頭文件:workqueue.h

int cancel_work_sync(struct work_struct *work);

4. 調度工作隊列,下面兩個函數一樣,s調用q

頭文件:workqueue.h

int schedule_work(struct work_struct *work)

int queue_work(struct workqueue_struct *wq, struct work_struct *work)

總結

以上是生活随笔為你收集整理的linux内核微妙时,Linux内核模块时间同步函数汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 神马久久影院 | 一级全黄裸体免费观看视频 | 极度诱惑香港电影完整 | www.国产区 | 成人在线免费看视频 | 青娱乐福利视频 | 欧美日韩精 | 西西毛片| 久久精久久 | 日韩福利视频网 | 色永久| 国产天堂| 草视频在线观看 | 男女床上拍拍拍 | 制服丝袜手机在线 | 青草视屏 | 亚洲综合在线一区 | 成年女人色毛片 | 日本裸体网站 | 影音先锋啪啪 | 国产成人无码精品亚洲 | 久久久国产精品人人片 | 69色综合| 人妻丰满熟妇aⅴ无码 | 嫩草嫩草嫩草嫩草嫩草 | xxxxx在线视频 | 久久女人天堂 | 黄色激情av | 九色视频在线观看 | 欧美午夜精品久久久久久孕妇 | 国产情侣酒店自拍 | 国产18精品乱码免费看 | 欧美国产乱视频 | 黄色的网站在线 | 妻子的性幻想 | 日本一区二区在线免费观看 | 动漫精品一区 | 天天干天天日 | 天天摸天天舔天天操 | 免费日本黄色 | 一级特黄av | 欧美日韩中文字幕在线视频 | 青青草av在线播放 | 国产无套内射普通话对白 | 中文字幕日韩在线观看 | sm久久捆绑调教精品一区 | 综合网在线视频 | 奇米网在线观看 | 国产成人短视频在线观看 | 国产人成无码视频在线观看 | 日本精品视频在线观看 | 中文字幕一区二区久久人妻 | av青草 | 亚洲天堂第一页 | 69性影院| 91免费网站入口 | 毛片在线网站 | 免费的黄色大片 | 荫道bbwbbb高潮潮喷 | 色窝av| 人人妻人人澡人人爽人人dvd | 麻豆精品久久久 | 久久久精品久 | 三级网站视频 | 蜜桃久久久久久 | 国产精品一区二区在线免费观看 | 蜜臀久久久久久999 大陆熟妇丰满多毛xxxⅹ | 午夜久久久久久久 | 亚洲 日本 欧美 中文幕 | 久久久久久免费精品 | 国产极品999| 麻豆视频成人 | 啪视频在线| 日屁网站| 国产一级免费观看 | 一级片在线观看视频 | 国产欧美熟妇另类久久久 | 福利片在线看 | 日韩视频中文字幕 | 一级片一区二区三区 | 亚洲大胆视频 | 国产精品一区电影 | 日本免费一区二区三区 | 好av在线| 91porn九色 | 久久亚洲日本 | 欧美人与动牲交a欧美精品 欧美三级在线看 | 成人亚洲免费 | 日本老年老熟无码 | 永久免费的av网站 | 国产精品五区 | 国产一区二区三区在线视频 | 伊人久久91| 色婷婷国产精品综合在线观看 | 国产色婷婷一区二区三区竹菊影视 | 91视频三区 | 日韩av三区 | 日本青青草 | 麻豆av网|