PS: (proxy / stub)当你开发的组件需要用到代理/存根(即IPC(LPC+RPC)),就需要该工程,否则此工程无用创建Proxy/Stub DLL1. nmake -f HelloPS.mk2.regsvr32 helloPS.dll
                            
                            
                                分类:
其他好文   时间:
2014-06-18 18:49:46   
                                阅读次数:
265
                             
                    
                        
                            
                            
                                本文参考《Android系统源代码情景分析》,作者罗升阳
一、架构代码: 
      ~/Android/frameworks/base/core/java/android/os
      ----IInterface.java (Interface)
      ----IServiceManager.java (IServiceManager)
      -...
                            
                            
                                分类:
编程语言   时间:
2014-06-16 22:06:54   
                                阅读次数:
281
                             
                    
                        
                            
                            
                                进程间通信 - IPC
Unix / Linux 系统基于多进程,进程和进程之间经常做数据的交互,这种技术叫进程间通信。
常见的IPC:
1)文件
2)信号
3)管道
4)共享内存
5)消息队列
6)信号量集
7)网络编程(socket)
... ...
其中,管道是最古老的IPC之一,目前较少使用。共享内存、消息队列和信号量集 遵循相同的规范,因此编码上有很多的共同点,...
                            
                            
                                分类:
其他好文   时间:
2014-06-16 19:43:14   
                                阅读次数:
189
                             
                    
                        
                            
                            
                                一、Server和Service Manager进程间通信
        Service Manager进程启动时,已经创建了Service Manager实体对象,没有Service Manager本地对象。
        Server首先获取了Server代理对象,句柄值为0。没有Server引用对象。
        Server----->Service Manager
   ...
                            
                            
                                分类:
其他好文   时间:
2014-06-16 14:14:26   
                                阅读次数:
230
                             
                    
                        
                            
                            
                                (1)Linux层次结构:
(2)Linux内核组成:
主要由进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)和进程间通信(IPC)等5个子系统组成。
(3)与Unix的差异:
Linux支持动态加载内核模块支持对称多处理(SMP)机制Linux内核可以抢占Linux内核并不区分线程和其他的一般进程Linux提供具有设备类...
                            
                            
                                分类:
系统相关   时间:
2014-06-15 13:47:40   
                                阅读次数:
478
                             
                    
                        
                            
                            
                                这一章我们通过MediaPlayerService的注冊来说明怎样在Native层通过binder向ServiceManager注冊一个service,以及client怎样通过binder向ServiceManager获得一个service,并调用这个Service的方法。Native Servic...
                            
                            
                                分类:
移动开发   时间:
2014-06-15 13:15:36   
                                阅读次数:
345
                             
                    
                        
                            
                            
                                key_t ftok(const char *_pathname, int 
_proj_id)key值的第31~24位为ftok()第二个参数的低8位;key值的第23~16位为ftok()第一个参数文件属性的st_dev成员的低8位;key值的第15~0位为ftok()第一个参数文件属性的st_i...
                            
                            
                                分类:
其他好文   时间:
2014-06-13 17:13:45   
                                阅读次数:
324
                             
                    
                        
                            
                            
                                共享内存区是可用IPC形式中最快的。一旦内存区映射到共享它的进程的地址空间,进程间数据的传递就不再涉及内核。然而往该共享内存区存放信息或从中取走信息的进程间通常需要某种形式的同步。不再涉及内核是指:进程不再通过执行任何进入内核的系统调用来彼此传递数据。内核必须建立允许各个进程共享该内存区的内存映射关系,然后一直管理内存区。
默认情况下通过fork派生的子进程并不与其父进程共享内存区。
mmap...
                            
                            
                                分类:
系统相关   时间:
2014-06-11 06:34:25   
                                阅读次数:
439
                             
                    
                        
                            
                            
                                现在将共享内存区的概念扩展到将无亲缘关系进程间共享的内存区包括在内。Posix提供了两种在无亲缘关系进程间共享内存区的方法:
1、内存映射文件:由open函数打开,由mmap函数把得到的描述符映射到当前进程地址空间中的一个文件。(上一节就是这种技术)
2、共享内存区对象:由shm_open打开一个Posix名字(也许是在文件系统中的一个路径名),所返回的描述符由mmap函数映射到当前进程的地址...
                            
                            
                                分类:
系统相关   时间:
2014-06-11 00:28:43   
                                阅读次数:
464
                             
                    
                        
                            
                            
                                先上图,根据图做一个简单介绍
我们讲一下MediaPlayer
应用层的播放器首先调用framework层的MediaPlayer的类,接着FrameWork层会继续调用Native层的MediaPlayer类,然后通过Binder调用MediaPlayerService,MediaPlayerService调用OpenVC库解码成原始的视频流和音频流,视频流通过UI一帧一帧的显示出来,Med...
                            
                            
                                分类:
移动开发   时间:
2014-06-10 14:31:35   
                                阅读次数:
314