3.pipeによるプロセス通信方式の変更 1) pipe()システムコールにより カーネルは2つのプロセス間でのみ共有可能なメモリを用意する pipe()のスタブ関数内で、上記共有メモリの管理を行う 共有メモリを、2プロセス間のFIFOとして使用する CPUの実行権を他者に譲るために、yield()システムを新規追加する。 2) write()はマクロとして定義する。 pipe()に対するwrite()は、 共有メモリへのデータ書き込みとする FIFOが一杯である場合、yield()システムを発行する。 3) read()はマクロとして定義する。 pipe()に対するread()は、 共有メモリからのデータ読みだしとする FIFOが空である場合、yield()システムを発行する。 4) close()はシステムコールのままとし、 pipeのclose()で、共有メモリを開放する