我有兴趣为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并查看我向你展示的链接。写几个应用程序,当你感觉到它的时候,得到一本关于内核的书,并且总是查找你不了解的东西。您还应该选择内核的特定部分,例如,是否要编写设备驱动程序或文件系统?这很难引导你,因为有很多因素。 –
谢谢你指导我.. –