4

My current assignment is regarding implementing the pipe() in Linux using shared memory.

Since this is my first time working with semaphores & shared memory (mutex also) I have zero experience with it .

Can somebody shed some light on it with explanation regarding its implementation ? thanks

4

1 に答える 1

3

以下のマニュアルページから始めてください。

共有メモリ

ftok
shmget
shmat
shmctl
shmdt

セマフォ

sem_init
sem_wait
sem_post

アイデアは、データを交換できるようにパイプを使用する2つの異なるアプリケーションです。これは、共有メモリを使用して実行できます。また、プロセスが読み取るデータに一貫性があることを確認するために、いくつかの同期を実行する必要があります(ここにセマフォがあります)。たとえば、プロセスBが前の書き込みからパイプからデータを読み取るまで、パイプへのプロセスAの書き込みをブロックする必要があります。

于 2012-06-04T10:39:19.650 に答える