摘要: 一、什么是系统服务及哪些是系统服务 系统服务包括:AMS、WMS、PMS、PKMS等。 二、Binder应用服务 什么Binder? 三、系统服务与Binder应用服务启动 1. 系统服务启动是通过SystemServer中的run函数中启动的。 // Start services. try { t 阅读全文
posted @ 2021-09-04 17:45 naray 阅读(607) 评论(0) 推荐(0)
摘要: 一、简介: Binder是跨进程内存访问,是Android中使用最广泛的IPC机制。 Binder由以下几部分组成: Binder驱动 Binder Manager Binder Client Binder Service 对照TCP/IP中Client与Server服务连接过程: Binder驱动 阅读全文
posted @ 2021-09-04 16:15 naray 阅读(230) 评论(0) 推荐(0)
摘要: 一、SystemServer启动做了哪些事? 启动各种服务,是将系统服务注册到ServiceManager中,/framewoks/base/core/java/android/app/SystemServiceRegister.java: /** * Manages all of the syst 阅读全文
posted @ 2021-09-04 15:25 naray 阅读(267) 评论(0) 推荐(0)
摘要: 一、服务 系统服务将服务注册在ServiceManager中,Client通过ServiceManager获取服务的Bindler实例,通过Binder与服务通信。 ServiceManager源码(framework/base/core/java/android/os/ServiceManager 阅读全文
posted @ 2021-09-04 15:07 naray 阅读(1381) 评论(0) 推荐(0)
摘要: 一、简介 1. Linux内核基础知识, (1)进程隔离/虚拟地址空间 进程隔离是防止进程A数据写入到进程B地址空间,进程隔离实现使用了虚拟地址空间。 进程间通信需要使用某种相应的通信机制,在Android中使用Binder实现。 (2)系统调用 (内核空间和用户空间)? 对内核有某些保护机制来告诉 阅读全文
posted @ 2021-09-04 14:02 naray 阅读(272) 评论(0) 推荐(0)
摘要: 一、Android系统启动了哪些服务进程? 系统首页启动系统第一个进程Init进程,init进程加载init.rc文件。在init.rc文件在需要启动的服务进程配置,其中包括: Zygote进程:/system/bin/app_progress ... servicemanager:/system/ 阅读全文
posted @ 2021-09-04 11:58 naray 阅读(45) 评论(0) 推荐(0)