Shared Memory

プロセス間通信の一つである共有メモリについて、RaspberryPi でテストしてみました。

shmr.c (読み込み側)

ビルド

cc -o shmr shmr.c -lrt

shmw.c (書き込み側 差分)

サイズは16バイトのみで、書き込み側は、複数のプロセスを起動しやすいよう、”shmw 0″ や “shmw 8” などとメモリに書き込む位置を指定できるようにしてあります。
読み込み側は、表示のみをしますが、パラメータがあるときリセットをします。
(排他やエラー処理等、省いています)

これまであまり使う機会がありませんでしたが、とてもシンプルで使いやすいことがわかりました。

参考: http://s-kita.hatenablog.com/entry/20080727/1217123139