linux內(nèi)核和用戶(hù)空間通信機(jī)制分析--文件系統(tǒng)實(shí)現(xiàn)方式_第1頁(yè)
已閱讀1頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、內(nèi)核和用戶(hù)空間通信第一部分內(nèi)核和用戶(hù)空間通信第一部分文件系統(tǒng)方式文件系統(tǒng)方式20101008:blog.wwwlkk124本文檔的本文檔的Copyleft歸wwwlkk所有,使用所有,使用GPL發(fā)布,可以自由拷貝、轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)保持文檔的完整性,嚴(yán)發(fā)布,可以自由拷貝、轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)保持文檔的完整性,嚴(yán)禁用于任何商業(yè)用途。禁用于任何商業(yè)用途。Email:wwwlkk@來(lái)源來(lái)源::passpt.businessstructdevicethi

2、s_deviceconstnodenamemode_tmode下面將分析以下幾個(gè)過(guò)程:下面將分析以下幾個(gè)過(guò)程:1.如何根據(jù)如何根據(jù)miscdevice結(jié)構(gòu)在結(jié)構(gòu)在dev下建立設(shè)備文件?下建立設(shè)備文件?2.miscdevice結(jié)構(gòu)是如何組織的?結(jié)構(gòu)是如何組織的?3.如何根據(jù)如何根據(jù)dev下的設(shè)備文件定位下的設(shè)備文件定位miscdevice結(jié)構(gòu)?結(jié)構(gòu)?將會(huì)涉及到的概念:將會(huì)涉及到的概念:主設(shè)備號(hào):主設(shè)備號(hào):通常是標(biāo)識(shí)設(shè)備對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)程序(

3、也可以說(shuō)是標(biāo)識(shí)設(shè)備的類(lèi)別)。次設(shè)備號(hào):次設(shè)備號(hào):在某個(gè)類(lèi)里面確定一個(gè)具體的設(shè)備。inode中與設(shè)備有關(guān)的成員變量如下:dev_ti_rdev:設(shè)備編號(hào),包括主設(shè)備號(hào),次設(shè)備號(hào)。structcdevi_cdev:指向字符設(shè)備驅(qū)動(dòng)程序,根據(jù)主設(shè)備號(hào)定位。其中misc設(shè)備的主設(shè)備號(hào)是10。例子:注冊(cè)一個(gè)例子:注冊(cè)一個(gè)misc設(shè)備設(shè)備staticstructfile_operationsaudio_fops=定義操作函數(shù)集定義操作函數(shù)集.own

4、er=THIS_MODULE.open=audio_in_open.release=audio_in_release.read=audio_in_read.write=audio_in_write.unlocked_ioctl=audio_in_ioctlstructmiscdeviceaudio_in_misc=misc設(shè)備對(duì)象設(shè)備對(duì)象.min=MISC_DYNAMIC_MIN次設(shè)備號(hào)次設(shè)備號(hào).name=“msm_pcm_in“設(shè)備名

5、稱(chēng)設(shè)備名稱(chēng).fops=staticint__initaudio_in_init(void)misc_register(向內(nèi)核注冊(cè)向內(nèi)核注冊(cè)misc設(shè)備設(shè)備return1這個(gè)例子會(huì)在這個(gè)例子會(huì)在dev下生成一個(gè)設(shè)備文件,文件名是下生成一個(gè)設(shè)備文件,文件名是“msm_pcm_in“,文件對(duì)應(yīng)的,文件對(duì)應(yīng)的inoderdev的主設(shè)備號(hào)是的主設(shè)備號(hào)是10,次設(shè)備號(hào)是,次設(shè)備號(hào)是MISC_DYNAMIC_MIN,inode關(guān)聯(lián)的操作函數(shù)集是關(guān)聯(lián)的

6、操作函數(shù)集是audio_fops。在dev下建立下建立inode對(duì)象的函數(shù)調(diào)用流程如下:對(duì)象的函數(shù)調(diào)用流程如下:intmisc_registermisc_register(structmiscdevicemisc)?structdevicedevice_createdevice_create()?structdevicedevice_create_vargsdevice_create_vargs()?intdevice_register

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論