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

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

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/01/25 21:21 UTC 版)

メッセージパッシング (: message passing) とは、並行計算並列計算オブジェクト指向プロセス間通信で使われる通信方式である。プロセスもしくはオブジェクトといったモデルではメッセージ(ゼロ以上のバイト、複雑なデータ構造、プログラムコードも含む)を送ったり受けたりできる。メッセージを待つことによって同期することもできる。メッセージパッシングに基づく主なモデルとしてアクターモデルプロセス代数がある。

概要

メッセージパッシングは、ひとつもしくは多くの受信者 (receiver) に対して送信者 (sender) がデータを配送できる通信方法である。通報の形として遠隔メソッド呼び出し(: remote method invocation; RMI)、シグナル、データパケットなどがある。メッセージパッシング機構を設計するとき、下記のような方針から設計方針を選択する。

重要な理論上の基礎であるアクターモデルプロセス計算といった並行計算はメッセージパッシングを基礎としている。メッセージパッシングを使った並行システムは、言語内の機能としてメッセージパッシングする場合と言語からの一連のライブラリ呼び出しで実現する場合がある。 前者の例は多くの分散オブジェクトシステムが含まれる。後者の例としては、カーネルとサーバブロック間でメッセージをやりとりするマイクロカーネルオペレーティングシステムや、高性能計算における Message Passing Interface がある。メッセージパッシングの概念は、グラフモデル上のベイズ推定などでも使われている。

オペレーティングシステムにおけるメッセージ

Microsoft Windowsなどのオペレーティングシステムにおいて、メッセージとは、オペレーティングシステム上で動くアプリケーションに対して、オペレーティングシステムが管理しているデバイスあるいは別のプロセススレッドからの入力を伝えるために送られる、ひとかたまりのデータ集合のことである。メッセージを送受信することを通知とも呼ぶ。

オペレーティングシステムはメッセージをメッセージキューに保管し、アプリケーションはメッセージキューに保管されていたメッセージを受け取り、それを元に処理を行う。例えば「画面座標 (10, 20) の位置をマウスで左クリック」という情報をオペレーティングシステムが感知した場合、オペレーティングシステムはその情報をメッセージキューに保管する。アプリケーションはそのメッセージを受け取って対応した処理を行う。

アプリケーションは常にオペレーティングシステムからのメッセージを待機するようなイベント駆動方式プログラムになっており、この一連のプログラムの機構をメッセージループという。メッセージキューを定期的に監視・確認するポーリング方式でメッセージループが実装されることもある。

メッセージパッシングシステムとモデル

分散オブジェクトや ONC RPCCORBAJava RMIDCOMSOAP.NET RemotingWCF、CTOS[要説明]QNX Neutrino RTOSOpenBinderD-Bus のような遠隔メソッド呼び出しあるいはそれに類するものはメッセージパッシングシステムである。メッセージパッシングシステムは共有のないシステムと呼ばれている。なぜならば、メッセージパッシング型のシステムは、メッセージという抽象化によってその下位に存在する状態変化や実装などを隠蔽するものだからである。

メッセージパッシングモデルはデータを端末(アクター、プロセス、スレッドなど)に送信するような通達方式で、プログラミング言語で典型的に定義されている。そのようなメッセージングはSOAPによってWebサービスの中で使われている。この考え方はパケットより大きく、任意に信頼性や耐久性や安全性やトランザクションを追加したものを除く高いレベルのメッセージデータグラムである。メッセージもまた一般的に同じ向きのプロセス間通信に使われる。また別の一般的に使われる技術はストリームもしくはパイプで、そのようなデータは初歩的なデータアイテムの一連として送信される(仮想回線の高等レベルでは)。


注釈

  1. ^ コンピュータと人間との対話のため、単に画面等へ表示される文字列を指す場合は、通信文または通知[2]と訳されることもある。エラーメッセージ (: error message) は「誤り通知」となる。
  2. ^ 例えばSmalltalkであれば#addSelector:withMethod:で追加できる[6]
  3. ^ 例えばSmalltalkであればメソッドが存在しないメッセージを#doesNotUnderstand:で受信することができる。メッセージ転送を参照。

出典



「メッセージ (コンピュータ)」の続きの解説一覧



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「メッセージ (コンピュータ)」の関連用語

メッセージ (コンピュータ)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



メッセージ (コンピュータ)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのメッセージ (コンピュータ) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS