メッセージ (コンピュータ)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
メッセージ(message)とは、言付け、伝言、伝送文などの意味があり、コンピュータにおいては、次のような意味で使われている。
目次 |
[編集] オブジェクト指向プログラミング
オブジェクト指向プログラミングにおいて、メッセージとは、オブジェクト間の通信でやり取りされる情報のことである。詳しくはオブジェクト指向プログラミングを参照すること。
[編集] OSの機能
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年、カール・ヒューイットは計算制御構造は「メッセージパッシングのパターン」と見ることができると主張した[1]。
[編集] 関連項目
[編集] 参考文献
- ^ Hewitt, Carl (6月 1977年). "Viewing Control Structures as Patterns of Passing Messages" (pdf). Journal of Artificial Intelligence.
- Ramachandran, U.; M. Solomon, M. Vernon (1987年)"Hardware support for interprocess communication." Proceedings of the 14th annual international symposium on Computer architecture, ACM Press
- McQuillan, John M.; David C. Walden (1975年)"Some considerations for a high performance message-based interprocess communication system." Proceedings of the 1975 ACM SIGCOMM/SIGOPS workshop on Interprocess communications, ACM Press
- Shimizu, Toshiyuki; Takeshi Horie, Hiroaki Ishihata (1992年)"Low-latency message communication support for the AP1000." Proceedings of the 19th annual international symposium on Computer architecture, ACM Press