《北航linux課件——Linux 設(shè)備管理》由會(huì)員分享,可在線閱讀,更多相關(guān)《北航linux課件——Linux 設(shè)備管理(13頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,*,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),Linux 設(shè)備管理,模塊的安裝和卸載,設(shè)備管理,模塊的安裝和卸載,模塊:可以作為獨(dú)立程序來編譯的函數(shù)和數(shù)據(jù)結(jié)構(gòu)的集合。它可以動(dòng)態(tài)的增加內(nèi)核的功能。,裝載:,靜態(tài)裝載:在內(nèi)核啟動(dòng)時(shí),動(dòng)態(tài)裝載:在內(nèi)核運(yùn)行時(shí),注:當(dāng)前裝載的模塊可以在/proc/modeles讀出。,模塊一旦被裝入系統(tǒng),就在內(nèi)核地址空間中管態(tài)下執(zhí)行。模塊中的每個(gè)新函數(shù)都必須在模塊裝入內(nèi)核中時(shí)進(jìn)行注冊(cè)。模塊卸載時(shí),函數(shù)必須注銷。,模塊的裝載,insmode過程:,1、新模塊加入到內(nèi)核空間,2、查找導(dǎo)出的內(nèi)核符號(hào)對(duì)模塊中的外部符號(hào)引用進(jìn)行解析,并確
2、保該模塊所引用的其它模塊均已裝入系統(tǒng)。,3、為新模塊分配內(nèi)存空間,4、裝載新模塊,并導(dǎo)出該模塊定義的符號(hào)。,5、調(diào)用新模塊中的初始化函數(shù),模塊的安裝和卸載,模塊的卸載,rmmod過程:,注銷相應(yīng)的函數(shù)和內(nèi)核符號(hào),取消虛擬地址映像,釋放模塊使用空間,說明:如有其它模塊引用它,則不能卸載。,模塊的安裝和卸載,設(shè)備管理,系統(tǒng)中的所有硬件設(shè)備看起來都和一般的文件一樣,它們可以使用處理文件的標(biāo)準(zhǔn)系統(tǒng)調(diào)用來打開、,關(guān)閉和讀寫。,系統(tǒng)中的每一個(gè)設(shè)備都由一個(gè)設(shè)備文件來代表,設(shè)備文件名由主設(shè)備號(hào)和從設(shè)備號(hào)組成。例如,主IDE硬盤的設(shè)備文件是/dev/hda。一個(gè)設(shè)備驅(qū)動(dòng)程序控制的所有設(shè)備有一個(gè)相同的主設(shè)備號(hào),通
3、過不同的從設(shè)備號(hào)來區(qū)分設(shè)備和它們的控制器。例如,主IDE硬盤的每一個(gè)分區(qū)都有一個(gè)不同的從設(shè)備號(hào),這樣主IDE硬盤的第二個(gè)分區(qū)的設(shè)備文件是/dev/hda2。Linux系統(tǒng)使用主設(shè)備號(hào)和系統(tǒng)中的一些表來將系統(tǒng)調(diào)用中使用的設(shè)備文件映射到設(shè)備驅(qū)動(dòng)程序中。,Linux 系統(tǒng)支持三種類型的硬件設(shè)備,字符設(shè)備:字符設(shè)備是直接讀取的,不必使用緩沖區(qū)。,塊設(shè)備:塊設(shè)備每次只能讀取一定大小的塊的倍數(shù),通常一塊是512或者1024字節(jié)。塊設(shè)備通過緩沖區(qū)讀寫,并且可以隨機(jī)地讀寫。塊設(shè)備可以通過它們的設(shè)備文件存取,但通常是通過文件系統(tǒng)存取。只有塊設(shè)備支持掛接的文件系統(tǒng)。,網(wǎng)絡(luò)設(shè)備:網(wǎng)絡(luò)設(shè)備是通過BSD套接字接口存取的
4、。,設(shè)備管理,L i n u x系統(tǒng)支持多種設(shè)備,這些設(shè)備的驅(qū)動(dòng)程序之間有一些共同的特點(diǎn):,內(nèi)核代碼:設(shè)備驅(qū)動(dòng)程序是系統(tǒng)內(nèi)核的一部分,所以如果驅(qū)動(dòng)程序出現(xiàn)錯(cuò)誤的話,將可能嚴(yán)重地破壞整個(gè)系統(tǒng)。,內(nèi)核接口:設(shè)備驅(qū)動(dòng)程序必須為系統(tǒng)內(nèi)核或者它們的子系統(tǒng)提供一個(gè)標(biāo)準(zhǔn)的接口。,內(nèi)核機(jī)制和服務(wù):設(shè)備驅(qū)動(dòng)程序利用一些標(biāo)準(zhǔn)的內(nèi)核服務(wù),例如內(nèi)存分配等。,可裝入:大多數(shù)的L i n u x設(shè)備驅(qū)動(dòng)程序都可以在需要時(shí)裝入內(nèi)核,在不需要時(shí)卸載。,可設(shè)置:L i n u x系統(tǒng)設(shè)備驅(qū)動(dòng)程序可以集成為系統(tǒng)內(nèi)核的一部分,至于哪一部分需要集成到內(nèi)核中,可以在系統(tǒng)編譯時(shí)設(shè)置。,動(dòng)態(tài)性:當(dāng)系統(tǒng)啟動(dòng)并且各個(gè)設(shè)備驅(qū)動(dòng)程序初始化以后,驅(qū)
5、動(dòng)程序?qū)⒕S護(hù)其控制的設(shè)備。如果設(shè)備驅(qū)動(dòng)程序控制的設(shè)備并不存在,也并不妨礙系統(tǒng)的運(yùn)行。,設(shè)備管理,設(shè)備管理,Linux內(nèi)核和設(shè)備驅(qū)動(dòng)程序之間使用標(biāo)準(zhǔn)的交互接口。,設(shè)備驅(qū)動(dòng)程序在其初始化時(shí)就在系統(tǒng)內(nèi)核中進(jìn)行登記。Linux系統(tǒng)使用設(shè)備驅(qū)動(dòng)程序的登記表作為內(nèi)核和驅(qū)動(dòng)程序接口的一部分。這些表中包括指向處理程序的指針和其他信息。,主設(shè)備號(hào),chrdevs數(shù)組,blkdevs數(shù)組,VFS inode,數(shù)組元素均為device_struct結(jié)構(gòu),設(shè)備管理,字符設(shè)備,name:指向登記的設(shè)備驅(qū)動(dòng)程序名,fops:指向一個(gè)包括各種文件操作過程的地址的數(shù)組。此數(shù)組中包括的地址指向設(shè)備驅(qū)動(dòng)程序中處理文件的操作,例如
6、,打開、讀寫和關(guān)閉子過程。,塊設(shè)備,內(nèi)核對(duì)塊設(shè)備的操作要使用緩沖區(qū)。因此,每一個(gè)塊設(shè)備驅(qū)動(dòng)程序必須既向緩沖區(qū)提供接口,也提供一般的文件操作接口。每一個(gè)塊設(shè)備都在blk_dev數(shù)組中有一個(gè)blk_dev_struct結(jié)構(gòu)的記錄。,數(shù)據(jù)結(jié)構(gòu)blk_dev_struct 包括:,request_queue:指向請(qǐng)求數(shù)據(jù)結(jié)構(gòu)鏈表的指針,每一個(gè)請(qǐng)求數(shù)據(jù)結(jié)構(gòu)都代表一個(gè)來自緩沖區(qū)的請(qǐng)求,queue:請(qǐng)求過程的地址,data:輔助信息,幫助找到特定設(shè)備的請(qǐng)求隊(duì)列,設(shè)備管理,設(shè)備管,理,理,每當(dāng)緩,沖,沖區(qū)希,望,望和一,個(gè),個(gè)在系,統(tǒng),統(tǒng)中注,冊(cè),冊(cè)的塊,設(shè),設(shè)備交,換,換數(shù)據(jù),,,,它都,會(huì),會(huì)在blk_d
7、ev_struct中添,加,加一個(gè),請(qǐng),請(qǐng)求數(shù),據(jù),據(jù)結(jié)構(gòu),。,。每一,個(gè),個(gè)請(qǐng)求,都,都有一,個(gè),個(gè)指針,指,指向一,個(gè),個(gè)或者,多,多個(gè)buffer_head數(shù)據(jù),結(jié),結(jié)構(gòu),,每,每一個(gè)buffer_head,結(jié),結(jié)構(gòu)都,是,是一個(gè),讀,讀寫數(shù),據(jù),據(jù)塊的,請(qǐng),請(qǐng)求。,每,每一個(gè),請(qǐng),請(qǐng)求結(jié),構(gòu),構(gòu)都在,一,一個(gè)靜,態(tài),態(tài)鏈表all_requests,中,中。如,果,果請(qǐng)求,添,添加到,了,了一個(gè),空,空的請(qǐng),求,求鏈表,中,中,則,調(diào),調(diào)用設(shè),備,備驅(qū)動(dòng),程,程序的,請(qǐng),請(qǐng)求函,數(shù),數(shù)來開,始,始處理,請(qǐng),請(qǐng)求隊(duì),列,列。否,則,則,設(shè),備,備驅(qū)動(dòng),程,程序只,是,是簡(jiǎn)單,地,地處理,請(qǐng)
8、,請(qǐng)求隊(duì),列,列中的,每,每一個(gè),請(qǐng),請(qǐng)求。,一旦設(shè),備,備驅(qū)動(dòng),程,程序完,成,成了一,個(gè),個(gè)請(qǐng)求,,,,它將,把,把buffer_head,結(jié),結(jié)構(gòu),從,從request結(jié),構(gòu),構(gòu)中移,走,走,并,把,把buffer_head,結(jié),結(jié)構(gòu)標(biāo),記,記為已,更,更新,,同,同時(shí)將,它,它解鎖,。,。這樣,就,就可以,喚,喚醒等,待,待鎖定,操,操作完,成,成的進(jìn),程,程。,設(shè)備管,理,理,9,、靜夜,四,四無鄰,,,,荒居,舊,舊業(yè)貧,。,。12月-2212月-22,Thursday,December29,2022,10,、雨中,黃,黃葉樹,,,,燈下,白,白頭人,。,。04:35:4304:3
9、5:4304:35,12/29/2022 4:35:43AM,11,、以我獨(dú),沈,沈久,愧,君,君相見頻,。,。12月-2204:35:4304:35,Dec-2229-Dec-22,12,、故人,江,江海別,,,,幾度,隔,隔山川,。,。04:35:4304:35:4304:35,Thursday,December29,2022,13,、乍,見,見翻,疑,疑夢(mèng),,,,相,悲,悲各,問,問年,。,。12,月,月-2212,月,月-2204:35:4404:35:44,December29,2022,14,、他鄉(xiāng),生,生白發(fā),,,,舊國(guó),見,見青山,。,。29,十,十二月20224:35:44
10、上,午,午04:35:4412月-22,15,、比不了,得,得就不比,,,,得不到,的,的就不要,。,。十二月224:35,上,上午12月-2204:35,December29,2022,16,、行動(dòng)出,成,成果,工,作,作出財(cái)富,。,。2022/12/29 4:35:4404:35:44,29 December2022,17,、做,前,前,,能,能夠,環(huán),環(huán)視,四,四周,;,;做,時(shí),時(shí),,你,你只,能,能或,者,者最,好,好沿,著,著以,腳,腳為,起,起點(diǎn),的,的射,線,線向,前,前。,。,。4:35:44,上,上午4:35,上,上,午,午04:35:4412,月,月-22,9,、沒,有,
11、有失,敗,敗,,只,只有,暫,暫時(shí),停,停止,成,成功,!,!。12,月,月-2212,月,月-22,Thursday,December29,2022,10,、很,多,多事,情,情努,力,力了,未,未必,有,有結(jié),果,果,,但,但是,不,不努,力,力卻,什,什么,改,改變,也,也沒,有,有。,。,。04:35:4404:35:4404:35,12/29/20224:35:44AM,11,、成功,就,就是日,復(fù),復(fù)一日,那,那一點(diǎn),點(diǎn),點(diǎn)小小,努,努力的,積,積累。,。,。12月-2204:35:4404:35,Dec-2229-Dec-22,12,、世間,成,成事,,不,不求其,絕,絕對(duì)圓,滿
12、,滿,留,一,一份不,足,足,可,得,得無限,完,完美。,。,。04:35:4404:35:4404:35,Thursday,December29,2022,13,、不,知,知香,積,積寺,,,,數(shù),里,里入,云,云峰,。,。12,月,月-2212,月,月-2204:35:4404:35:44,December29,2022,14,、,意,意,志,志,堅(jiān),堅(jiān),強(qiáng),強(qiáng),的,的,人,人,能,能,把,把,世,世,界,界,放,放,在,在,手,手,中,中,像,像,泥,泥,塊,塊,一,一,樣,樣,任,任,意,意,揉,揉,捏,捏,。,。29,十,十,二,二,月,月20224:35:44 上,午,午04:35
13、:4412月-22,15,、,楚,楚,塞,塞,三,三,湘,湘,接,接,,,,,荊,荊,門,門,九,九,派,派,通,通,。,。,。,。十,二,二,月,月224:35,上,上,午,午12,月,月-2204:35,December29,2022,16,、少年十,五,五二十時(shí),,,,步行奪,得,得胡馬騎,。,。2022/12/29 4:35:4404:35:44,29 December2022,17,、空,山,山新,雨,雨后,,,,天,氣,氣晚,來,來秋,。,。4:35:44,上,上午4:35,上,上,午,午04:35:4412,月,月-22,9,、楊柳,散,散和風(fēng),,,,青山,澹,澹吾慮,。,。12
14、月-2212月-22,Thursday,December29,2022,10,、閱讀,一,一切好,書,書如同,和,和過去,最,最杰出,的,的人談,話,話。04:35:4404:35:4404:35,12/29/2022 4:35:44AM,11,、越是,沒,沒有本,領(lǐng),領(lǐng)的就,越,越加自,命,命不凡,。,。12月-2204:35:4404:35,Dec-2229-Dec-22,12,、越是,無,無能的,人,人,越,喜,喜歡挑,剔,剔別人,的,的錯(cuò)兒,。,。04:35:4404:35:4404:35,Thursday,December29,2022,13,、知,人,人者,智,智,,自,自知,者,
15、者明,。,。勝,人,人者,有,有力,,,,自,勝,勝者,強(qiáng),強(qiáng)。12,月,月-2212,月,月-2204:35:4404:35:44,December29,2022,14,、意,志,志堅(jiān),強(qiáng),強(qiáng)的,人,人能,把,把世,界,界放,在,在手,中,中像,泥,泥塊,一,一樣,任,任意,揉,揉捏,。,。29,十,十,二,二月20224:35:44,上,上午04:35:4412,月,月-22,15,、最具,挑,挑戰(zhàn)性,的,的挑戰(zhàn),莫,莫過于,提,提升自,我,我。十二月224:35 上,午,午12月-2204:35,December29,2022,16,、業(yè)余生,活,活要有意,義,義,不要,越,越軌。202
16、2/12/29 4:35:4404:35:44,29 December2022,17,、,一,一,個(gè),個(gè),人,人,即,即,使,使,已,已,登,登,上,上,頂,頂,峰,峰,,,,,也,也,仍,仍,要,要,自,自,強(qiáng),強(qiáng),不,不,息,息,。,。4:35:44,上,上,午,午4:35,上,上,午,午04:35:4412,月,月-22,MOMODA POWERPOINT,Lorem ipsum dolor sit amet,consectetur adipiscing elit.Fusce id urna blandit,eleifend nulla ac,fringilla purus.Nulla iaculis tempor felis ut cursus.,感,謝,謝,您,您,的,的,下,下,載,載,觀,觀,看,看,專,家,家,告,告,訴,訴,