Wayland协议主要提供了Client端应用与Server端Compositor的通信机制,Weston是Server端Compositor的一个参考实现。Wayland协议中最基础的是提供了一种面向对象的跨进程过程调用的功能,在作用上类似于Android中的Binder。与Binder不同的是,在Wayland中Client和Server底层通过domain socket进行连接。和Binder一样,domain socket支持在进程间传递fd,这为传递graphic buffer和shared me...
分类:
系统相关 时间:
2014-10-20 10:04:03
阅读次数:
561
1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口
icp:interprocess communication :内部进程通信
2.既然aidl可以定义并实现进程通信,那么我们怎么使用它呢?文档/android-sdk/...
分类:
系统相关 时间:
2014-10-16 13:02:42
阅读次数:
263
摘要:Part I分析了GPU客户端之间存在的同步问题,以及Chromium的GL扩展同步点机制的基本原理。本文将源代码的角度剖析同步点(SyncPoint)机制的实现方式。同步点机制的实现主要涉及到是如何跨进程实现两个GL扩展接口InsertSyncPointCHROMIUM和WaitSyncPointCHROMIUM的实现方式,以及如何实现GPU服务端的同步点等待。...
分类:
其他好文 时间:
2014-10-06 13:53:50
阅读次数:
132
将数据打包,跨进程传输(通过Binder)。看看这货究竟是啥玩意:Parcel.java :public final class Parcel { private static final boolean DEBUG_RECYCLE = false; private static fin...
分类:
移动开发 时间:
2014-09-30 21:21:40
阅读次数:
328
这里可以简单的修改任意函数的返回地址,可以做到自定义EIP的指向,即可执行当前进程空间的任意指令,这里只是让大家更清楚栈帧结构,没有涉及跨进程的inline HOOK 等,后面会陆续讲下读取任意进程内存,修改任意进程函数执行流程等方法。
废话不多说了,直接上菜:
#include
#include
/*
打印 main函数的返回地址的值(用途,你懂得!)...
分类:
其他好文 时间:
2014-09-29 00:19:47
阅读次数:
246
在Android系统开发之中,Services是一个重要的组成部分。如果现在某些程序需要中的部分操作是很消耗时间的,那么可以将这些程序定义在Service之中,这样就可以完成程序的后台运行(也可以在不显示界面的形式下运行),即:Services实际上就相当于是一个没有图形界面的Activity程序,而且当用户要执行某些操作需要进行跨进程访问的时候也可以使用Service来完成。
...
分类:
移动开发 时间:
2014-09-20 15:26:07
阅读次数:
309
跨进程调用service, AIDL定义进程之间的通信接口,AIDL文件语法和定义几个java接口语法类似,只不过扩展名是.aidl IDE会自动为接口提供实现,在接口中会定义一个名为Stub的内部static类,实现定义的接口,继承Binder类,Binder实现了IBinder接口 AIDL s...
分类:
移动开发 时间:
2014-09-12 23:15:44
阅读次数:
286
下面的表格列展了.NET对协调或同步线程动作的可用的工具: 简易阻止方法构成目的Sleep阻止给定的时间周期Join等待另一个线程完成 锁系统构成目的跨进程?速度lock确保只有一个线程访问某个资源或某段代码。否快Mutex确保只有一个线程访问某个资源或某段代码。可被用于防止一个程序的多个实例同时运...
分类:
编程语言 时间:
2014-09-04 14:52:09
阅读次数:
220
在Android中,Service是运行在主线程中的,如果在Service中处理一些耗时的操作,就会导致程序出现ANR.但如果将本地的Service转换成一个远程的Service,就不会出现这样的问题了.转换成远程Service非常简单,只需要在注册Service的时候将他的android:proc...
分类:
移动开发 时间:
2014-09-03 23:57:07
阅读次数:
646