基于內(nèi)核模塊的測試代碼編寫_第1頁
基于內(nèi)核模塊的測試代碼編寫_第2頁
基于內(nèi)核模塊的測試代碼編寫_第3頁
基于內(nèi)核模塊的測試代碼編寫_第4頁
基于內(nèi)核模塊的測試代碼編寫_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

內(nèi)測編)1、背景壓縮卡驅(qū)動提供給文件系統(tǒng)KAPI,供文件系統(tǒng)對文件數(shù)據(jù)進行壓縮和解壓。在測試中會調(diào)用到的KAPI卡KAPI包到這種方法,統(tǒng)對KAPI開對KAPI于KAPI完對KAPI的塊(lMu)對KI訪測方性到。寫。2、態(tài)展在liux系統(tǒng)為G到4G有0到G的進。CU據(jù)W式bi戶態(tài)ig3或態(tài)(Rng0)戶執(zhí)非的CU指令。在內(nèi)核態(tài)可以執(zhí)行所有指無供系統(tǒng)用中,以是限的放戶程內(nèi)硬的問從證系安。在驅(qū)動項目中,驅(qū)動程序工作在內(nèi)核空間中,它直接提供KAPI就無法通過用戶進程完成對該KAPI核磁盤讀寫時可以間接的調(diào)用到該KAPI,但是內(nèi)核對其有限或具體的調(diào)用方式往往屏蔽了底層分直接的思路就是跨越對內(nèi)接對KAPI成。的KAPI的問核,將過le執(zhí)行發(fā)體法第分。.Knlole達對KAPI調(diào)的訪問助kle來完le譯le,內(nèi)代輯Kle通常以o為擴展名的文過lsmod命令可經(jīng)的KernelModul,過isdmod命令完成指定的的模塊的加載卸載lModule最基本的編義module_init和modulx,指定在模塊加載始的hellod向iit對KI進行調(diào)用的函數(shù),當模塊被insmod時是試結(jié)果的獲取和對執(zhí)行的控制,還需要引入用戶于KernelModule更詳譯程可考h/#ncue<liuxmoul.h>/*eeddbyallmodles*/ilelxeeh>*ddorNIFO/#cue<nxn.>/*eddfrtemcos/tict_teoivd{rtKNIFOe,oldn;tn;}cdtl{rkE_FOob,odn}modle_ni(hll_iit);oue(oi;4.用戶空間互在決了在核空間入可運代碼,需要決的是戶空間內(nèi)核空的交互。到給口標。.1nkik是過dmesg近期的系統(tǒng)日志信息,或者直接訪問/va/lo/kerel查看內(nèi)核輸出的所有歷史log在lmoue中調(diào)用pkk用戶態(tài)下的prf過KNO等從0-7的指定級別的g常使式:hryae]=had\;i(_FOH,rds,ye;4.2備在linx通實核對的oeaicm/ae進程從用戶態(tài)進入到成包對KAPI調(diào)。具在lmoule中通過rv注冊一種偽字符設備到,:的major號,需要和系統(tǒng)已有設備不沖突;設備的名稱name;件集v的如:tdt,tr,ts;其中,結(jié)構(gòu)fs中包含一系列的函數(shù)指針,對應每種系統(tǒng)調(diào)用(包含n)些未顯式賦值的元素被賦值為null。ctss={ad=va,e=,.ocl=deic_ict,.pn=dvieoen,ee=ele};v一般在kele中的init函數(shù)中執(zhí)行當insmod這個moe時,設備就內(nèi)過mknd命。后過oerrcm/ae等系統(tǒng)調(diào)用以訪問設備文件的方式設備。每種調(diào)用都會執(zhí)行到在注冊設備時注冊的對應的文件操作函數(shù)。此外,對應于v為v。以itl的fins注件執(zhí)行ioctl行d_tl函的dei_cl函數(shù)中用KAPI,對KAPI的問。4.3通寫的信息傳在的使用過fil_pn利數(shù)取文碼:tpp=,R|,;pd=,,,;pn=p,,,;,需要修許法在read或e過s大許間操后再通過ss:_s=_;e_(RE_);/ieredtr);.4rc文件統(tǒng)c文虛文統(tǒng)在c可以向/c件回作。核c是y,需名訪向p_y步修改戶id組i可以指定用戶讀或?qū)懺撐募孪騝:tcntitcoln(){y=re,,p;ifety){ra=g;-c=;trc=srr;}n0}cdt{,;,;}dctr,r,t,t,t,d{ot=rfg,s,hrt;n;}rectte,trr,nndgot,da{ifont>SR_AXI){ot=5;},,;n;4.5a_eliknetlnk的用態(tài)和互各方中tk要了t,多播,雙向文,nik的tAPI,態(tài)用的AP紹方:建t定doan必為FEI通常S為NETLI_EEIC或義型d=,;然后過bd綁定源結(jié)如中y為AF_NETLIKd目前無充0,nl_pid為程i為0;s用于組播時的。tutskdrl{aiyt i;uninedshotnl_pd;_32 n_i;__u32 ;}saddr;,t,;通過sendsg可息msg。rt=senms(d,&sg,0;在msg的有素sgnme需個sockal結(jié)構(gòu)的首地址示發(fā)送的目的端的地址的nl_pid為;mv是消部個lsdr結(jié)條進程d的息分。當過rsg以而數(shù)發(fā)關。在內(nèi)過nee可以在內(nèi)核中新建t結(jié)構(gòu)并注冊接收到消息數(shù)inpt原:rtsk*l_n_a(tt,dn)rtck,tn;當接收到消數(shù)input的sk的t在核結(jié)構(gòu),通過對該結(jié)構(gòu)的訪本的inpt:vidiput(tuctsck*s,itlen){srcts_uf*b;srctnlsghr*nh=NULL;8da=U;whle(kb=sk_eqee(s-rceveqeu))=NUL){nh=(rctlshdrsbdt;a=;}}此外,sock_e是在內(nèi)核中釋放t的方法;而通過t和t可以在內(nèi)

溫馨提示

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

評論

0/150

提交評論