Android Binder通信数据结构介绍

Binder通信进程描述——binder_proc 结构体binder_proc用来描述一个正在使用Binder进程间通信机制的进程。当一个进程调用函数open打开/dev/binder设备文件时,Binder驱动程序就会为该进程创建一个binder_proc结构体,并且保存在全局的binder_...

2013-06-27 19:32:42

阅读数:3126

评论数:2

ServiceManager 进程启动源码分析

Service Manager是整个Binder机制的守护进程,用来管理开发者创建的各种Server,并且向Client提供查询Server远程接口的功能。Service Manager作为本地服务由Init进程启动,在Android Init进程源码分析中详细分析了Init进程是如何启动本地...

2013-06-26 14:07:27

阅读数:5168

评论数:1

Android 数据Parcel序列化过程源码分析

在Android系统中,所有的服务都必须注册到ServiceManger中,当客户进程需要请求某一服务时,首先从服务管家ServiceManger中查找出该服务,然后通过RPC远程调用的方式使用该服务。服务在注册到ServiceManager时,需要将该服务对象发送到ServiceManager进...

2013-06-21 19:41:38

阅读数:6267

评论数:1

Android 广播接收器注册与注销源码分析

注册广播接收器 Android系统的广播机制是一种消息订阅/发布机制,因此,使用这种消息驱动模型的第一步便是订阅消息;而对Android应用程序来说,订阅消息其实就是注册广播接收器。在Android的广播机制中,ActivityManagerService扮演着广播中心的角色,负责系统中所有广播...

2013-06-17 11:24:47

阅读数:4044

评论数:1

Android Binder通信机制

Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们深入领会进程间通信的实现和性...

2013-06-14 19:14:32

阅读数:2784

评论数:3

Android IPC数据在内核空间中的发送过程分析

在上一篇文章Android请求注册服务过程源码分析中从Java层面和C++层面分析了服务请求注册的过程,无论Java还是C++最后都是将需要发送的数据写入的Parcel容器中,然后通过Binder线程持有对象IPCThreadState向Binder驱动发送,本文继续在Android请求注册服务过...

2013-06-14 10:02:37

阅读数:4278

评论数:5

Ubuntu Quickbuild 安装配置

服务安装 配置: /home/apuser/quickbuild-5.0.7/bin/config.sh 启动: /home/apuser/quickbuild-5.0.7/bin/server.sh start 编译代理安装 登陆到server中,切换到grid页面,右上角有downlo...

2013-06-13 16:01:49

阅读数:1882

评论数:0

Ubuntu Hudson 安装配置

Ubuntu安装 sudo sh -c "echo 'deb http://hudson-ci.org/debian binary/' > /etc/apt/sources.list.d/hudson.list" sudo apt-get update sudo a...

2013-06-13 16:00:35

阅读数:2249

评论数:0

Ubuntu gerrit 安装配置

创建数据库 CREATE USER 'git'@'localhost' IDENTIFIED BY 'git';   CREATE DATABASE reviewdb;   ALTER DATABASE reviewdb charset=latin1;   GRANT ALL ON rev...

2013-06-13 15:59:16

阅读数:1830

评论数:0

Ubuntu Mysql安装配置

安装mysql sudo apt-get install mysql-server  配置mysql sudo gedit /etc/mysql/my.cnf 启动停止mysql sudo start mysql  sudo stop mysql  登陆mysql mysql -u...

2013-06-13 15:58:04

阅读数:944

评论数:0

Ubuntu gitweb 安装配置

安装gitweb  sudo apt-get install gitweb 配置 gitweb 1. 把 gitweb 要用的静态文件连接到 DocumentRoot 下: cd /var/www/ sudo ln -s /usr/share/gitweb/* . 2. 修改配置,将 ...

2013-06-13 15:56:22

阅读数:3376

评论数:0

Ubuntu Gitosis安装设置

Gitosis 就是一套用来管理 authorized_keys 文件和实现简单连接限制的脚本。用来添加用户和设定权限的并非通过网页程序,而只是管理一个特殊的 Git 仓库。你只需要在这个特殊仓库内做好相应的设定,然后推送到服务器上,Gitosis 就会随之改变运行策略。 Git服务器端 安装...

2013-06-13 15:51:52

阅读数:1391

评论数:0

Ubuntu 安装git服务器

安装 git服务器 sudo apt-get install git-core 配置 git服务器 1. 创建git服务器管理用户 sudo useradd -m git sudo passwd git 2. 创建git仓库存储目录 sudo mkdir /home/git/repo...

2013-06-13 15:49:16

阅读数:1278

评论数:0

git 图文教程

上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。 git add files 把当前文件放入暂存区域。 git commit 给暂存区域生成快照并提交。 git reset -- files 用来撤销最后一次git add files,你也可以用git reset 撤销所...

2013-06-13 15:45:14

阅读数:1428

评论数:0

Ubuntu 配置Samba 服务器

安装Ubuntu samba服务器 sudo apt-get install samba sudo apt-get install smbfs 配置samba服务器 samba配置文件: /etc/samba/smb.conf 可以修改配置文件来设置samba共享和用户 #====...

2013-06-13 12:00:08

阅读数:1787

评论数:0

Android请求注册服务过程源码分析

在ServiceManager 进程启动源码分析中详细介绍了ServiceManager进程是如何启动,如何成为Android系统的服务大管家。客户端在请求服务前,必须将服务注册到ServiceManger中,这样客户端在请求服务的时候,才能够查找到指定的服务。本文开始将以CameraServic...

2013-06-12 09:16:33

阅读数:3815

评论数:0

Android uevent进程源码分析

在Android Init进程源码分析中讲到init进程会依次执行被加入到待执行队列action_queue中的Action,在init.rc中我们有这么一段配置: 11 on early-init 12 # Set init and its forked children's ...

2013-06-11 10:42:49

阅读数:8553

评论数:1

Ubuntu 安装VirtualBox

1、终端命令 编辑sources.list sudo gedit /etc/apt/sources.list 2、添加 软件源      将下面的地址加入sources.list 的末尾,保存并退出 deb http://download.virtualbox.org/virtualbox...

2013-06-08 15:56:39

阅读数:1296

评论数:0

Android Init进程源码分析

Init 进程源码分析 基于Linux内核的android系统,在内核启动完成后将创建一个Init用户进程,实现了内核空间到用户空间的转变。在Android 启动过程介绍一文中介绍了Android系统的各个启动阶段,init进程启动后会读取init.rc配置文件,通过fork系统调用启动ini...

2013-06-07 14:41:07

阅读数:12933

评论数:11

提示
确定要删除当前文章?
取消 删除
关闭
关闭