首頁 > 專家說

Linux內(nèi)核開發(fā)與Linux驅(qū)動開發(fā)有什么關(guān)系?

來源:新能源網(wǎng)
時間:2024-08-17 12:42:15
熱度:

Linux內(nèi)核開發(fā)與Linux驅(qū)動開發(fā)有什么關(guān)系?問題描述:Linux內(nèi)核開發(fā)與Linux驅(qū)動開發(fā)有什么關(guān)系?領(lǐng)域?qū)<遥篖inux內(nèi)核包括系統(tǒng)調(diào)用接口、進(jìn)程管理、內(nèi)存管理、虛擬文件

問題描述:Linux內(nèi)核開發(fā)與Linux驅(qū)動開發(fā)有什么關(guān)系?

領(lǐng)域?qū)<遥?/span>

Linux內(nèi)核包括系統(tǒng)調(diào)用接口、進(jìn)程管理、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)堆棧、設(shè)備驅(qū)動,Linux內(nèi)核開發(fā)就包括上面的每一個模塊了。

Linux還分為用戶空間和內(nèi)核空間,2者基本關(guān)系如下圖所示:

Linux驅(qū)動開發(fā)屬于Linux內(nèi)核開發(fā)的一部分,手機(jī)、平板底層LCD、Camera、G-sensor等硬件驅(qū)動都需要Linux驅(qū)動開發(fā)來完成。作為驅(qū)動工程師需要掌握如下Linxu驅(qū)動開發(fā):

1.Linux系統(tǒng)下的Uboot移植2.Linux系統(tǒng)下的kernel移植

3.Linux

系統(tǒng)下的各外設(shè)驅(qū)動開發(fā)

字符設(shè)備驅(qū)動

lcd設(shè)備驅(qū)動程序

觸摸屏設(shè)備驅(qū)動程序

input輸入子系統(tǒng)驅(qū)動

Camear驅(qū)動開發(fā)

塊設(shè)備驅(qū)動、Audio驅(qū)動、USB驅(qū)動開發(fā)等


以上就是Linux內(nèi)核開發(fā)與Linux驅(qū)動開發(fā)的說明,希望對你理解有幫助!

領(lǐng)域?qū)<遥?/span>我做過驅(qū)動開發(fā),說說我的看法。本質(zhì)上說Linux內(nèi)核開發(fā)和Linux驅(qū)動開發(fā)是不一樣的,或者說驅(qū)動開發(fā)是內(nèi)核開發(fā)的一部分,因?yàn)轵?qū)動屬于內(nèi)核。目前國內(nèi)驅(qū)動開發(fā)和內(nèi)核開發(fā)一般是一樣的。有對應(yīng)linux內(nèi)核開發(fā)工程師和linux驅(qū)動開發(fā)工程師職位。

內(nèi)核開發(fā)指的是形成linux操作系統(tǒng)的過程,也就是內(nèi)核開發(fā)者向內(nèi)核中添加信息使得linux從無到有的過程或者添加新的功能,比如Linux內(nèi)核在2.6版本內(nèi)核之前是沒有設(shè)備驅(qū)動模型,內(nèi)核開發(fā)者在2.6版本中增加了設(shè)備驅(qū)動模型,這屬于linux內(nèi)核開發(fā)。而linux驅(qū)動開發(fā)指的是使用Linux內(nèi)核提供的接口,驅(qū)動開發(fā)者根據(jù)實(shí)際情況按照內(nèi)核提供驅(qū)動的框架寫相應(yīng)的驅(qū)動并注冊到相應(yīng)的總線上,進(jìn)而驅(qū)使硬件設(shè)備工作,比如I2C設(shè)備就注冊到i2c總線上,這個i2c總線是內(nèi)核開發(fā)者為我們提供的接口,我們只需要調(diào)用相應(yīng)接口即可。整個工作流程是:linux應(yīng)用程序->內(nèi)核->驅(qū)動->硬件。如下圖所示:

多說一點(diǎn),要進(jìn)行l(wèi)inux驅(qū)動開發(fā),必須學(xué)好C語言、能夠看懂電路圖(因?yàn)轵?qū)動開發(fā)需要根據(jù)相應(yīng)的引腳來編寫驅(qū)動)需要模電和數(shù)電知識,linux操作系統(tǒng)知識,linux應(yīng)用編程知識(多進(jìn)程、多線程、文件io操作)因?yàn)槲覀円獪y試寫的驅(qū)動能否正常工作需要linux應(yīng)用編程知識。最好對數(shù)據(jù)結(jié)構(gòu)中的鏈表有所了解,內(nèi)核中有大量的內(nèi)核鏈表。

感謝評論,交流,轉(zhuǎn)發(fā)。更多精彩內(nèi)容可關(guān)注本頭條號:嵌入式軟硬件開發(fā)。感謝大家。相互交流,共同進(jìn)步。

領(lǐng)域?qū)<遥?/span>還沒學(xué)到驅(qū)動,大致的說一下吧,驅(qū)動是建立在內(nèi)核之上來開發(fā)的,比如你寫了一個驅(qū)動的代碼,那就要把驅(qū)動加載到內(nèi)核中去,然后內(nèi)核去執(zhí)行,為什么需要內(nèi)核,我個人的理解就是,內(nèi)核是來管理硬件資源的,你寫的驅(qū)動代碼是來驅(qū)動硬件的,內(nèi)核不可能去驅(qū)動硬件的,當(dāng)然包括管理進(jìn)程,這部分的事情由驅(qū)動去做,驅(qū)動可以理解為一個進(jìn)程,內(nèi)核負(fù)責(zé)來管理,結(jié)構(gòu)就是:應(yīng)用程序->內(nèi)核(比如系統(tǒng)調(diào)用write,read等等)->驅(qū)動程序(比如write來驅(qū)動磁盤來寫)。

換句話說就是對于驅(qū)動開發(fā),不知道樓主是否學(xué)過單片機(jī),可以理解驅(qū)動就是一個驅(qū)動硬件的過程,就像單片機(jī)一樣,當(dāng)然再發(fā)過程中還是有很大的區(qū)別的。

內(nèi)核開發(fā),這個工作還真不是一般的人能開發(fā)的,不然linux內(nèi)核的維護(hù)就不會給linux之父了,內(nèi)核的開發(fā)就是用一種方法來合理的管理并分配硬件資源,比如內(nèi)存的管理就用到分頁的方法,還有一些磁盤的管理,進(jìn)程的管理,cpu的調(diào)度算法(比如簡單的FIFO,時間片)等等,在學(xué)習(xí)內(nèi)核前做好把操作系統(tǒng)原理看一下,這本書還可以:

我學(xué)習(xí)的時候結(jié)合了國外的操作系統(tǒng)原理第七版,因?yàn)檫@兩本書介紹的側(cè)重點(diǎn)有所不同,上圖的書注重實(shí)踐性(相比后一本),后一本注重算法方面。

額。。說偏了哈,反正總有一天樓主估計是想開發(fā)內(nèi)核的,所以建議先把原理學(xué)會,還有最基本的計算機(jī)科學(xué)基礎(chǔ)知識最好學(xué)的扎實(shí)點(diǎn),到時學(xué)習(xí)內(nèi)核就不是特別吃力,當(dāng)然是相比什么都不懂的情況下。

領(lǐng)域?qū)<遥?/span>國內(nèi)少有內(nèi)核開發(fā)這一說,國外也不例外,涉及內(nèi)核的一般多為個性化配置,功能定制,根據(jù)自己的上層邏輯修修改改,即使眾多l(xiāng)inux內(nèi)核貢獻(xiàn)者,現(xiàn)在也只能說是不斷維護(hù)更新。

國內(nèi)一般驅(qū)動開發(fā),內(nèi)核開發(fā)是同一崗位,多涉底層移植,定制,外設(shè)驅(qū)動編寫,都可以叫做內(nèi)核開發(fā),驅(qū)動開發(fā),沒有明確的崗位界限,謝謝。

領(lǐng)域?qū)<遥?/span>簡單關(guān)系就是驅(qū)動屬于內(nèi)核的一部分!

領(lǐng)域?qū)<遥?/span>驅(qū)動開發(fā)是內(nèi)核開發(fā)的一種,內(nèi)核開發(fā)是指內(nèi)核層應(yīng)用開發(fā),比如常見的硬件驅(qū)動、netfilter等等。

  1. 大連開發(fā)區(qū)公建取暖費(fèi)是多少?
    2024-08-18
  2. 第二次工業(yè)革命中新能源的開發(fā),利用對人們?nèi)粘I畹挠绊懯鞘裁?
    2024-08-17
  3. 長沙那個開發(fā)灣田國際建材城的投資者都不是一般人物啊,是很有實(shí)力的,灣田公司也很有實(shí)力,求證啊!
    2024-08-17
  4. 幾種LED路燈驅(qū)動電路及其優(yōu)缺點(diǎn)電路圖求答案
    2024-08-17
  5. 能源危機(jī)是一個全球性的共同問題,科學(xué)家們正在積極探索核能的開發(fā)與和平利用,其中可控?zé)岷朔磻?yīng)向人類展
    2024-08-17
  6. 從5號線終點(diǎn)站(閔行開發(fā)區(qū)站)去七寶古鎮(zhèn)怎么走?
    2024-08-17
  7. 太陽能的開發(fā)與利用[越詳細(xì)越好]
    2024-08-17
  8. “西氣東輸”是我們政府開發(fā)大西北的一項(xiàng)重大工程.將新疆的天然氣通過4200km的管道向東輸送至沿線各省和長江三角洲地區(qū). (1)天然氣的
    2024-08-17
  9. 曹妃甸區(qū)的所轄開發(fā)區(qū)
    2024-08-17
  10. 當(dāng)前社會面臨著許多問題:人體健康、資源的保護(hù)與合理應(yīng)用、節(jié)能與清潔能源的開發(fā)等,這些問題的解決都有賴于化學(xué)科學(xué)的發(fā)展。下列敘
    2024-08-17
  11. 人類不斷開發(fā)新資源 地球會不會承受不住
    2024-08-17
  12. 開發(fā)宇宙能源資源是開發(fā)什么
    2024-08-17
  13. 西部大開發(fā)和振興東北老工業(yè)基地過程中的宣傳工作都有哪些?
    2024-08-17
  14. 開發(fā)月球是好還是壞?
    2024-08-17
  15. 請問二次供水設(shè)備是開發(fā)商,物業(yè)還是由我們業(yè)主,誰來承擔(dān)?
    2024-08-17