[Mona] メッセージオーバーヘッド

  1. AがBにメッセージ送信する関数をコール
  2. Aの空間からカーネル空間にメッセージコピー [カ]
  3. Bがメッセージ受信する関数をコール
  4. カーネル空間からBの空間にメッセージコピー[カ]


コピー2回

  1. AがBにメッセージ送信する関数をコール
  2. Aの空間をreadonlyでBの空間にマッピングする[カ]
  3. Bが受信する関数をコール
  4. Bがその空間に書き込みをする
  5. マッピングを解除し、Bの空間にコピーする。[カ]


読み込みだけならコピー0回。
書き込むならコピー1回


後者を実現するためには、
簡単にマッピングできるインターフェース
簡単にコピーできるインターフェースが必要


現在、存在するSharedMemoryの仕組みを使えば出来そうだ。