1、驅(qū)動程序分為幾類?
字符設(shè)備驅(qū)動
塊設(shè)備驅(qū)動
網(wǎng)絡(luò)設(shè)備驅(qū)動
2、字符設(shè)備驅(qū)動需要實現(xiàn)的接口通常有哪些
open、close、read、write、ioctl等接口。
3、主設(shè)備號與次設(shè)備號的作用
主設(shè)備號和次設(shè)備號是用來標(biāo)識系統(tǒng)中的設(shè)備的,主設(shè)備號用來標(biāo)識設(shè)備的類型,次設(shè)備號用來標(biāo)識具體的設(shè)備,以便系統(tǒng)能夠識別出具體的設(shè)備。
4、交叉編譯器的作用
在一個平臺上生成另一個平臺的可執(zhí)行程序。例如,x86平臺上生成arm平臺的可執(zhí)行程序。通常嵌入式系統(tǒng)是基于arm平臺,由于arm平臺的算力相對不高,編譯大型程序慢,所以使用交叉編譯器在x86平臺進(jìn)行編譯,大大減少了編譯時間。
5、硬鏈接和軟鏈接的區(qū)別
軟鏈接相當(dāng)與window系統(tǒng)的快捷方式,軟鏈接文件存放的內(nèi)容是源文件的絕對路徑。刪除源文件會使軟鏈接失效。
硬鏈接是指向文件或目錄的另一個名稱,它們與源文件或目錄共享相同的inode,但具有不同的名稱。刪除源文件不會影響到硬鏈接文件。
6、Linux內(nèi)核的組成部分?
進(jìn)程調(diào)度(SCHED)、進(jìn)程間通信(IPC)、內(nèi)存管理(MM)、虛擬文件系統(tǒng)(VFS)、網(wǎng)絡(luò)接口(NET)
7、Linux內(nèi)核有哪些同步方式?
原子操作、信號量、自旋鎖、讀寫鎖、順序鎖等。
8、用戶空間和內(nèi)核空間的通信方式有哪些?
系統(tǒng)調(diào)用、信號、procfs、mmap、netlink等
9、BootLoader、Linux內(nèi)核、根文件系統(tǒng)的關(guān)系?
系統(tǒng)一上電,就執(zhí)行BootLoader來初始化處理器及外設(shè),將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài)。
然后將Linux內(nèi)核、根文件系統(tǒng)從非易失性存儲器讀取到內(nèi)存中并執(zhí)行Linux內(nèi)核。
Linux內(nèi)核完成初始化之后就掛載某個文件系統(tǒng)作為根文件系統(tǒng)。
10、linux內(nèi)核中EXPORT_SYMBOL宏和EXPORT_SYMBOL_GPL宏的作用
EXPORT_SYMBOL宏用于導(dǎo)出內(nèi)核模塊中的全局變量和函數(shù),使其可以被其他模塊調(diào)用。
EXPORT_SYMBOL_GPL宏用于導(dǎo)出內(nèi)核模塊中的全局變量和函數(shù),但只能被GPL授權(quán)的模塊調(diào)用。
11、container_of(ptr, type, member)的作用
已知結(jié)構(gòu)體type的成員member的地址ptr,求解結(jié)構(gòu)體type的起始地址
12、kmalloc與vmalloc區(qū)別
都是用于內(nèi)核空間申請內(nèi)存
kmalloc能申請較小的內(nèi)存;vmalloc能申請較大的內(nèi)存
kmalloc保證申請的內(nèi)存在物理上是連續(xù)的;vmalloc保證申請的內(nèi)存在虛擬地址空間上的連續(xù),在物理上可能不連續(xù)
13、內(nèi)存管理單元MMU的作用?
地址映射。
內(nèi)存分配和回收。
內(nèi)存保護(hù)。
內(nèi)存擴充。
14、簡述MMU將VA轉(zhuǎn)為PA的過程
以三級頁表為例,MMU通過訪問頁表基址寄存器,得到一級頁表PGD的基地址,再結(jié)合虛擬地址中的PGD index找到了下一級頁表PTE的基地址;得到了PTE的基址,再結(jié)合虛擬地址中的PTE index找到PFN,然后再和VA相加得到物理地址。
15、操作系統(tǒng)的內(nèi)存分配一般有哪幾種方式,各有什么優(yōu)缺點?
分頁存儲管理:優(yōu)點是不需要連續(xù)的內(nèi)存空間,且內(nèi)存利用率高(只有很小的頁內(nèi)碎片);缺點是不易于實現(xiàn)內(nèi)存共享與保護(hù)。
分段存儲管理:優(yōu)點是易于實現(xiàn)段內(nèi)存共享和保護(hù);缺點是每段都需要連續(xù)的內(nèi)存空間,且內(nèi)存利用率較低(會產(chǎn)生外部碎片)。
段頁式存儲管理:優(yōu)點是不需要連續(xù)的內(nèi)存空間,內(nèi)存利用率高(只有很小的頁內(nèi)碎片),且易于實現(xiàn)段內(nèi)存共享和保護(hù);缺點是管理軟件復(fù)雜性較高,需要的硬件以及占用的內(nèi)存也有所增加,使得執(zhí)行速度下降。
-
驅(qū)動
+關(guān)注
關(guān)注
12文章
1916瀏覽量
86909 -
Linux
+關(guān)注
關(guān)注
87文章
11509瀏覽量
213724 -
開發(fā)
+關(guān)注
關(guān)注
0文章
373瀏覽量
41510
發(fā)布評論請先 登錄
Linux文件系統(tǒng)知識點詳解

【信盈達(dá)】C語言知識點的總結(jié)
嵌入式Linux內(nèi)存管理知識點
Linux 源代碼閱讀知識點及要求
Linux教程之Linux的網(wǎng)絡(luò)應(yīng)用詳細(xì)知識點資料免費下載

linux開發(fā)需要學(xué)習(xí)哪些知識
嵌入式知識點總結(jié)

【嵌入式】基于ARM的嵌入式Linux開發(fā)總結(jié)

Linux中多線程編程的知識點

評論