色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Linux設備驅動模型之kobject linux2.6.0

Linux設備驅動模型之kobject linux2.6.0 時間:2017-11-24      來源:未知

在linux內核版本2.5新出現了/sys 目錄,此目錄結構向用戶展現了設備驅動模型的層次結構。/sys 提供了一個設備驅動與用戶之間的交互接口,對應于sysfs 虛擬文件系統。其中的每一個目錄都對應一個內核對象kobject。目錄中存在的文件對應一個屬性。目錄為用戶展現了總線,設備,驅動之間的層次關系,屬性文件為用戶提供了操控設備驅動的友好接口。 接下來討論設備模型 主角 struct kobject  路徑 /include/linux/kobject.h (tapas:在內核中要想使用struct kobject 必須#include <linux/kobject.h> 可以發現include linux 正好就是源碼的路徑名)

先來介紹一下其中的成員變量:

const char *name:  (tapas:const char *類型表示該指針指向的內容不可以被更改)。在內核中它指向的內容經常是使用kmalloc申請得到內存空間。所以在釋放該對象時,必須kfree。前面提到kobject對應/sys的一個目錄,那么可以猜出來,name表示對應目錄的名稱。

struct list_head entry: 內核鏈表,常用于把屬于同一目錄下目錄鏈接起來。目錄層次關系的體現。

strutc kobject *parent:同樣表示一個目錄,該成員指向它的父目錄。偽代碼解釋:struct object *c,*p;  c為目錄,p也為目錄。 如果c->parent = p; 那么 p為c的父目錄。

struct kset *kset: 是設備模型中的一個重要結構。以后闡述。

struct kobj_type *ktype: 用于實現/sys 中的屬相文件,其中包含了讀寫對應文件的操作函數。

struct sysfs_dirent *sd:設備模型中/sys虛擬文件系統與設備驅動借口的關聯。當使用readwrite系統調用讀寫/sys中的文件是,就會通過該它調用到 ktype對用的操作函數。具體實現方法需要學習/sys虛擬文件系統。

struct kref: 是reference count的縮寫(引用次數)。每次使用該對象會將該值++,取消引用該變量都會--。如果--后該變量為0,就會release(釋放)該對象該對象也就隨之消失。

對成員的介紹到此為止。寫下來寫幾個內核模塊,加以討論。

上述代碼加入內核后會在/sys/目錄下產生 ./my_kobj  目錄。



       

 kobject_create_and_add終會調用到這里。kobject_add_varg做三件事情1.設置kobject->name.2.設置kobject->parent標志層次關系; 3.將kobject加入到系統中。



       

kobject_add_internal 主要做

 主要做兩件事情,1.根據kobject根據情況判定parent的設置。在后面的kset章加以講解。2.根據

設置好的kobject為其在/sys創建目錄項。

在此處提一下kobject_get() 和 kobject_put() 次兩個函數 用于操作kobject->kref應用數 前者對kref

進行atomic_inc加1操作。后者進行atomic_dec減1操作。如果減到0就會執行 void (*release)(struct kref *kref)

函數。 在此函數中會根據kref得到他所在的kobject然后調用kobject_cleanup(struct kobject *kobj)對其進行釋放。只要調用這個函數 那么該內核對象就在內核中徹底銷聲匿跡了。kobject_cleanup的實現在后面章節解釋。

上一篇:linux內核時間管理

下一篇:TCP握手/揮手的過程分析

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 亚洲色精品VR一区二区三区 | 国产成人亚洲精品无码MP4 | 性色a∨人人爽网站HDkp885 | 美女黄频视频大全免费的国内 | 亚洲VA在线∨A天堂VA欧美VA | 亚洲AV永久纯肉无码精品动漫 | 1313午夜精品理论片 | 欧美成人极品 | 中文字幕无码免费不卡视频 | 麻豆蜜桃在线 | 国产精品人妻一区二区网站 | 国产乱人伦精品一区二区 | 91嫩草久久久精品影院 | 亚洲第一网站男人都懂 | 亚洲午夜成人片 | 国产精品国产精品偷麻豆 | 欧美一级一区 | 欧美成人看片一区二区 | 亚洲精品久久无码午夜一区二区 | 免费无码a片一区二三区 | 乱人妻人伦中文字幕 | 国产精品无码人妻系列AV | 精品麻豆剧传媒av国产 | 浪潮色诱AV久久久久久久 | 超碰CAO已满18进入 | 亚洲色偷偷偷网站色偷一区 | 人妻洗澡被强公日日澡 | japanese护士高潮| 最爽爱爱高潮免费视频 | 国产乱人伦偷精品视频免观看 | 国产成人一区二区三区视频免费 | 欧美老妇BBBWwBBWw | 国产精品28P | 中文无码人妻有码人妻中文字幕 | 亚洲av成人无码网站色优 | 18禁无遮挡啪啪无码网站 | 青青草18在线视频免费 | 精品精品国产高清a毛片 | 996热re视频精品视频这里 | 2021国产成人精品久久 | 男人j放进女人p全黄 |