android binder

  • Overview




  • Linux device driver model
a new device object:
/sys/devices/virtual/misc/binder/

device file
/dev/binder

VFS operations



drivers\staging\android\binder.c

init:
binder_init ->misc_register ->device_create

bind_open:
  create a new binder_proc, add to binder_procs, link to filp->private_data


binder_mmap:
   详见 mmap进行内存映射的原理
1.在用户虚拟地址空间中寻找空闲的满足要求的一段连续的虚拟地址空间,为映射做准备(由内核mmap系统调用完成)
2. 建立虚拟地址空间(第一部中建立的地址空间)和文件或设备的物理地址之间的映射(设备驱动完成)()

bind_ioctl()
   for service manager:  BINDER_SET_CONTEXT_MGR, create a new binder_node
   
bind_ioctl(,  BINDER_WRITE_READ,  )
    write/read data


  • insight source code 

refer to mediaservice
frameworks\av\media\mediaserver\Main_mediaserver.cpp


to define a service

refer:
<Understanding the Linux Kernel>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值