第五学:binder---service Manager的守护进程之路

Android ServiceManager ServiceManager是Binder的守护进程,在Android上如果service manager挂掉,所有采用Binder通信的进程服务都会挂掉。ServiceManager本身也是一个Binder服务,handle固定为0。提供注册服务,查询服务的功能。应用程序相要通过Binder向一个service发送数据,必须先通过Service Manager获取该service的handle然后才能通过binder驱动与service通信。 阅读详情
原文位置:http://blog.youkuaiyun.com/luoshengyang/article/details/6621566
综述:
binder机制是android当中非常关键的进程间通信机制,是一个类似于http的c/s架构,包括client、server、service manager以及binder。本一学要学的就是binder机制当中充当server查询器的service manager。

一、初始化binder驱动||申请binder硬件设备
1、打开一定大小的binder_state
2、将打开的binder的进程上下文信息保存
3、将打开的binder物理页面的地址同时映射到内核进程的虚拟地址以及server进程的虚拟地址,这样可以减少一次进程通信时的内存调用
4、proc中保存了物理页面,以红黑树形式保存

二、将service manager注册为守护进程
1、binder_become_context_manager
2、通过ioctl通知binder驱动程序,service manager为将要创建为守护进程
3、将当前线程放入service manager的线程树当中
4、设置全局的唯一守护进程号以及全局守护进程节点。

三、service manager作为守护进程循环读取binder
1、从SM中取出当前线程
2、将当前线程的looper参数置一
3、SM循环查看proc的红黑树中是否有待处理事件
4、SM读取binder事件




Android 进阶——Framework 核心之Binder对象管理者 Service Manager 守护进程及其自身代理对象详解(五) 运行于用户空间的Service Manager守护进程是Binder IPC 的核心部件之一,充当着IPC时上下文管理者角色,在负责管理系统的Binder Service组件的同时,还向Client组件提供获取Binder服务的对应的Binder引用对象(根据注册时的Binder服务名称) 阅读详情

相关推荐

Binder (二) binder 机制的管理者的角色Service Manager

binder 机制的管理者的角色Service Manager Service Manager进程负责管理client server角色, 上下文管理者context_manager BINDER_SET_CONTEXT_MGR int binder_become_context_manager(struct binder_state *bs) { return ioctl(bs->...

gbmaotai的博客 473

浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client、Server、Service Manager和驱动程序Binder四个组件构成。本文着重介绍组件Service Manager,它是整个Binder机制的守护进程,用来管理开发者创建的各种Server,并且向Client提供查询Serve

老罗的Android之旅 18万+

Android Binder机制(2) ContextManager注册过程分析

Context Manager对应的进程为servicemanager,它先于Service Server与服务客户端运行,首先进入接收IPC数据的状态,处理来自Service Server或服务客户端的请求。在init.rc脚本文件中也可以看到Context Manager在mediaserver与system_server之前运行了。 每当Service Server注册服务时,Context Manager都会把服务的名称与Binder节点编号注册到自身的服务目录中,该服务目录通过根文件系统下的/s

Bettarwang的专栏 4399

binder守护进程servicemanager简介

简介 servicemanager 进程 主要任务是什么?实现机制; 。启动流程 servicemanager 是一个可执行程序,由于起优先级很高,所以在init进程起来后,很快会被fork出来,下面是servicemanager进程的启动配置: service servicemanager /system/bin/servicemanager class c

沉思 1185

Service Manager分析

一、什么是Service Manager ServiceManager是Binder的守护进程,在Android上如果service manager挂掉,所有采用Binder通信的进程服务都会挂掉。 ServiceManager本身也是一个Binder服务,handle固定为0。提供注册服务,查询服务的功能。应用程序相要通过Binder向一个service发送数据,必须先通过Service Manager获取该service的handle然后才能通过binder驱动与service通信。 二、源码位置 Se

baidu_26866585的博客 1085

WorkBuddy驱动SolidWorks实测:AI建模流程、参数化与许可排查指南

AI辅助三维建模正在改变工程师的重复劳动方式。其核心理念不是替代人的设计决策,而是通过AI智能体接管CAD软件中的草图绘制、特征创建、尺寸修改等高频操作,让工程师从繁琐的GUI交互中解放出来。在SolidWorks这类主流CAD平台上,这类AI助手的落地依赖环境稳定、需求描述清晰和参数化建模规范。通过将外径、孔距等关键尺寸定义为全局变量并用方程式驱动,可实现改一个数、模型自动更新的高效流程;同时,遇到“无法获得许可”等环境故障时,需要按服务状态、安全软件隔离、干净卸载的顺序排查。以WorkBuddy驱动So

weixin_28559803的博客 366

Android Binder框架实现之servicemanager守护进程

    Android Binder机制(三) ServiceManager守护进程 前言   ServiceManager是用户空间的一个守护进程,它一直运行在后台。它的职责是管理Binder机制中的各个Server。当Server启动时,Server会将"Server对象的名字"连同"Server对象的信息"一起注册到ServiceManager中;而当Client需要获取Server接入点时...

IT先森 4702

Lumerical官方案例、FDTD时域有限差分法仿真学习(三)——环形谐振器(Ring resonator)之第二&第三部分

二、使用 MODE 的参数提取和蒙特卡罗 三、最终参数提取

weixin_45719141的博客 1万+

浅谈Service Manager成为Android进程间通信 IPC 机制Binder守护进程之路

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!                 &

hfyugg的博客 185

Tushare Pro的安装使用——“抱歉,您没有访问该接口的权限,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108”问题

最近做毕设关于量化交易的, 因此一直使用tushare作数据源,但是过程中到一些问题,因此这里写篇文章,供大家一起交流下。 Tushare简介 Tushare是一个免费、开源的python财经数据接口包。拥有如股票、基金、期货等行情数据,公司财务、基金经理等基本面数据,以及债券、外汇、行业、大数据、区块链。Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,因此非常方便...

sinat_40875078的博客 1万+

DS18B20温度传感器项目实战:从驱动编写到LCD显示,打造你的第一个温控系统

本文详细介绍了如何使用DS18B20温度传感器和LCD1602显示屏构建一个完整的温控系统。从硬件连接、OneWire协议实现到温度数据采集与LCD显示,全面解析了系统整合与工程化实现的关键步骤,帮助开发者快速掌握嵌入式温度监测系统的开发技巧。

weixin_42525328的博客 349

ServiceManager如何成为Binder进程通信的守护进程

在上一篇博客《Android源码分析之Binder进程间通信一》中,我详细的讲述了Android进程间通信为什么会选择Binder进行通信,而且在文章末尾,我还提议从4个方面来理解整个Binder进程间通信机制。当然这篇博客的重点就是介绍ServiceManager组件的,它是整个Binder机制的守护进程,用来管理开发创建的各种Server,并且向Client提供查询Server的远程接口的功能

夕林守护的博客 678

快手商业化风控内容审核场景下的大模型早期探索与应用

在处理大量的自动语音识别(ASR)输出时,面临的主要挑战之一是文本的冗长和格式混乱,这严重影响了审核人员的阅读效率。为了解决这一问题,我们利用大模型的理解能力对文本进行智能总结,可以显著优化文本内容,使其更加清晰并且具有可读性。该方式极大地提高了审核过程的效率,审核人员可以更快地处理信息,减少了处理时间和劳动强度。

kuaishoutech的博客 2740

浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路

在前面一篇文章浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路中,介绍了Service Manager是如何成为Binder机制的守护进程的。既然作为守护进程,Service Manager的职责当然就是为Server和Client服务了。那么,Server和Client如何获得Service Manager接口,进而享受它提供的服务呢?本文将简

老罗的Android之旅 10万+

Python爬虫实战:5分钟搞定大众点评评论数据抓取(附完整代码)

本文详细介绍了使用Python爬虫高效获取大众点评评论数据的5个关键技巧,包括环境配置、智能页面解析、反反爬策略、数据存储与容错设计以及性能优化。通过实战案例和完整代码,帮助开发者快速掌握文本挖掘技术,适用于市场分析和商业决策。

weixin_30660027的博客 290

【保姆级】联想服务器 Ubuntu 装机:RAID 0/1/5/10 从原理到配置(新手也能一次成)

联想服务器RAID配置指南:Ubuntu系统适配方案 摘要: 联想服务器采用LSI MegaRAID硬件控制器,支持RAID0/1/10/5四种阵列模式。RAID0提供最高性能但无冗余,适合临时数据;RAID1完全镜像确保数据安全,推荐用于系统盘;RAID10兼顾性能与冗余,适合数据库等高要求场景;RAID5平衡容量与成本,适用于文件服务器。配置可通过本地BIOS(Ctrl+R)或XCC远程管理完成,Ubuntu安装时可自动识别虚拟磁盘。注意事项包括:使用同型号硬盘、监控重建进度、避免SSD与机械盘混用等。

2501_93651177的博客 488

Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

来自:http://blog.youkuaiyun.com/luoshengyang/article/details/6621566本文着重介绍组件Service Manager,它是整个Binder机制的守护进程 用来管理开发者创建的各种Server, 并且向Client提供查询Server远程接口的功能。 Service Manager组件是用来管理Server并且向Client提供查询Server远程接口

薛瑄的博客 2336

L2CAP 面向连接信道(CoC)在 BLE 中的应用:建立、流控与数据传输

L2CAP(逻辑链路控制与适配协议)是蓝牙协议栈中的核心层,位于基带层之上,为上层协议提供数据传输服务。在低功耗蓝牙(BLE)中,L2CAP面向连接信道(Connection-Oriented Channel, CoC) 是实现可靠数据传输的关键机制,广泛应用于健康监测、智能家居、工业控制等领域。

byte轻骑兵的技术小窝 3634

Android之Service Manager的Binder守护进程

上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client、Server、Service Manager和驱动程序Binder四个组件构成。本文着重介绍组件Service Manager,它是整个Binder机制的守护进程,用来管理开发者创建的各种Server,并且向Client提供查询Ser

525

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android binder (4): Service Manager的初始化

Android binder (4): Service Manager的初始化

CCJHDOPC的专栏: 710

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Android源码解析之Binder守护进程Service Manager

转载自:http://blog.youkuaiyun.com/Luoshengyang/article/details/6621566         上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client、Server、Service Manager和驱动程序Binder四个组件构成。本文着重

Tomes.V.White 400

Android Binder机制(三) ServiceManager守护进程

Android Binder机制(三) ServiceManager守护进程 http://wangkuiwu.github.io/2014/09/03/Binder-ServiceManager-Daemon/  首页博客链接关于我留言板 ServiceManager是用户空间的一个守护进程,它一直运行在后台。它的职责是管理Binder机制中的各个Server。当Server启

CCJHDOPC的专栏: 1054

android service机制,浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路(2)...

继续分析这个函数之前,又要解释两个数据结构了,一个是struct binder_thread结构体,顾名思久,它表示一个线程,这里就是执行binder_become_context_manager函数的线程了。structbinder_thread{structbinder_proc*proc;structrb_noderb_node;intpid;intlooper;structb...

weixin_32089639的博客 322
上一篇: 第四学:logcat---android中LOG日志的读取过程
下一篇: 第六学:binder---client与server向SM的求学之路
class_brick
博客等级 码龄12年 223粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值