servicemanager是binder部分的关键组件之一,binder client要想获取service提供的服务,可以根据service的名字向servicemanager发出获取service的请求。而bind…
(原创)Linux中的Binder驱动
前言 Binder驱动是Android专用的,但是其在Linux底层中的框架和Linux驱动是一样的。Binder驱动是以Misc设备进行注册,binder驱动是一个虚拟的设备驱动,没有和任何的实…
(整理)用户空间_内核空间以及内存映射
内核空间和用户空间 现代操作系统采用虚拟存储器,对于32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也…
(原创)Android SystemServiceManager分析
1. SystemServiceManger启动 分析过SystemServer的朋友应该都有记忆,SystemServiceManager就是在SystemServer中启动的,下面是SystemServiceMana…
(原创)Android SystemServer分析
一.Zygote到SystemServer SystemServer是由Zygote fork生成的,进程名为system_server,这个进程包含里framework中的核心服务,在Zygot…
(原创)Android Zygote分析
1. app_process到zygote zygote本身是一个Native应用程序,和驱动、内核均无关系,zygote是由init进行根据init.rc文件中的配置进行创建的,具体的配置代码如下: 1.1 zygot…
(原创)Android智能指针
智能指针的目标 在使用指针的时候容易出现的问题不外乎下面几个。首先,指针在使用之前都必须初始化,这个还算容易解决,在创建指针变量的时候同步初始化就好了;第二个问题就是经常忘记delete,就我的经…
(转载)C++中的trivial destructor
trivial destructor 最近在阅读侯捷的《STL源码剖析》,遇到了一个之前没有见过的内容trail destructor,所以特定Google了一把,然后找到这篇博客,转载备用。 以下转载自:http://…
C++实现HTTP Get和Post请求
因为以前用Java写Android的时候感觉Java已经封装得很好了,HTTP实现的东西都不是很了解。然后就买了本HTTP入门书籍《图解HTTP》来读,快速读完了,那就用C++实现简单的HTTP …
(整理)sockaddr_in、in_addr、sockaddr区别和Socket编程函数集
sockaddr_in, sockaddr, in_addr区别 网络字节序和主机字节序 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序…