共有メモリ
出典: フリー百科事典『ウィキペディア(Wikipedia)』
共有メモリ(きょうゆう-)は、プロセス間通信の技法の一つ。通常各プロセスのメモリ空間はオペレーティングシステムによって互いに影響しないように管理されている。しかし、以下のような場合にはメモリ空間を共有したいことがある。
一般に共有メモリ自体は保護機能をもたないので動作は高速である。しかし共有されるメモリは不定のタイミングで複数のプロセスからアクセスされる可能性がある。競合を避ける為にはセマフォやロックなどで競合を回避しなければならない。
Microsoft WindowsのWin32 APIではCreateFileMapping関数でファイルハンドルとしてINVALID_HANDLE_VALUEを指定することで共有メモリを作れる。また、このやり方で、カーネルモードとユーザーモードの間で共有メモリを作ることも出来る。[1]