IT用語集 › インフラ › MIT-SHM

MIT-SHM

インフラ Svenska → 更新: 2026-10-23

ローカルのプログラムが、画素を一つ残らずソケットに流す代わりに、共有メモリ経由で画像をサーバに渡せるようにするX11拡張。

Xはネットワーク透過になるよう設計されたため、表示する画像も他のすべてと同じ経路でデータとして流れる。クライアントとサーバが同じマシン上にあってもそうだ。動画プレーヤーやゲームのようにフレーム全体を送り込むプログラムでは、これがボトルネックになった。1990年代初めに登場したMIT Shared Memory Extensionは、クライアントとサーバがSystem Vの共有メモリセグメントを共有することでこれを回避する。プログラムはそこに画素を書き、XShmPutImageを呼ぶ。サーバはソケットを介さず、直接それを読む。

代償は透過性が失われることだ。ネットワーク越しやX11フォワーディングでは使えないので、プログラムにはフォールバックが要る。コンテナの中では、クライアントとサーバがIPC名前空間を共有していないと、この拡張は不可解なBadAccessエラーとして顔を出しがちである。

← 用語集に戻る