易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux进程间通信的各种方式及其比较

     进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间
却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设
了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件
交换信息,或者通过“注册表
”或其它数据库中的某些表项和记录
交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。因为那些通信手段的效率太低了,而人们对进程间通信的要求是要有一定的实时性。

进程间通信主要包括管道, 系统IPC(包括消息队列,信号量,共享存储), SOCKET.
管道包括三种:1)普通管道PIPE, 通常有种限制,一是半双工,只能单向传输;二是只能在父子进程间使用. 2)流管道s_pipe:
去除了第一种限制,可以双向传输. 3)命名管道:name_pipe, 去除了第二种限制,可以在许多并不相关的进程之间进行通讯.
系统IPC的三种方式类同,都是使用了内核里的标识符来识别.

FAQ1: 管道与文件描述符,文件指针的关系?
答: 其实管道的使用方法与文件类似,都能使用read,write,open等普通IO函数. 管道描述符来类似于文件描述符. 事实上,
管道使用的描述符, 文件指针和文件描述符最终都会转化成系统中SOCKET描述符. 都受到系统内核中SOCKET描述符的限制.
本质上LINUX内核源码中管道是通过空文件来实现.

FAQ2: 管道的使用方法?
答: 主要有下面几种方法: 1)pipe, 创建一个管道,返回2个管道描述符.通常用于父子进程之间通讯. 2)popen, pclose:
这种方式只返回一个管道描述符,常用于通信另一方是stdin or stdout; 3)mkpipe: 命名管道, 在许多进程之间进行交互.

FAQ3: 管道与系统IPC之间的优劣比较?
答: 管道: 优点是所有的UNIX实现都支持, 并且在最后一个访问管道的进程终止后,管道就被完全删除;缺陷是管道只允许单向传输或者用于父子进程之间.
       系统IPC: 优点是功能强大,能在毫不相关进程之间进行通讯; 缺陷是关键字KEY_T使用了内核标识,占用了内核资源,而且只能被显式删除,而且不能使用SOCKET的一些机制,例如select,epoll等.

FAQ4: WINDOS进程间通信与LINUX进程间通信的关系?
答: 事实上,WINDOS的进程通信大部分移植于UNIX, WINDOS的剪贴板,文件映射等都可从UNI


相关文档:

mysql在红旗linux下全程安装配置祥解

1、下载MySQL的安装文件
安装MySQL需要下面两个文件:
MySQL-server-5.0.46.i386.rpm   
MySQL-client-5.0.46.i386.rpm

2、安装MySQL
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是
ivh
,其中i表示将安装指定的rmp软件包,V表 ......

Linux 安装 Mysql

 一、引言
  想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有
Windows下使用SQL
Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux
和Windows本身就有很大区别。为了让 ......

linux 下手工新建数据库

手工新建数据库create database
身为DBA,要永远记住甚用或者禁止使用rm命令,万不得以的情况下,使用时在敲enter也要看了又看、慎重又慎重才行!
Red Hat Enterprise 3 + Oracle 10g Release 2
$su – oracle
1---设置系统环境变量:
ORACLE_HOME=/opt/oracle/product/10.2
ORACLE_BASE=/opt/oracle
ORACLE_SID ......

linux操作系统初始化过程

刚学完这部分,还没有完全理解,不知道会不会有人看到,很希望能和大家一起讨论。靠着自己的理解写的,不知道会不会出错,O(∩_∩)O~
(一)linux系统引导过程:“内核代码装入内存执行--->出现"login:"的过程”
     IBM Pc使用固化在ROM中的bios程序来启动程序。刚开机时,除了r ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号