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

发布于 2024-11-19 12:46:42 字数 127 浏览 4 评论 0原文

可以完全在内存中创建的 Linux 文件有哪些不同类型?

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

What are the different types of Linux files that can be created entirely in memory?

For example, a pipe file may be created, but does the location of where a file is created (or the filesystem type of the file's path) make a difference to whether a disk access is involved? If I create a pipe file in an ext3 file system, could a physical disk access result?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作死小能手 2024-11-26 12:46:42

在我的脑海中,没有看任何书籍:D,我认为它是这样分解的:

mmap-able:

  • 文件(当然)
  • 软链接(最终目标,如果它是文件,块设备或内核设备)
  • 硬链接(如果是文件、块设备或内核设备,则为最终目标)
  • 块设备(/dev/ram1、/dev/sda1 等)
  • 字符设备(您可以映射字符设备,但在某些情况下它不会)没有意义(或例如,在用户空间中开发驱动程序的一种简单方法是让内核模块处理硬件的基本映射,然后通过可映射字符设备公开硬件,以便非特权用户可以访问它(。 USB、音频、闪存卡也使用这个。zerocopy
  • 是否可映射,

  • 共享内存目录

不可映射?

  • /
  • sendfile ) ?

Off the top of my head, and without looking at any books :D, I think it breaks down like this:

mmap-able:

  • files (of course)
  • soft-links (final target if it's a file, block device or kernel device)
  • hard-links (final target if it's a file, block device or kernel device)
  • block devices (/dev/ram1, /dev/sda1, etc..)
  • character devices (You can mmap character devices, but in some cases it won't make sense (or work right). For instance an easy way to develop a driver in userland is to have a kernel module handle a basic mmap to your hardware and then expose the hardware via a mmapable character device so that a non-privileged user can access it. (USB, audio, flash cards) use this. A lot of embedded stuff does too.
  • unix domain sockets? Does zerocopy/sendfile count?

mmap-able but not a file?

  • shared memory

un-memmappable?

  • directories
  • fifos (one reader, one writer) ?
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文