1

私は学生で、マルチプロセスの行列乗算のために C で fork() を使用してプログラミングしていました。

しかし、私がこれをしている間、MESSAGE QUEUEでIPCをいつ使用するかについて質問がありました。

struct message_buffer{
long mtype;
int result[100][100];
}

このように、スペースはメッセージとして常にコピーされるため、これは効率的ではないことはわかっていますが...すべてのプロセスが結果テーブルを共有できる唯一の方法だと思いました....(別の方法はありますか?)

とにかく、結果配列テーブルをそのように配置すると、メモリのどこに結果テーブルが作成されますか??...

彼らはカーネルの場所に場所を作成し、その場所を本当に「共有」しますが、抽象化をメッセージとして使用しますか?

また

メッセージ バッファは 1 つのメイン プロセスで作成され、共有されるのではなく、コピーされて他のプロセスに表示されます。

ヒントをください :'( 本当に知りたい....

メッセージバッファを共有しない場合、どうすればプロセスを共通の場所に「共有」させることができますか?

ありがとうございました......

4

0 に答える 0