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

use*_*956 5 linux linux-device-driver

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

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

syn*_*tel 4

在我没有看任何书的情况下,我想它是这样分解的:

可映射:

  • 文件(当然)
  • 软链接(如果是文件、块设备或内核设备,则为最终目标)
  • 硬链接(如果是文件、块设备或内核设备,则为最终目标)
  • 块设备(/dev/ram1、/dev/sda1 等)
  • 字符设备(您可以映射字符设备,但在某些情况下它没有意义(或无法正常工作)。例如,在用户空间中开发驱动程序的一种简单方法是让内核模块处理到您的硬件的基本映射,并然后通过可映射的字符设备公开硬件,以便非特权用户可以访问它。(USB、音频、闪存卡)使用它。很多嵌入式东西也这样做。
  • unix 域套接字?Zerocopy/sendfile 算吗?

可映射但不是文件?

  • 共享内存

不可内存化?

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