zoukankan      html  css  js  c++  java
  • Binder机制及底层实现

    <1>进程间的内存空间是进程私有的
    <2>进程间和内核的空间是互通的
    <3>进程1空间<--->内核空间<-->进程2空间
    Binder跨进程通信(IPC)的原理就是利用了这个可共享的内核空间将进程私有的空间进行关联的。而Binder就是这个通道。

    使用步骤:
    1.服务端注册服务
    <1>server端向binder驱动发起注册请求
    <2>Binder驱动将请求转发给ServiceManage进程
    <3>ServiceManage把服务注册到表里面
    <4>此时ServiceManage进程拥有该服务

    2.客户端获取服务
    <1>客户端向Binder驱动发起获取服务的请求
    <2>Binder驱动将请求转发给ServiceManage
    <3>ServiceManage查找对应的服务返回给Binder
    <4>Binder再将服务传递给客户端

    3.客户端使用服务
    Client进程将参数数据发到Server进程
    <1>客户端把数据从进程空间交给Binder的内核空间
    <2>Binder将数据copy到对应的Service空间
    Server进程根据Client进程要求,调用目标方法
    <3>service进程收到Binder的通知后进行对应的方法调用
    <4>把处理结果写道自己的内存中
    Server进程将目标方法的结果,返回给Client进程
    <1>Binder从service进程的内从中取出数据
    <2>把数据copy到客户端进程并通知客户端

  • 相关阅读:
    第三章 熟悉常用的HDFS操作
    爬虫大作业
    数据结构化与保存
    使用正则表达式,取得点击次数,函数抽离
    爬取校园新闻首页的新闻
    网络爬虫基础练习
    综合练习,词频统计
    Hadoop综合大作业
    理解MapReduce
    熟悉常用的HBase操作
  • 原文地址:https://www.cnblogs.com/lianzhen/p/13054486.html
Copyright © 2011-2022 走看看