2011-07-08 9 views
5

メモリ内に完全に作成できるLinuxファイルの種類は何ですか?Linuxでは、どのような種類のファイルがメモリマップされていますか?

たとえば、パイプファイルを作成することはできますが、ファイルが作成された場所(またはファイルパスのファイルシステムタイプ)によってディスクアクセスが関係するかどうかが異なります。 ext3ファイルシステムでパイプファイルを作成すると、物理ディスクへのアクセスが可能になるのでしょうか?私の頭の上オフ

+0

すべてがファイルです。物語の終わり。 – Anders

答えて

4

、および任意のブックを見ず:

のmmap可能な:(もちろん)

  • ファイル
  • D、私はそれがこのようにブレークダウンだと思います(ファイル、ブロックデバイス、またはカーネルデバイスの場合は最終ターゲット)
  • ハードリンク(ファイル、ブロックデバイスまたはカーネルデバイスの場合は最終ターゲット)
  • ブロックデバイス(/ dev/ram1、/ dev/sda1など)
  • 文字デバイス(文字デバイスをmmapすることはできますが、場合によっては意味をなさない(または正しく動作しません)。たとえば、ユーザランドでドライバを開発する簡単な方法は、カーネルモジュールにハードウェアの基本mmapを処理させ、特権を持たないユーザがアクセスできるようにmmapableキャラクタデバイスを介してハードウェアを公開することです。 (USB、オーディオ、フラッシュカード)はこれを使用します。埋め込まれたものもたくさんあります。
  • unixドメインソケット? zerocopy/sendfileはカウントされますか?

mmap可能ですがファイルではありませんか?

  • 共有メモリ

非memmappable?

  • ディレクトリ
  • のFIFO(1人のリーダー、1人のライター)?