内部机制_回顾binder框架关键点
server注册服务时, 对每个服务都提供不同的ptr/cookie,
在驱动程序里对每个服务都构造一个binder_node, 它也含有ptr/cookie

client使用服务前要先getService:会在驱动程序里对该服务构造一个binder_ref,
binder_ref含有desc, node成员, desc是整数, node指向对应服务的binder_node

使用服务时, client构造数据,调用ioctl:数据里含有handle

驱动程序根据handle找到binder_ref(desc==handle), 找到binder_node, 再找到server,
从binder_node取出ptr/cookie连同那些数据发给server

server根据ptr/cookie知道要调用哪一个服务,....

最核心函数: ioctl
client的最核心数据是:handle
server的最核心数据是:ptr/cookie

最新文章

  1. 插头dp
  2. unreal 自定义 Slate Style Sets
  3. Java中Sting类型对象内容不可改变
  4. Mediawiki
  5. 阿里前端框架Alice是个不错的选择
  6. 操作系统双语阅读 - Schedulers调度器2
  7. iOS App Icon图标 尺寸规范
  8. Android的onCreateOptionsMenu()创建菜单Menu详解
  9. 精通Linux的“kill”命令
  10. Webdriver:Unsupported Marionette protocol version 2, required 3
  11. nodejs之日志管理
  12. .NET4.0下使用Net2.0类库或程序集
  13. 无法启动T-SQL调试。未能连接到计算机"."。这是在主机名解析时通常出现的暂时错误……
  14. Photoshop调出清晰的阴雨天气山水风景照
  15. memset()函数及其作用(转)
  16. 洛谷P2242 公路维修问题
  17. puts,p,print的区别
  18. Spring_Spring与DAO_Spring的事务管理
  19. 【bzoj2402】陶陶的难题II 分数规划+树链剖分+线段树+STL-vector+凸包+二分
  20. 非super user管理会话

热门文章

  1. 【2020.12.02提高组模拟】A组反思
  2. 二、springboot项目使用seata实现分布式事务
  3. 老猿学5G扫盲贴:3GPP规范中部分与计费相关的规范序列文档
  4. PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系
  5. PyQt(Python+Qt)学习随笔:图例解释QFrame类的lineWidth、midLineWidth以及frameWidth属性
  6. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的iconSize属性
  7. windows cmd 链接远程mysql服务器
  8. python学生管理名片
  9. APIO2020 交换城市
  10. C++笔试题续