您好,欢迎来到 - 67学习网 - http://www.67xuexi.com !

Linux进程通信(IPC)方式简介

摘要:采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,这样,数据内容一直保存在共享内存中,并没有写回文件。共享内存中的内容往往是在解除映射时才写回文件的。因此,采用共享内存的通信方式效率是非常高的。共享内存实现的步骤:1.创建共享内存,这里用到的函数是shmget,也就是从内存中获得一段共享内存区域。2.映射共享内存,也就是把这段创建的共享内存映射到具体的进程空间中去,这里使用的函数是shmat。3.使用不带缓冲的I/O读写命令对其进行操作。4.撤销映射的操作,其函数为shmdt。套接口套接口(socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其
Linux进程通信(IPC)方式简介,标签:服务器,操作系统教程大全,http://www.67xuexi.com

  采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,这样,数据内容一直保存在共享内存中,并没有写回文件。共享内存中的内容往往是在解除映射时才写回文件的。因此,采用共享内存的通信方式效率是非常高的。

  共享内存实现的步骤:

  1.创建共享内存,这里用到的函数是shmget,也就是从内存中获得一段共享内存区域。

  2.映射共享内存,也就是把这段创建的共享内存映射到具体的进程空间中去,这里使用的函数是shmat。

  3.使用不带缓冲的I/O读写命令对其进行操作。

  4.撤销映射的操作,其函数为shmdt。

  套接口

  套接口(socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。

上一页  [1] [2] 


Tag:服务器_操作系统教程服务器,操作系统教程大全电脑教程 - 服务器_操作系统教程