在Linux中,内存映射了哪些类型的文件?

时间:2011-07-08 17:29:06

标签: linux linux-device-driver

可以在内存中完全创建的不同类型的Linux文件是什么?

例如,可能会创建一个管道文件,但是创建文件的位置(或文件路径的文件系统类型)是否会影响是否涉及磁盘访问?如果我在ext3文件系统中创建管道文件,是否可以获得物理磁盘访问结果?

1 个答案:

答案 0 :(得分:4)

离开我的头顶,没有看任何书:D,我认为它像这样崩溃:

MMAP-能够:

  • 文件(当然)
  • 软链接(最终目标,如果它是文件,块设备或内核设备)
  • 硬链接(最终目标,如果它是文件,块设备或内核设备)
  • 阻止设备(/ dev / ram1,/ dev / sda1等。)
  • 字符设备(你可以mmap字符设备,但在某些情况下它没有意义(或正常工作)。例如,在userland中开发驱动程序的一种简单方法是让内核模块处理一个基本的mmap到你的硬件,然后通过mmapable字符设备公开硬件,以便非特权用户可以访问它。(USB,音频,闪存卡)使用它。许多嵌入的东西也是如此。
  • unix域套接字? zerocopy / sendfile是否计数?

mmap-able但不是文件?

  • 共享内存

未memmappable?

  • 目录
  • fifos(一位读者,一位作家)?