【问题标题】:IPC mechanisms conceptsIPC 机制概念
【发布时间】:2012-01-13 20:27:15
【问题描述】:

我想了解OS中的这些IPC机制概念——共享内存、消息系统、套接字、RPC、RMI

不同的操作系统如何实现这些。具体是安卓操作系统?

【问题讨论】:

    标签: android operating-system ipc shared-memory


    【解决方案1】:

    IPC 是进程间通信 OS 中的机制是一个大讨论的概念,所以我想这里我们不能涵盖所有这些,

    一些低级的东西:

    这里讨论的 IPC 机制处于最低级别——所有其他 CPU 间 IPC 机制都使用它作为基础。例如,通过 ARM11 处理器到另一个处理器的 TCP/IP 连接最终会通过这种 IPC 机制。诊断消息是另一个依赖此低级 IPC 的消息示例。

    IPC 机制由两个方面实现——“客户端”面向内核并提供基于回调的接口样式,“CPU 端”提供与其他 CPU 的接口。

    • CPU 端实现为共享内存接口,具有 中断和“门铃”机制。在最高级别,发送 消息从 ARM11 到另一个 CPU,消息内容被放置 在共享内存的缓冲区中,硬件端口被触发 向其他 CPU 指示数据可用。

    • 在相反的方向,数据被放入共享内存中 另一个 CPU 和硬件中断在 ARM11 上触发。 此硬件中断导致 ARM11 检查共享 内存缓冲区,检索消息并将其路由到客户端。

    但更具体到 Android:

    android中的IPC,描述了不同类型的android组件之间的通信机制。

    Android 实现了一些用于安全地在程序之间进行通信或协调的关键工具。这些机制使 Android 应用程序能够在后台运行进程、提供其他应用程序使用的服务、安全地共享关系数据、启动其他程序以及安全地重用其他应用程序的组件。

    • Android 上发生的大部分进程间通信 (IPC) 是通过一个名为的数据结构的传递来完成的 意图。这些是包含一些信息的集合 系统可以用来帮助确定去哪里的预期属性 如果开发人员不明确,则发送 Intent。动作属性 表达 Intent 的用途(Intent.ACTION_VIEW 动作 表示数据要显示给用户,例如)。 data 属性是一个可选的 URI,可以指向一个文件, 联系人、网页、电话号码等。意图也可能 有一组称为附加项的键/值对以及标志, 组件和其他更高级的功能。

    • 这些 IPC 机制中的每一个都在一定程度上使用 Intent,并且是 大多数 Android 开发人员可能有些熟悉。然而, 因为安全地使用这些是 Android 安全的关键,

    1) Intents 是组件可以发送和接收的消息。它是一种在进程之间传递数据的通用机制。在意图的帮助下,我们可以启动服务或活动,调用广播接收器等等。

    2) Bundles 是数据通过的实体。它类似于对象的序列化,但在 android 上要快得多。 Bundle 可以通过 getExtras() 方法从 Intent 中获取。

    3) Binders 是允许活动和服务获得对另一个服务的引用的实体。它不仅允许简单地向服务发送消息,还可以直接调用它们的方法。

    更多信息请看:

    1. Grasping Android's IPC mechanism

    2. Android’s Securable IPC Mechanisms

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 2018-02-01
      • 2016-06-01
      • 1970-01-01
      相关资源
      最近更新 更多