MIT Shared Memory Extension(MIT-SHMまたはXShm)は、共有メモリ(通常は/dev/shm )を使用してクライアントとサーバー間で画像データを交換するためのX Window System拡張機能です。このメカニズムは、両方の機器が同じコンピュータ上にある場合にのみ機能します。
提供される基本機能は、共有メモリXイメージです。これは基本的に、実際のイメージデータがSysV共有メモリセグメントに格納されるXイメージインターフェースのバージョンであり、ソケットを介してXサーバーに転送する必要がありません。大きなイメージの場合、この機能を使用することで、パフォーマンスが大幅に向上する可能性があります。
さらに、一部の実装では共有メモリピクスマップが提供されています。これらは、Xサーバーによって指定された形式のピクセルの2次元配列であり、画像データは共有メモリセグメントに格納されます。共有メモリピクスマップを使用することで、Xlibルーチンを一切使用せずにこれらのピクスマップの内容を変更することが可能です。共有メモリピクスマップは、Xサーバーがピクスマップデータに通常の仮想メモリを使用できる場合にのみサポートされます。ピクスマップがグラフィックスハードウェアのオンボードメモリに格納されている場合、アプリケーションはサーバーとピクスマップを共有できません。 [ 1 ]
X.orgサーバーの1.15リリース[ 2 ]では、MIT-SHM拡張機能に「X_ShmAttachFd」と「X_ShmCreateSegment」という2つの追加リクエストが追加され、ファイルディスクリプタを介してクライアントからサーバーへ、またサーバーからクライアントへ共有メモリを渡せるようになり、コピー操作の数をさらに削減できます。[ 3 ]