読み込み中...メッセージ(message)とは、言付け、伝言、伝送文などの意味があり、コンピュータにおいては、次のような意味で使われている。
オブジェクト指向プログラミングにおいて、メッセージとは、オブジェクト間の通信でやり取りされる情報のことである。詳しくはオブジェクト指向プログラミングを参照すること。
Microsoft Windowsなどのオペレーティングシステムにおいて、メッセージとは、OS上で動くアプリケーションで、OSが管理しているデバイスからの入力をアプリケーションまで伝えることまたはその内容のことである。
OSはメッセージをメッセージキューに保管し、アプリケーションはメッセージキューに保管されていたメッセージを受け取り、それを元に処理を行う。例えば「(10, 20) 左クリック」という情報をOSが感知したらOSはその情報をメッセージキューに保管する。アプリケーションはそのメッセージを受け取って対応した処理を行う。
アプリケーションは常にOSからのメッセージを待機するようなプログラムになっており、この一連のプログラムの機構をメッセージループという。
メッセージパッシング(Message Passing)とは、並行プログラミング、並列プログラミング、オブジェクト指向プログラミング、プロセス間通信などにおける通信の一形態。通信はメッセージを相手に送ることによってなされる。メッセージ形式は、関数呼び出し、シグナル、データパケットなど様々である。メッセージパッシングに基づく主なモデルとしてアクターモデルやプロセス代数がある。
マイクロカーネルオペレーティングシステムは、カーネルと複数のサーバ部との間でメッセージパッシングを行う。分散オブジェクト/メソッド呼び出しシステムはメッセージパッシングシステムである。例えば、ONC RPC、CORBA、Java RMI、DCOM、SOAP、.NET Remotingなどがある。また、高性能計算分野では Message Passing Interface という規格名にメッセージパッシングという用語が使われている。メッセージパッシングの概念は、グラフモデル上のベイズ推定などでも使われている。
メッセージパッシング型のシステムは、メッセージという抽象化によってその下位に存在する状態変化や実装などを隠蔽するものであり、そういった意味で "shared nothing"(共有のない)システムと呼ばれる。
1977年、カール・ヒューイットは計算制御構造は「メッセージパッシングのパターン」と見ることができると主張した。
読み込み中...