信号信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事...
分类:
系统相关 时间:
2015-03-17 13:47:57
阅读次数:
243
1.memcmp可否用来比较结构体?strcmp和memcpy的区别?
2.软中断和硬中断的区别?
3.进程间通信的几种方式?
4.kmalloc和vmalloc差别?
5.应用层的mmap和内核态的vmalloc对内存访问的差别?
6.用户态是否可以直接访问内核态内存?
7.PCIe中MSI中断如何触发?
8.怎么知道一个文件的大小?
9.spin_lock在单核和多核模式下的区...
分类:
系统相关 时间:
2015-03-17 00:53:02
阅读次数:
190
进程间通信本文转自:http://blog.csdn.net/xiaowei_cqu/article/details/7041212程序源码及实验报告文档下载:http://download.csdn.net/detail/xiaowei_cqu/3880949命名管道进程间通信的一种方式,Pipe...
常用IPC有:1:管道2:命名管道(FIFO)3:共享存储4:套接字5:信号量6:消息队列7:信号管道 只允许亲缘进程间的通讯。命名管道(FIFO) 除了亲缘进程可以通讯外,非亲缘进程也可以通讯。共享内存 多个进程可以访问同一块内存空间,是最快的IPC方式。在进程间传递数据时无须任何内存的拷贝 。可...
分类:
系统相关 时间:
2015-03-15 18:17:54
阅读次数:
185
进程间通信方式
传递数据的方式
1.pipe
必须是有亲缘关系的进程之间使用,平时用"ls | grep abc"等命令时用得就是这个,这个"|"我猜测是用了两种系统调用实现,一个是pipe(popen),一个是dup2,没有看过bash或sh的源码,只是猜测。
2.fifo
会在文件...
分类:
编程语言 时间:
2015-03-15 09:31:35
阅读次数:
265
什么是Socket? Socket可以看成是用户进程与内核网络协议栈的接口(编程接口, 如下图所示), 其不仅可以用于本机进程间通信,可以用于网络上不同主机的进程间通信, 甚至还可以用于异构系统之间的通信。 IPv4套接口地址结构 IPv4套接口地址结构通常也称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件中//TCP/IP地址结构
struct socka...
分类:
其他好文 时间:
2015-03-14 12:28:25
阅读次数:
171
Message Queue(后文简写成MQ或消息队列)是boost库中用来封装进程间通信的一种实现,同一台机器上的进程或线程可以通过消息队列来进行通迅。消息队列中的消息由优先级、消息长度、消息数据三部分组成。这里需要注意的事,MQ只是简单的将要发送的数据在内存中进行拷贝,所以我们在发送复杂结构或对象...
分类:
其他好文 时间:
2015-03-13 12:21:04
阅读次数:
147
前面LocalService 主要是提供同一Application中组件来使用,如果希望支持不同应用或进程使用Service。可以通过Messenger。使用Messgener可以用来支持进程间通信而无需使用AIDL。下面步骤说明里Messenger的使用方法:在Service中定义一个Handle...
分类:
移动开发 时间:
2015-03-11 16:52:00
阅读次数:
132
gps从loc_api层到loc eng层用到了消息队列,大致格式是:sendMsg(new xxx),这个msg最终会发送到message queue中,在loopMain中读取出来然后分别调用msg的log()和proc()来处理相应的message,因此有必要了解一下这个message queue的大致flowgps message queue进程间通信分为发送端和接收端,我们分开来看一下。发...
分类:
其他好文 时间:
2015-03-11 10:53:06
阅读次数:
194
Android接口描述语言(AIDL) AIDL定义客户端和服务器端都遵守的接口,进行进程间通信。 Note:AIDL使用场景:来自多个应用的客户端通过IPC访问服务,并且服务需要处理多线程的场景; 如果你没有来自不同客户端的并发场景,建议使用Binder接口;如果你需要处理IPC,但是没有多线程的...