行程間通訊:修订间差异

求闻百科,共笔求闻
添加的内容 删除的内容
(修改自此处;原许可:CC BY-SA 3.0[网站升级迁移])
 
(noteTA跳过, replaced: 內 → 内, 間 → 间 (2), 灣 → 湾, 權 → 权, 構 → 构, 協 → 协, 傳 → 传 (2), 體 → 体, 於 → 于, 數 → 数 (4), 離 → 离, 統 → 统 (5), 臺 → 台, 資 → 资, 業 → 业 (4), 軟体 → 软件, 訊 → 讯 (6), 組 → 组, 從 → 从, 遞 → 递 (2), 檔 → 档)
第1行: 第1行:
{{noteTA
{{noteTA
|T = zh-cn:进程间通信; zh-tw:行程;
|T = zh-cn:进程间通信; zh-tw:行程;
|G1 = IT
|G1 = IT
|1 = zh-cn:通信; zh-tw:; zh-tw:通
|1 = zh-cn:通信; zh-tw:; zh-tw:通
}}
}}


第8行: 第8行:
|name = {{lang|en|Inter-Process Communication}}
|name = {{lang|en|Inter-Process Communication}}
|cn = 进程间通信
|cn = 进程间通信
|臺灣=行程}}
|台湾=行程}}


'''进程间通信'''('''IPC''',''Inter-Process Communication''),指至少两个[[进程]]或[[线程]]间传送数据或信号的一些技术或方法。
'''进程间通信'''('''IPC''',''Inter-Process Communication''),指至少两个[[进程]]或[[线程]]间传送数据或信号的一些技术或方法。


进程是[[计算机系统]]分配资源的最小单位(严格说来是线程)。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。通常,使用进程间通信的两个应用可以被分为客户端和服务器(见[[主從式架構|主从式架构]]),客户端进程请求数据,服务端响应客户端的数据请求。有一些应用本身既是服务器又是客户端,这在[[分布式计算]]中,时常可以见到。这些进程可以运行在同一计算机上或网络连接的不同计算机上。
进程是[[计算机系统]]分配资源的最小单位(严格说来是线程)。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。通常,使用进程间通信的两个应用可以被分为客户端和服务器(见[[主从式架构]]),客户端进程请求数据,服务端响应客户端的数据请求。有一些应用本身既是服务器又是客户端,这在[[分布式计算]]中,时常可以见到。这些进程可以运行在同一计算机上或网络连接的不同计算机上。


IPC对[[微內核|微内核]]和nano内核的设计过程非常重要。 微内核减少了内核提供的功能数量。 然后通过IPC与服务器通信获得这些功能,与普通的宏内核相比,IPC的数量大幅增加<!-- removed_ref site37 by Njzjzbot -->。
IPC对[[微内核]]和nano内核的设计过程非常重要。 微内核减少了内核提供的功能数量。 然后通过IPC与服务器通信获得这些功能,与普通的宏内核相比,IPC的数量大幅增加<!-- removed_ref site37 by Njzjzbot -->。


== 使用IPC的理由 ==
== 使用IPC的理由 ==


* 資訊共享:'''Web服务器''',通过'''网页浏览器'''使用进程间通信来共享web文件(网页等)和多媒体
* 资讯共享:'''Web服务器''',通过'''网页浏览器'''使用进程间通信来共享web文件(网页等)和多媒体
* 加速:维基百科使用通过进程间通信进行交流的多服务器来满足用户的请求
* 加速:维基百科使用通过进程间通信进行交流的多服务器来满足用户的请求
* 模
* 模
* 私有
* 私有


== 主要的IPC方法 ==
== 主要的IPC方法 ==
第28行: 第28行:
! 方法 !! 提供方(操作系统或其他环境)
! 方法 !! 提供方(操作系统或其他环境)
|-
|-
| [[案]] || 多
| [[案]] || 多
|-
|-
| [[信号 (计算机科学)|信号]] || 多
| [[信号 (计算机科学)|信号]] || 多
|-
|-
| [[Berkeley套接字]] || 多
| [[Berkeley套接字]] || 多
|-
|-
| [[消息队列]] || 多
| [[消息队列]] || 多
|-
|-
| [[管道 (Unix)|管道]] || 所有的 [[POSIX|POSIX 系]], Windows.
| [[管道 (Unix)|管道]] || 所有的 [[POSIX|POSIX 系]], Windows.
|-
|-
| [[命名管道]] || 所有的 [[POSIX|POSIX 系统]], Windows.
| [[命名管道]] || 所有的 [[POSIX|POSIX 系统]], Windows.
第44行: 第44行:
| [[共享内存]] || 所有的 [[POSIX|POSIX 系统]], Windows.
| [[共享内存]] || 所有的 [[POSIX|POSIX 系统]], Windows.
|-
|-
| [[傳遞 (軟體)|傳遞]] || 用[[MPI]]规范,[[Java RMI]],[[CORBA]],{{le|MSMQ|Microsoft Message Queuing}},{{tsl|en|MailSlot}}以及其他.
| [[传递 (软件)|传递]] || 用[[MPI]]规范,[[Java RMI]],[[CORBA]],{{le|MSMQ|Microsoft Message Queuing}},{{tsl|en|MailSlot}}以及其他.
|-
|-
| [[内存映射文件]] || 所有的 [[POSIX|POSIX 系统]], Windows.
| [[内存映射文件]] || 所有的 [[POSIX|POSIX 系统]], Windows.
第55行: 第55行:
{{IPC}}
{{IPC}}


[[Category:同控制|J]]
[[Category:同控制|J]]
[[Category:并发计算|J]]
[[Category:并发计算|J]]
[[Category:Unix|J]]
[[Category:Unix|J]]