linux面試題及答案

linux面試題及答案

ID:31090549

大?。?8.00 KB

頁數(shù):4頁

時間:2019-01-06

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

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

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

2、和塊設(shè)備的區(qū)別僅僅在于內(nèi)核內(nèi)部管理數(shù)據(jù)的方式,也就是內(nèi)核及驅(qū)動程序Z間的軟件接口,而這些不同對用戶來講是透明的。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í)行mkno

3、dchartestc464,創(chuàng)建chartest使用的是那一類設(shè)備驅(qū)動程序。1)主設(shè)備號:主設(shè)備號標(biāo)識設(shè)備對應(yīng)的驅(qū)動程序。雖然現(xiàn)代的linux內(nèi)核允許多個驅(qū)動程序共享主設(shè)備號,但我們看待的大多數(shù)設(shè)備仍然按照“一個主設(shè)備對應(yīng)一個驅(qū)動程序”的原則組織。次設(shè)備號:次設(shè)備號由內(nèi)核使用,用于正確確定設(shè)備文件所指的設(shè)備。依賴于驅(qū)動程序的編寫方式,我們可以通過次設(shè)備號獲得一個指向內(nèi)核設(shè)備的S[接指針,也可將此設(shè)備號當(dāng)作設(shè)備本地數(shù)組的索引。2)chartest由驅(qū)動程序4管理,該文件所指的設(shè)備是64號設(shè)備。(感覺類似于串口終端或者

4、字符設(shè)備終端)。5.設(shè)備驅(qū)動程序中如何注冊一個字符設(shè)備?分別解釋一下它的兒個參數(shù)的含義。注冊一個字符設(shè)備驅(qū)動有兩種方法:1)voidcdevinit(structcdcv*cdev,structfileoperations*fops)該注冊函數(shù)可以將cdev結(jié)構(gòu)嵌入到H己的設(shè)備特定的結(jié)構(gòu)中。cdev是一個指向結(jié)構(gòu)體cdev的指針,而fops是指向一個類似于f訂e_operations結(jié)構(gòu)(可以是f訂e_operations結(jié)構(gòu),但不限于該結(jié)構(gòu))的指針.2)intregister_chrdev(unsignedint

5、major,constchar*namem,structfile)operations*fopcn);該注冊函數(shù)是早期的注冊函數(shù),major是設(shè)備的主設(shè)備號,mime是驅(qū)動程序的名稱,而fops是默認的file_operations結(jié)構(gòu)(這是只限于file_operations結(jié)構(gòu))。6.請簡述中斷于DMA的區(qū)別。Linux設(shè)備驅(qū)動程序中,使川哪個函數(shù)注冊和注銷中斷處理程序?1)MDA不需CPU參與而中斷是需要CPU參與的。2)中斷注冊函數(shù)和中斷注銷函數(shù)注冊中斷:intrequest_irq(unsignedint

6、irq,irqreturnt(*hdndler)(int,void*,structpt_regs*),unsignedlongflags,constchar*dev_name,void*dev_id);注銷中斷;Voidfree_irq(unsignedintirq,void*dev_id);釋放中斷和中斷信號線1.中斷和倫詢哪個效率高?怎樣決定是采用中斷方式述是采用輪詢方式去實現(xiàn)驅(qū)動?屮斷是CPU處于被屮狀態(tài)卜?來接受設(shè)備的信號,而輪詢是CPU主動去查詢該設(shè)備是否有請求。如來是請求設(shè)備是一?個頻繁請求CPU的設(shè)備

7、,或者有大量數(shù)據(jù)請求的網(wǎng)絡(luò)設(shè)備,那么輪詢的效率是比中斷高。如果是一般設(shè)備,并R該設(shè)備請求cpu的頻率比較底,則用中斷效率要高一些。2.驅(qū)動屮操作物理絕對地址為什么要先ioremap?因為內(nèi)核沒有辦法直接訪問物理內(nèi)存地址,必須先通過ioremap獲得對應(yīng)的虛擬地址。3.設(shè)備驅(qū)動模型三個重要成員是?platfoem總線的匹配規(guī)則是?在具體應(yīng)用上要不要先注冊驅(qū)動再注冊設(shè)備?有先后順序沒?Linux設(shè)備模型中三個很重要的概念就是總線,設(shè)備,驅(qū)動.即bus,device,driveroplatform總線是內(nèi)核注冊好的川于管

8、理設(shè)備及驅(qū)動的一種模式??偩€實現(xiàn)好了匹配規(guī)則,內(nèi)核對于往platform總線上注冊的設(shè)備及驅(qū)動対應(yīng)的類型做了抽象。4.insmod一個鞭動模塊,會執(zhí)行模塊中的哪個函數(shù)?rmmod呢?這兩個函數(shù)在設(shè)計上要注意哪些?遇到過卸載驅(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)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。