我有興趣爲Android手機開發內核。我在互聯網上搜索有關android內核開發,我得到如何在Linux機器上構建內核意味着如何使用工具創建自定義內核,但我想知道如何編寫代碼來製作android內核。如何從C編程和ALP開始。請指導我。使用linux進行Android內核開發
-2
A
回答
1
Android使用Linux內核,這就是爲什麼你應該先熟悉Linux。
從你的帖子我猜你對C編程語言知之甚少。在開始進行任何內核工作之前,您應該可以使用C編寫應用程序,因爲如果您無法編寫應用程序,則可能無法理解內核。
要開始學習C,到處都有很多資源,我會推薦Brian W. Kernighan編寫的「C編程語言」一書。和Denis M. Ritchie(C的發明人)。
應用程序以所謂的「用戶模式」運行,並且只能訪問由內核提供給他們的虛擬內存。如果應用程序嘗試訪問不在其虛擬空間中的內存,則內核會發送中止信號。這可以防止系統崩潰。在內核中,情況並非如此,因爲內核在「內核模式」下運行,因此當您執行某些錯誤時可以訪問整個地址空間,其結果可能包括從停止系統到擦除永久存儲等等。因此,首先要學習如何編寫應用程序,也許本機應用程序,通過學習「系統調用」來嘗試使用內核提供的功能。爲此,我會推薦Mark Mitchel編寫的「高級Linux編程」一書,它可以在其網站http://advancedlinuxprogramming.com/上免費託管。你可以在這裏找到一些參考https://en.wikibooks.org/wiki/The_Linux_Kernel。
如果您對Linux內核提供的C和服務都很滿意。比你可以開始考慮進入內核。非常受歡迎的書是羅伯特·洛夫的「Linux內核開發」。儘管我不認爲它是最新的,但它應該涵蓋與該主題相關的主要議題,可能有更多的資源更新。
這是一段漫長的旅程,您應該首先考慮它,具體取決於您想要做什麼,實際上可以在「用戶空間」中進行。
相關問題
- 1. 使用KVM進行Linux內核開發
- 2. 使用Qemu進行Linux內核開發?
- 3. linux內核開發
- 4. LINUX VS BSD內核開發
- 5. Android:使用KGDB進行內核調試
- 6. 如何開始使用Linux內核開發
- 7. 在Python中開發Linux內核模塊
- 8. qemu中的x86 linux內核開發
- 9. Linux內核開發首選編輯器
- 10. Debian,make-kpkg和Linux內核開發
- 11. 設置Netbeans/Eclipse的Linux內核開發
- 12. 針對linux內核開發的發行版
- 13. Linux內核函數和內核模塊開發
- 14. 其他內核的Linux內核模塊開發編譯
- 15. 如何從其他linux機器上使用macbook存儲空間進行linux內核開發?
- 16. TASK_UNINTERRUPTIBLE和在Linux內核開發中使用C處理線程
- 17. 嵌入式linux/android內核開發工作流程
- 18. 使用「int 0x80」進行Linux內核系統調用
- 19. 內核開發
- 20. Linux內核進程管理
- 21. linux內核進程簿
- 22. 使用Adobe Air進行Android 2.2開發
- 23. 使用eclipse進行android開發的phonegap
- 24. 使用Qt進行Android開發
- 25. 在Android中使用XML進行開發
- 26. 使用Netbeans IDE進行Android開發
- 27. 選擇Linux進行開源開發
- 28. 在Linux內核中使用AES進行加密和解密
- 29. get_user_pages()linux內核使用virt_to_page()
- 30. 如何知道發行版使用的Linux內核版本?
謝謝你的回覆。我知道c編程直到指針結構數據處理內存管理文件操作等。但我不知道服務,因爲你告訴。這足以啓動linux內核開發 –
如果我是你,我會掌握C並查看我向你展示的鏈接。寫幾個應用程序,當你感覺到它的時候,得到一本關於內核的書,並且總是查找你不瞭解的東西。您還應該選擇內核的特定部分,例如,是否要編寫設備驅動程序或文件系統?這很難引導你,因爲有很多因素。 –
謝謝你指導我.. –