【问题标题】:Does Dalvik VM talk to HAL/kernel layer via Bionic Libc?Dalvik VM 是否通过 Bionic Libc 与 HAL/内核层通信?
【发布时间】:2015-11-15 17:56:26
【问题描述】:

在给定的android堆栈中,

不包括在 LIBRARIES 层使用 NDK 套件编写的应用程序, 我了解到,任何在 APPLICATIONS 层编写的应用程序都必须在他们自己的进程中运行,在他们自己的 Dalvik VM 实例中,如下所示:

根据上面的进程堆栈,我看到 Dalvik 运行时通过 bionic Libc 库与 HAL/内核层通信。

我的问题:

如果不使用bionic Libc 库接口,Dalvik VM 不能访问 HAL/Kernel 层吗?

【问题讨论】:

  • 不确定你是否看过这个 2008 年的 Google IO 演讲:sites.google.com/site/io/anatomy--physiology-of-an-android
  • VM 不需要做任何 libc 未提供的事情。它确实可以访问一些不一定在 NDK 中公开的功能(例如 ashmem 助手)。
  • @fadden 这个问题不能回答是或否吗?然后为什么?

标签: android android-ndk hal


【解决方案1】:

当谈到 C 语言时,我发现你有些困惑。

毕竟仿生只是 android 的标准 C 库。

首先,您的答案是否定的。 虽然仿生 libC 在他们的图表中并不低于 Dalvik,但事实是 Dalvik 使用 libC 辅助函数来执行一些被视为操作系统服务的任务。 喜欢:

字符串处理、数学计算、输入/输出处理、内存分配和其他几个操作系统服务。

【讨论】:

    猜你喜欢
    • 2019-04-19
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 1970-01-01
    相关资源
    最近更新 更多