Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于linux的Android内核开发_Android_Linux Kernel_Kernel_Android Kernel - Fatal编程技术网

基于linux的Android内核开发

基于linux的Android内核开发,android,linux-kernel,kernel,android-kernel,Android,Linux Kernel,Kernel,Android Kernel,我对开发android手机的内核很感兴趣。我在互联网上搜索了android内核的开发,我知道了如何在linux机器上构建内核意味着如何使用工具创建自定义内核,但我想知道如何编写代码来制作android内核。如何从c编程和ALP开始。请指导我。Android使用Linux内核,这就是为什么您应该先熟悉Linux 从你的帖子中,我猜你对C语言知之甚少。在您开始做任何内核工作之前,您应该能够用C编写应用程序,因为如果您不能编写应用程序,您可能无法理解内核 要开始学习C,到处都有很多资源,我推荐Bria

我对开发android手机的内核很感兴趣。我在互联网上搜索了android内核的开发,我知道了如何在linux机器上构建内核意味着如何使用工具创建自定义内核,但我想知道如何编写代码来制作android内核。如何从c编程和ALP开始。请指导我。

Android使用Linux内核,这就是为什么您应该先熟悉Linux

从你的帖子中,我猜你对C语言知之甚少。在您开始做任何内核工作之前,您应该能够用C编写应用程序,因为如果您不能编写应用程序,您可能无法理解内核

要开始学习C,到处都有很多资源,我推荐Brian W.Kernighan的《C编程语言》一书。丹尼斯·里奇(C语言的发明者)

应用程序以所谓的“用户模式”运行,并且只能访问内核提供给它们的虚拟内存。如果应用程序试图访问不在其虚拟空间中的内存,内核将发送一个中止信号。这可以防止系统崩溃。在内核中,情况并非如此,因为内核在“内核模式”下运行,因此当您做错某件事时,可以访问整个地址空间。后果可能包括停止系统、擦除永久存储等等

因此,首先学习如何编写应用程序,可能是本机应用程序,通过学习“系统调用”,尝试使用内核提供的功能。为此,我推荐马克·米切尔(MarkMitchel)的《高级Linux编程》(AdvancedLinux Programming)一书,这本书在其网站上免费提供。你可以在这里找到一些参考资料

如果您对C和Linux内核提供的服务都感到满意。然后您就可以开始考虑深入内核了。非常受欢迎的书是罗伯特·洛夫的《Linux内核开发》。虽然我不认为它是最新的,它应该涵盖与该主题相关的主要主题,但可能有更多的资源是最新的


这是一个漫长的旅程,你应该首先认真考虑一下,根据你想做什么,你实际上可以在“用户空间”中完成它。

谢谢你的回复。我知道c编程到指针结构、数据处理、内存管理、文件操作等,但我不知道u所说的服务。这足以开始linux内核开发吗?如果我是你,我会掌握C语言,并浏览我向你展示的链接。编写一些应用程序,当你觉得合适的时候,就可以写一本关于内核的书,并且总是查找你不懂的东西。您还应该选择内核的特定部分,例如,您想编写设备驱动程序还是文件系统?很难指导你,因为有很多因素。谢谢你指导我。首先我将掌握C,然后我将学习内核。再次感谢你