TL;DR

  1. 概要
    • fs/pipe.c是一个内核模块,初始化了pipe(伪)文件系统
    • pipe系统调用在pipe文件系统中新建一个pipe文件
    • pipe文件包括struct inode和struct pipe_inode_info数据结构
  2. pipefs初始化
  3. pipefs创建文件
  4. pipe write
  5. 总结
    • 管道是一个文件系统,分配一块内存供进程读写
    • 管道的数据保存在inode->i_pipe中,结构为struct pipe_inode_info