最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

一文帶你走進(jìn)設(shè)備驅(qū)動(dòng)模型與sysfs

2022-09-26 20:31 作者:補(bǔ)給站Linux內(nèi)核  | 我要投稿

設(shè)備驅(qū)動(dòng)模型與sysfs

Linux在2.6版本引入了設(shè)備驅(qū)動(dòng)模型,設(shè)備驅(qū)動(dòng)模型負(fù)責(zé)統(tǒng)一實(shí)現(xiàn)和維護(hù)一些特性,諸如:熱插拔、對(duì)象生命周期、用戶空間和驅(qū)動(dòng)空間的交互等基礎(chǔ)設(shè)施

1.設(shè)備驅(qū)動(dòng)模型基本概念

設(shè)備驅(qū)動(dòng)模型主要包含:類(class)、總線(bus)、設(shè)備(device)、驅(qū)動(dòng)(driver),它們的本質(zhì)都是內(nèi)核中的幾種數(shù)據(jù)結(jié)構(gòu)的“實(shí)例”

類的本質(zhì)是class結(jié)構(gòu)體類型,各種不同的類其實(shí)就是class的各種實(shí)例 總線的本質(zhì)是bus_type結(jié)構(gòu)體類型,各種不同的總線其實(shí)就是bus_type的各種實(shí)例 設(shè)備的本質(zhì)是device結(jié)構(gòu)體類型,各種不同的設(shè)備其實(shí)就是device的各種實(shí)例 驅(qū)動(dòng)的本質(zhì)是device_driver結(jié)構(gòu)體類型,各種不同的驅(qū)動(dòng)其實(shí)就是device_driver的各種實(shí)例

2.sysfs基本概念

sysfs其實(shí)就是/sys目錄,其主要作用就是:展示設(shè)備驅(qū)動(dòng)模型中各組件的層次關(guān)系,并將各組件的本體——內(nèi)核中的數(shù)據(jù)結(jié)構(gòu)以文件形式呈現(xiàn),方便用戶層查看及操作


【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【891587639】整理了一些個(gè)人覺(jué)得比較好的學(xué)習(xí)書(shū)籍、視頻資料共享在群文件里面,有需要的可以自行添加哦!?。。ê曨l教程、電子書(shū)、實(shí)戰(zhàn)項(xiàng)目及代碼)? ? ??

3./sys目錄結(jié)構(gòu)與設(shè)備驅(qū)動(dòng)模型

/sys目錄結(jié)構(gòu)很好的展示了驅(qū)動(dòng)設(shè)備模型,如圖:



注意:同一個(gè)設(shè)備可能在/sys中存在多個(gè)設(shè)備文件,比如一顆led的設(shè)備文件可能在/sys/bus/platform/devices/led1,同時(shí)還有一個(gè)在/sys/class/leds/led1。雖然他們都是同一顆led的設(shè)備文件,但是他們的來(lái)源、機(jī)制、原理都是不同的,不能混為一談 4.各組件的特性與聯(lián)系 kobject:設(shè)備驅(qū)動(dòng)模型各實(shí)例的最基本單元,提供一些公用型服務(wù)如: 提供該實(shí)例在sysfs中的操作方法(show和store);提供在sysfs中以文件形式存在的屬性,其實(shí)就是應(yīng)用接口;提供各個(gè)實(shí)例的層次架構(gòu),讓sysfs中弄出目錄結(jié)構(gòu)。設(shè)備驅(qū)動(dòng)模型中每個(gè)實(shí)例內(nèi)部都會(huì)包含一個(gè)kobject 總線、設(shè)備、驅(qū)動(dòng),這三者有著密切的聯(lián)系。在內(nèi)核中,設(shè)備和驅(qū)動(dòng)是分開(kāi)注冊(cè)的,注冊(cè) 設(shè)備的時(shí)候,并不需要驅(qū)動(dòng)已經(jīng)存在,而驅(qū)動(dòng)被注冊(cè)的時(shí)候,也不需要對(duì)應(yīng)的設(shè)備已經(jīng)被注冊(cè)。而總線就是連接設(shè)備和驅(qū)動(dòng)之間的紐帶,如圖:



5.為什么要讓總線匹配驅(qū)動(dòng)和設(shè)備?

這么做是為了讓算法和數(shù)據(jù)分離,驅(qū)動(dòng)源碼中不攜帶數(shù)據(jù),只負(fù)責(zé)算法(對(duì)硬件的操作方法);而設(shè)備則負(fù)責(zé)攜帶硬件信息。這樣最大程度保持驅(qū)動(dòng)的獨(dú)立性和適應(yīng)性,并且可以實(shí)現(xiàn)一個(gè)驅(qū)動(dòng)對(duì)應(yīng)多個(gè)設(shè)備

- - 內(nèi)核技術(shù)中文網(wǎng) - 構(gòu)建全國(guó)最權(quán)威的內(nèi)核技術(shù)交流分享論壇 (0voice.com)

轉(zhuǎn)載地址:一文帶你走進(jìn)設(shè)備驅(qū)動(dòng)模型與sysfs - 圈點(diǎn) - 內(nèi)核技術(shù)中文網(wǎng) - 構(gòu)建全國(guó)最權(quán)威的內(nèi)核技術(shù)交流分享論壇 (0voice.com)



一文帶你走進(jìn)設(shè)備驅(qū)動(dòng)模型與sysfs的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
会同县| 丹棱县| 犍为县| 南昌县| 安溪县| 中宁县| 揭东县| 安达市| 黄大仙区| 喜德县| 聊城市| 喀喇沁旗| 宝鸡市| 化德县| 阳山县| 榆社县| 沁阳市| 紫云| 万年县| 太保市| 竹溪县| 新营市| 朝阳县| 贵港市| 财经| 庆安县| 澄迈县| 西乡县| 乌兰察布市| 丰原市| 安康市| 明光市| 仁怀市| 云林县| 申扎县| 景谷| 长春市| 丹阳市| 新密市| 龙山县| 资兴市|