Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.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
Android操作系统内核相关查询_Android_Linux_Memory_Kernel_Rtos - Fatal编程技术网

Android操作系统内核相关查询

Android操作系统内核相关查询,android,linux,memory,kernel,rtos,Android,Linux,Memory,Kernel,Rtos,我想写一些关于Android内核的案例研究。这将是我在高级操作系统课程中的一部分。 我想要的主要关注点是在任何RTO中如何实现优先级队列的实际实现,只是将其与我们在课堂上学习的理论联系起来。 但我逐渐认识到,寻找信息确实是一项艰巨的任务,而不仅仅是有一个好主意( 所以现在我想把我自己限制在 1.内核(进程或内存),这将是非常具体的 或 2.Android和Linux操作系统的区别 我所观察到的是,虽然我们对这两个方面都有一些信息,但给出的数据甚至可以在我的教科书中看到。我想要的是一个实际的差异

我想写一些关于Android内核的案例研究。这将是我在高级操作系统课程中的一部分。 我想要的主要关注点是在任何RTO中如何实现优先级队列的实际实现,只是将其与我们在课堂上学习的理论联系起来。 但我逐渐认识到,寻找信息确实是一项艰巨的任务,而不仅仅是有一个好主意( 所以现在我想把我自己限制在 1.内核(进程或内存),这将是非常具体的 或 2.Android和Linux操作系统的区别 我所观察到的是,虽然我们对这两个方面都有一些信息,但给出的数据甚至可以在我的教科书中看到。我想要的是一个实际的差异


我希望我能从中得到一些指导。

开始学习的一个好方法是Android git存储库:


这里有一些政治观点,但最终你会找到更多自己的链接:

Android Linux内核和主线Linux内核非常接近。有几个关键区别:

  • Android应用了主要的wakelock补丁。这些不是主线。谷歌应该透露多年来在这个问题上的反复
  • Android有
    binder
    安全模型,主线没有
  • Android有一个全新的帧缓冲区来支持SurfaceFlinger
  • 手机的硬件支持。主线内核对所有ARM处理器和设备没有直接的支持。考虑Android内核树的一个融合:主线+ ARM(OMAP)+厂商补丁。< /LI>
  • 特定的嵌入式调优

  • 然而,在主线Linux和Android Linux中,95%以上的代码是相同的。Android不是RTO(RT部分在无线电模块上的单独处理器中处理).

    回答得好。一个更正:活页夹是关于IPC的,而不是安全性。有人可能会说Android的安全模型也不同,但这是由操作系统而不是内核来处理的。这个列表中还应该增加一个选项:ashmem,用于在进程之间共享内存。还有很多其他的区别,但它们都是sm好吧,我想我明白你想说的了。如果android不是RTOS,那么我会做关于如何实现进程或内存的案例研究。你能给我指一些链接或一些代码演练吗。我所能找到的要么是一些定义(如我已经学过的教科书中的定义)或存储库中的核心代码(难以理解)。有什么简单的方法可以将我所研究的内容与内核中实际的内容联系起来吗?我知道这可能很奇怪,但我需要一个中间点来开始。链接的writeup中有一些严重的错误。Binder不是一个安全模型,它链接的OpenBinder也不是Android中使用的(android有一个极其简化的版本,除了基本的机制外什么都不共享,特别是它没有发现机制)。内核设备驱动程序和内核中的任何其他内容都不依赖于Binder,它是用于用户模式操作系统和应用程序服务的工具。而且它忽略了内核安全模型方面的实际新颖之处,即对某些用户组进行硬编码以实现内核权限,例如联网。