ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

プロセス間通信と分散コンピューティング

ショートカット: 違い類似点ジャカード類似性係数参考文献

プロセス間通信と分散コンピューティングの違い

プロセス間通信 vs. 分散コンピューティング

プロセス間通信(IPC、interprocess communication)はコンピュータの動作において複数のプロセス間(の複数のスレッド間)でデータをやりとりするための仕組み。通信するプロセスは同一コンピュータ上にある場合と、ネットワークで接続された別のコンピュータ上にある場合がある。そのようなローカル内対リモート間といったような分類以外にも多くの観点から分類でき、また、スレッド間の通信の帯域幅とレイテンシは様々であり、やりとりされるデータの種類も様々である。メッセージパッシング、同期、共有メモリ、RPCなどといったメカニズムやプリミティブがある。 プロセス間通信の目的・理由には以下のようなものがある。. 分散コンピューティング(ぶんさんコンピューティング、英: Distributed computing)とは、プログラムの個々の部分が同時並行的に複数のコンピュータ上で実行され、各々がネットワークを介して互いに通信を行いながら全体として処理が進行する計算手法のことである。複雑な計算などをネットワークを介して複数のコンピュータを利用して行うことで、一台のコンピュータで計算するよりスループットを上げようとする取り組み、またはそれを実現する為の仕組みである。分散処理(ぶんさんしょり)ともいう。並列コンピューティングの一形態に分類されるが、一般に並列コンピューティングと言えば、同時並行に実行する主体は同じコンピュータシステム内のCPU群である。ただし、どちらもプログラムの分割(同時に実行できる部分にプログラムを分けること)が必須である。分散コンピューティングではさらに、それぞれの部分が異なる環境でも動作できるようにしなければならない。例えば、2台の異なるハードウェアを使ったコンピュータで、それぞれ異なるファイルシステム構成であっても動作するよう配慮する必要がある。 問題を複数の部分問題に分けて各コンピュータに実行させるのが基本であり、素数探索や数多く試してみる以外に解決できない問題の対処として用いられているものが多い。分散コンピューティングの例としてBOINCがある。これは、大きな問題を多数の小さな問題に分割し、多数のコンピュータに分配するフレームワークである。その後、それぞれの結果を集めて大きな解を得る。一般的に処理を分散すると一台のコンピュータで計算する場合と比べ、問題データの分配、収集、集計するためのネットワークの負荷が増加し、問題解決の為のボトルネックとなるため、部分問題間の依存関係を減らすことが重要な課題となる。 分散コンピューティングは、コンピュータ同士をネットワーク接続し、効率的に通信できるよう努力した結果として自然に生まれた。しかし、分散コンピューティングはコンピュータネットワークと同義ではない。単にコンピュータネットワークと言った場合、複数のコンピュータが互いにやり取りするが、単一のプログラムの処理を共有することはない。World Wide Web はコンピュータネットワークの例であるが、分散コンピューティングの例ではない。 分散処理を構築するための様々な技術や標準が存在し、一部はその目的に特化して設計されている。例えば、遠隔手続き呼出し (RPC)、Java Remote Method Invocation (Java RMI)、.NET Remoting などがある。.

プロセス間通信と分散コンピューティング間の類似点

プロセス間通信と分散コンピューティングは(ユニオンペディアに)共通で14ものを持っています: 同期 (計算機科学)メッセージ (コンピュータ)プロセスアドレス空間オペレーティングシステムコンピュータコンピュータネットワークスレッド (コンピュータ)Common Object Request Broker ArchitectureDistributed Component Object ModelExtensible Markup Language遠隔手続き呼出しJava Remote Method Invocation.NET Remoting

同期 (計算機科学)

同期(どうき、Synchronization)とは、コンピュータ関係(コンピュータ科学でも重要なテーマであるが、話題の広がりとしてはそれに留まらない)では、プロセスなどといった複数のエージェントの動作について、時系列的にタイミングを合わせる制御のことや、複数個所に格納された同一であるべき情報を同一に保つことである。.

プロセス間通信と同期 (計算機科学) · 分散コンピューティングと同期 (計算機科学) · 続きを見る »

メッセージ (コンピュータ)

メッセージ(message)とは、言付け、伝言、伝送文などの意味がある。 計算機科学におけるメッセージパッシングとは並列コンピューティング、オブジェクト指向、プロセス間通信で使われる通信方式である。プロセスもしくはオブジェクトといったモデルではメッセージ(ゼロ以上のバイト、複雑なデータ構造、プログラムコードも)を送ったり受けたりできる。メッセージを待つことによって同期 (計算機科学)することも出来る。メッセージパッシングに基づく主なモデルとしてアクターモデルやプロセス代数がある。 Microsoft Windows などのオペレーティングシステムにおいて、メッセージとは、オペレーティングシステム上で動くアプリケーションで、オペレーティングシステムが管理しているデバイスからの入力をアプリケーションまで伝えることまたはその内容のことである。 オペレーティングシステムはメッセージをメッセージキューに保管し、アプリケーションはメッセージキューに保管されていたメッセージを受け取り、それを元に処理を行う。例えば「(10, 20) 左クリック」という情報をオペレーティングシステムが感知したらオペレーティングシステムはその情報をメッセージキューに保管する。アプリケーションはそのメッセージを受け取って対応した処理を行う。 アプリケーションは常にオペレーティングシステムからのメッセージを待機するようなプログラムになっており、この一連のプログラムの機構をメッセージループという。.

プロセス間通信とメッセージ (コンピュータ) · メッセージ (コンピュータ)と分散コンピューティング · 続きを見る »

プロセス

プロセスとは、情報処理においてプログラムの動作中のインスタンスを意味し、プログラムのコードおよび全ての変数やその他の状態を含む。オペレーティングシステム (OS) によっては、プロセスが複数のスレッドで構成される場合があり、命令を同時並行して実行する。.

プロセスとプロセス間通信 · プロセスと分散コンピューティング · 続きを見る »

アドレス空間

情報処理において、アドレス空間 (Address Space) とは、メモリアドレスが意味を成すコンテキストを定義したもの。あるいは、一連のメモリアドレスによってアクセス可能なメモリ空間を意味する。 メモリアドレスはコンピュータのメモリ内の物理的位置を識別するものであり、住所とある意味で類似している。アドレスはデータが格納されている位置を指すが、それはちょうど人間の住所がその人の居住地を指すのと同じである。人間の住所とのアナロジーで言えば、「アドレス空間」とは、町や市や国といったある範囲の地域に対応すると考えることができる。2つのアドレスが数値的に同じでも、それぞれ異なるアドレス空間内のアドレスであれば、異なる位置を指していると言える。これは2つの市に「××町○丁目△-□」という住所が存在したとき、それらが別の場所を指すのと同じことである。 アドレス空間の例:.

アドレス空間とプロセス間通信 · アドレス空間と分散コンピューティング · 続きを見る »

オペレーティングシステム

ペレーティングシステム(Operating System、OS、オーエス)とは、コンピュータのオペレーション(操作・運用・運転)のために、ソフトウェアの中でも基本的、中核的位置づけのシステムソフトウェアである。通常、OSメーカーが組み上げたコンピュータプログラムの集合として、作成され提供されている。 オペレーティングシステムは通常、ユーザーやアプリケーションプログラムとハードウェアの中間に位置し、ユーザーやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。現代のオペレーティングシステムの主な機能は、ファイルシステムなどの補助記憶装置管理、仮想記憶などのメモリ管理、マルチタスクなどのプロセス管理、更にはGUIなどのユーザインタフェース、TCP/IPなどのネットワーク、などがある。オペレーティングシステムは、パーソナルコンピュータからスーパーコンピュータまでの各種のコンピュータや、更にはスマートフォンやゲーム機などを含む各種の組み込みシステムで、内部的に使用されている。 製品としてのOSには、デスクトップ環境やウィンドウシステムなど、あるいはデータベース管理システム (DBMS) などのミドルウェア、ファイル管理ソフトウェアやエディタや各種設定ツールなどのユーティリティ、基本的なアプリケーションソフトウェア(ウェブブラウザや時計などのアクセサリ)が、マーケティング上の理由などから一緒に含められていることもある。 OSの中で、タスク管理やメモリ管理など特に中核的な機能の部分をカーネル、カーネル以外の部分(シェルなど)をユーザランドと呼ぶ事もある。 現代の主なOSには、Microsoft Windows、Windows Phone、IBM z/OS、Android、macOS(OS X)、iOS、Linux、FreeBSD などがある。.

オペレーティングシステムとプロセス間通信 · オペレーティングシステムと分散コンピューティング · 続きを見る »

コンピュータ

ンピュータ(Computer)とは、自動計算機、とくに計算開始後は人手を介さずに計算終了まで動作する電子式汎用計算機。実際の対象は文字の置き換えなど数値計算に限らず、情報処理やコンピューティングと呼ばれる幅広い分野で応用される。現代ではプログラム内蔵方式のディジタルコンピュータを指す場合が多く、特にパーソナルコンピュータやメインフレーム、スーパーコンピュータなどを含めた汎用的なシステムを指すことが多いが、ディジタルコンピュータは特定の機能を実現するために機械や装置等に組み込まれる組み込みシステムとしても広く用いられる。電卓・機械式計算機・アナログ計算機については各項を参照。.

コンピュータとプロセス間通信 · コンピュータと分散コンピューティング · 続きを見る »

コンピュータネットワーク

ンピュータネットワーク(computer network)は、複数のコンピュータを接続する技術。または、接続されたシステム全体。コンピュータシステムにおける「通信インフラ」自体、あるいは通信インフラによって実現される接続や通信の総体が(コンピュータ)ネットワークである、とも言える。.

コンピュータネットワークとプロセス間通信 · コンピュータネットワークと分散コンピューティング · 続きを見る »

スレッド (コンピュータ)

レッド(thread)とは、CPU利用の単位。プロセスに比べて、プログラムを実行するときのコンテキスト情報が最小で済むので切り替えが速くなる。スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。 プログラミングの観点からみると、アプリケーションの処理の「実行の脈絡」は1つでないことが多い。これをシングルスレッドで実現しようとするとシグナルやタイマーを駆使してコーディングすることになる。また、複数のプロセスに分割してプロセス間通信で協調動作させるという方法もある。しかし、いずれの場合もそれらの機能を使うための余分な、本来のアルゴリズムと関係ないコーディングが必要となる。スレッドを使用したプログラミングは本来のアルゴリズムに集中しやすくなり、プログラムの構造が改善されるという効果がある。.

スレッド (コンピュータ)とプロセス間通信 · スレッド (コンピュータ)と分散コンピューティング · 続きを見る »

Common Object Request Broker Architecture

Common Object Request Broker Architecture(コモン オブジェクト リクエスト ブローカー アーキテクチャー、略称CORBA)とは、Object Management Group(OMG)が定義した標準規格であり、様々なコンピュータ上で様々なプログラミング言語で書かれたソフトウェアコンポーネントの相互利用を可能にする(分散オブジェクト技術)ものである。.

Common Object Request Broker Architectureとプロセス間通信 · Common Object Request Broker Architectureと分散コンピューティング · 続きを見る »

Distributed Component Object Model

Distributed Component Object Model(DCOM)は、ネットワーク上に分散配置されたコンピュータ上のソフトウェアコンポーネント間通信(分散オブジェクト技術)のためのマイクロソフト独自の技術。.

Distributed Component Object Modelとプロセス間通信 · Distributed Component Object Modelと分散コンピューティング · 続きを見る »

Extensible Markup Language

Extensible Markup Language(エクステンシブル マークアップ ランゲージ)は、基本的な構文規則を共通とすることで、任意の用途向けの言語に拡張することを容易としたことが特徴のマークアップ言語の総称である。一般的にXML(エックスエムエル)と略称で呼ばれる。JISによる訳語は「拡張可能なマーク付け言語」。 SGMLからの移行を目的として開発された。文法はSGMLの構文解析器と互換性を保つようにSGMLのサブセットに定められシンプルになり、機能はSGMLに無いものが追加されている。 XML の仕様は、World Wide Web Consortium (W3C) により策定・勧告されている。1998年2月に XML 1.0 が勧告された。2010年4月現在、XML 1.0 と XML 1.1 の2つのバージョンが勧告されている(#バージョン)。 ちなみに、「eXtensible Markup Language の略である」と書かれることがあるが、これは間違いであり、XはExの発音を表している。.

Extensible Markup Languageとプロセス間通信 · Extensible Markup Languageと分散コンピューティング · 続きを見る »

遠隔手続き呼出し

遠隔手続き呼出し(remote procedure call、リモートプロシージャコール、略してRPC)とは、プログラムから別のアドレス空間(通常、共有ネットワーク上の別のコンピュータ上)にあるサブルーチンや手続きを実行することを可能にする技術。その際に遠隔相互作用の詳細を明示的にコーディングする必要がない。つまり、プログラマはローカルなサブルーチン呼び出しと基本的に同じコードをリモート呼び出しについても行う。遠隔手続き呼出しを行うソフトウェアがオブジェクト指向プログラミングに基づく場合、遠隔手続き呼出しのことを リモート呼び出し(remote invocation)あるいは リモートメソッド呼び出し (remote method invocation、RMI)と呼ぶこともある(Java RMIなど)。 遠隔手続き呼出しには例えば、ONC RPCやDCE/RPCといった互いに非互換な様々な技術が存在する。.

プロセス間通信と遠隔手続き呼出し · 分散コンピューティングと遠隔手続き呼出し · 続きを見る »

Java Remote Method Invocation

Java Remote Method Invocation API (Java RMI) は、Javaで書かれたプログラム間のORB(オブジェクトリクエストブローカー) であり、RPCのオブジェクトに相当する機能を果たすためのJavaアプリケーションプログラミングインタフェース。.

Java Remote Method Invocationとプロセス間通信 · Java Remote Method Invocationと分散コンピューティング · 続きを見る »

.NET Remoting

.NET Remoting は、.NET Framework 1.0の一部としてリリースされたマイクロソフトのプロセス間通信APIである。様々なアプリケーションドメインやプロセス、そして様々なコンピュータ上に存在するオブジェクトが、互いにシームレスに通信するための高性能かつ拡張性の高いフレームワークを提供する。 16ビット版Windowsの時代から、.NET Remotingに至るまでには以下のような技術が開発されてきた。.

.NET Remotingとプロセス間通信 · .NET Remotingと分散コンピューティング · 続きを見る »

上記のリストは以下の質問に答えます

プロセス間通信と分散コンピューティングの間の比較

分散コンピューティングが127を有しているプロセス間通信は、67の関係を有しています。 彼らは一般的な14で持っているように、ジャカード指数は7.22%です = 14 / (67 + 127)。

参考文献

この記事では、プロセス間通信と分散コンピューティングとの関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください:

ヘイ!私たちは今、Facebook上です! »