linux面試題及答案資料

linux面試題及答案資料

ID:39702997

大?。?2.42 KB

頁數(shù):5頁

時間:2019-07-09

linux面試題及答案資料_第1頁
linux面試題及答案資料_第2頁
linux面試題及答案資料_第3頁
linux面試題及答案資料_第4頁
linux面試題及答案資料_第5頁
資源描述:

《linux面試題及答案資料》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、1.如何編寫一個LINUX驅(qū)動?2.Linux設(shè)備中字符設(shè)備與塊設(shè)備有什么主要的區(qū)別?請分別列舉一些實(shí)際的設(shè)備說出它們是屬于哪一類設(shè)備。字符設(shè)備:字符設(shè)備是個能夠像字節(jié)流(類似文件)一樣被訪問的設(shè)備,由字符設(shè)備驅(qū)動程序來實(shí)現(xiàn)這種特性。字符設(shè)備驅(qū)動程序通常至少實(shí)現(xiàn)open,close,read和write系統(tǒng)調(diào)用。字符終端、串口、鼠標(biāo)、鍵盤、攝像頭、聲卡和顯卡等就是典型的字符設(shè)備。塊設(shè)備:和字符設(shè)備類似,塊設(shè)備也是通過/dev目錄下的文件系統(tǒng)節(jié)點(diǎn)來訪問。塊設(shè)備上能夠容納文件系統(tǒng),如:u盤,SD卡,磁盤等。字符設(shè)備和塊設(shè)備的區(qū)別僅僅在于內(nèi)核內(nèi)部管理數(shù)據(jù)的方式,也就是內(nèi)核及驅(qū)動程序之間的軟件接口

2、,而這些不同對用戶來講是透明的。3.查看驅(qū)動模塊中打印信息應(yīng)該使用什么命令?如何查看內(nèi)核中已有的字符設(shè)備的信息?如何查看正在使用的有哪些中斷號?1)查看驅(qū)動模塊中打印信息的命令:dmesg2)查看字符設(shè)備信息可以用lsmod和modprobe,lsmod可以查看模塊的依賴關(guān)系,modprobe在加載模塊時會加載其他依賴的模塊。3)顯示當(dāng)前使用的中斷號cat/proc/interrupt4.請簡述主設(shè)備號和次設(shè)備號的用途。如果執(zhí)行mknodchartestc464,創(chuàng)建chartest使用的是那一類設(shè)備驅(qū)動程序。1)主設(shè)備號:主設(shè)備號標(biāo)識設(shè)備對應(yīng)的驅(qū)動程序。雖然現(xiàn)代的linux內(nèi)核允許多個驅(qū)

3、動程序共享主設(shè)備號,但我們看待的大多數(shù)設(shè)備仍然按照“一個主設(shè)備對應(yīng)一個驅(qū)動程序”的原則組織。次設(shè)備號:次設(shè)備號由內(nèi)核使用,用于正確確定設(shè)備文件所指的設(shè)備。依賴于驅(qū)動程序的編寫方式,我們可以通過次設(shè)備號獲得一個指向內(nèi)核設(shè)備的直接指針,也可將此設(shè)備號當(dāng)作設(shè)備本地?cái)?shù)組的索引。2)chartest由驅(qū)動程序4管理,該文件所指的設(shè)備是64號設(shè)備。(感覺類似于串口終端或者字符設(shè)備終端)。5.設(shè)備驅(qū)動程序中如何注冊一個字符設(shè)備?分別解釋一下它的幾個參數(shù)的含義。注冊一個字符設(shè)備驅(qū)動有兩種方法:1)voidcdev_init(structcdev*cdev,structfile_operations*fop

4、s)該注冊函數(shù)可以將cdev結(jié)構(gòu)嵌入到自己的設(shè)備特定的結(jié)構(gòu)中。cdev是一個指向結(jié)構(gòu)體cdev的指針,而fops是指向一個類似于file_operations結(jié)構(gòu)(可以是file_operations結(jié)構(gòu),但不限于該結(jié)構(gòu))的指針.2)intregister_chrdev(unsignedintmajor,constchar*namem,structfile)operations*fopen);該注冊函數(shù)是早期的注冊函數(shù),major是設(shè)備的主設(shè)備號,name是驅(qū)動程序的名稱,而fops是默認(rèn)的file_operations結(jié)構(gòu)(這是只限于file_operations結(jié)構(gòu))。1.請簡述中斷于

5、DMA的區(qū)別。Linux設(shè)備驅(qū)動程序中,使用哪個函數(shù)注冊和注銷中斷處理程序?1)MDA不需CPU參與而中斷是需要CPU參與的。2)中斷注冊函數(shù)和中斷注銷函數(shù)注冊中斷:intrequest_irq(unsignedintirq,irqreturn_t(*handler)(int,void*,structpt_regs*),unsignedlongflags,constchar*dev_name,void*dev_id);注銷中斷;Voidfree_irq(unsignedintirq,void*dev_id);釋放中斷和中斷信號線2.中斷和輪詢哪個效率高?怎樣決定是采用中斷方式還是采用輪詢方

6、式去實(shí)現(xiàn)驅(qū)動?中斷是CPU處于被中狀態(tài)下來接受設(shè)備的信號,而輪詢是CPU主動去查詢該設(shè)備是否有請求。如果是請求設(shè)備是一個頻繁請求cpu的設(shè)備,或者有大量數(shù)據(jù)請求的網(wǎng)絡(luò)設(shè)備,那么輪詢的效率是比中斷高。如果是一般設(shè)備,并且該設(shè)備請求cpu的頻率比較底,則用中斷效率要高一些。3.驅(qū)動中操作物理絕對地址為什么要先ioremap?因?yàn)閮?nèi)核沒有辦法直接訪問物理內(nèi)存地址,必須先通過ioremap獲得對應(yīng)的虛擬地址。4.設(shè)備驅(qū)動模型三個重要成員是?platfoem總線的匹配規(guī)則是?在具體應(yīng)用上要不要先注冊驅(qū)動再注冊設(shè)備?有先后順序沒?Linux設(shè)備模型中三個很重要的概念就是總線,設(shè)備,驅(qū)動.即bus,de

7、vice,driver。platform總線是內(nèi)核注冊好的用于管理設(shè)備及驅(qū)動的一種模式??偩€實(shí)現(xiàn)好了匹配規(guī)則,內(nèi)核對于往platform總線上注冊的設(shè)備及驅(qū)動對應(yīng)的類型做了抽象。5.insmod一個驅(qū)動模塊,會執(zhí)行模塊中的哪個函數(shù)?rmmod呢?這兩個函數(shù)在設(shè)計(jì)上要注意哪些?遇到過卸載驅(qū)動出現(xiàn)異常沒?是什么問題引起的?insmod調(diào)用init函數(shù),rmmod調(diào)用exit函數(shù)。注意在init函數(shù)中申請的資源在exit函數(shù)中

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。