安卓操作系统有“主机”操作系统吗?

3

我正在学习Android考试,其中有一件事让我困惑,那就是Android Dalvik VM / Linux Kernel的构成。我理解在典型的机器上,操作系统位于内核之上,如下所示:

hardware > kernel > OS > applications

但在Android上,它看起来像这样:
hardware > kernel > Dalvik VM > app
                  > Dalvik VM > app

如果我的理解是正确的,这是否意味着内核和应用程序之间唯一的东西就是 Dalvik 虚拟机,基本上不存在像 Windows 这样的“Android 操作系统”?

3个回答

4
Dalvik是Android操作系统的一个重要组成部分,几乎运行着每一个Android应用程序。 Android操作系统架构

Android Architecture


你可能想提供一个链接来归属那个图表。 - Ted Hopp

3
操作系统(OS)的定义有些模糊,但内核明确是OS的一部分。普遍认为,OS并不仅仅“运行在”内核之上。
对于非内核软件的多少被视为操作系统而非仅仅是其他库/服务/服务器这个问题存在模糊性。桌面电脑和Android手机都运行Linux,但它们通常被认为运行不同的操作系统。 libc是否是桌面操作系统的一部分?很可能是,因为它提供了针对操作系统的应用所需的API,并且在libc中实际执行向内核的系统调用。Dalvik VM是否是Android操作系统的一部分?很可能是,因为所有Android应用程序都包含只能由Dalvik VM执行的代码。
如果删除libc,则不会留下可以运行的应用程序,因为没有任何实际的软件直接针对Linux内核接口。删除Dalvik VM将导致无法运行任何Android应用程序。因此,这些必要的部分应该被命名为操作系统的一部分。
那么对于一些不太必要的部分,某些程序可以没有的情况呢?这里就有些模糊了。如果您认为操作系统是提供和调节多个程序之间共享硬件等公共资源的东西,那么您应该认为用户空间程序和库同样是操作系统的一部分,它们可以做到相同的事情或是访问内核接口的标准方式。

0

你可以将它直接与Java虚拟机或.NET平台中的公共语言运行时进行比较。它经过优化,考虑到移动设备资源受限的情况。它在Android操作系统上运行以运行您的应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接