一、Posix信号量1.Posix信号量分为两种:1.有名信号量:使用Posix IPC名字标识(有名信号量总是既可用于线程间的同步,又可以用于进程间的同步)2.内存信号量:存放在共享内存区中(基于内存的信号量则必须在创建时指定成是否在进程间共享,且在所有进程的共享内存区,具有随进程的持续性)Pos...
分类:
系统相关 时间:
2015-01-05 12:30:55
阅读次数:
230
信号量是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语。有三种类型:Posix有名信号量,使用Posix IPC名字标识;Posix基于内存的信号量,存放在共享内存区中;System V信号量,在内核中维护。这三种信号量都可用于进程间或线程间的同步。图1 由两个进程使用的一个二值信号...
分类:
系统相关 时间:
2015-01-04 21:20:51
阅读次数:
306
本文介绍在POSIX环境使用文件映射IO操作的方法,文件映射IO又被称为存储映射IO,对于普通文件而言,很多时候它是高效的,它实际减少了数据的复制;同时它也可以用于特殊的地方,用于进程之间的通信,共享内存的一种方式。
我们能够把一个文件想象成一块连续的数据,从纯粹的数据角度来看,任何普通文件都可以这么理解。文件映射实际上是把文件的这块数据与我们程序里的一块内存对应上了,使用我们操...
分类:
其他好文 时间:
2015-01-04 17:15:31
阅读次数:
229
这应该可以算得上是IPC的一种,虽然效率可能并没有其它IPC方式高.
看到map很容易联想到映射.的确,mmap就是一种映射方式,将打开的文件和一段连续的内存做映射.使得对内存进行操作即可以实现对文件的读写,反过来,也就是说,可以通过这种方式来达到进程通信.
mmap系列涉及三个函数.
void * mmap(void *buf, size_t len, int prot, int flag...
分类:
系统相关 时间:
2015-01-03 23:59:28
阅读次数:
489
首先创建一个公共的头文件 shm_com.h:
#define TEXT_SZ 2048
typedef struct shared_use_st {
int written_by_you;
char some_text[TEXT_SZ];
};
创建消费者程序 shm1.c :
#include
#include
#include
#include
#inc...
分类:
系统相关 时间:
2015-01-03 13:12:20
阅读次数:
232
PG启动首先完成主进程和后台进程的启动,启动时完成数据库文件的打开,共享内存的建立等。接着,所有SQL都会启动1个单独的进程处理SQL的执行过程。 新的进程首先是进行自身的初始化,最主要的是初始化内存上下文,准备好SQL处理过程。 进入PostgresMain后,解析客户端命令行参数dbna...
分类:
数据库 时间:
2015-01-02 12:09:09
阅读次数:
240
#include "stdio.h"#include "string.h"#include "unistd.h"#include "sys/shm.h"int main(){ int id = shmget(0x8888, 100, IPC_CREAT|0644); if (id==-1) {...
分类:
系统相关 时间:
2014-12-30 18:42:42
阅读次数:
252
一个管道实际上就是一块共享内存,它有两端,分别用于两个进程的读写。这里介绍下如何在Windows上实现线程之间的管道通信。 参考原文:Multithreaded Pipe Communication on Windows C#多线程管道通信 创建一个管...
分类:
编程语言 时间:
2014-12-30 12:06:20
阅读次数:
174
Oracle数据库的启动-nomount状态深入解析通常所说的Oracle Server主要由两个部分组成:Instance和Database。Instance是指一组后台进程(在Windows上是一组线程)和一块共享内存区域;Database是指存储在磁盘上的一组物理文件。通过Instance与D...
分类:
数据库 时间:
2014-12-28 00:21:40
阅读次数:
284
AIDL:Android Interface Definition Language,即Android接口定义语言。什么是AIDLAndroid系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了...
分类:
移动开发 时间:
2014-12-27 12:35:52
阅读次数:
179