tmpfs


Tmpfs

tmpfsは、多くのUnixライクなオペレーティングシステムに実装されている一時ファイルストレージパラダイムです。マウントされたファイルシステムとして表示されることを目的としていますが、データは永続ストレージデバイスではなく揮発性メモリに保存されます。同様の構造はRAMディスクであり、仮想ディスクドライブとして表示され、ディスクファイルシステムをホストします。

コンテンツ
1 セマンティクス
2 実装
2.1 SunOS 2.2 Linux 2.3 BSD
3 参考文献
4 外部リンク

セマンティクス
tmpfsに保存されるものはすべて一時的なものであり、ハードドライブなどの不揮発性ストレージにファイルが直接作成されることはありません(ただし、メモリ不足の場合はスワップスペースがバッキングストアとして使用されます)。で、再起動、tmpfsの中にすべてが失われます。
tmpfsが使用するメモリは、そこに含まれるファイルに対応するために拡大および縮小します。
多くのUnixディストリビューションは、ファイルシステムの/ tmpブランチまたは共有メモリに対してデフォルトでtmpfsを有効にして使用します。これは、次の例のようにdfで確認できます 使用されているファイルシステムのサイズ使用率使用率tmpfs 256M 688K 256M 1%/ tmp
ただし、Debianなどの一部のLinuxディストリビューションでは、デフォルトでtmpfsが/ tmpにマウントされていません
。この場合には下のファイル
/ tmpが同じファイルシステムに格納されます /。 また、ほとんどすべてのLinuxディストリビューションでは、tmpfsが/ run /または
/ var / run /にマウントされ
、PIDファイルやUnixドメインソケットなどの一時的なランタイムファイルを保存します。

実装
tmpfsの概念にはいくつかの独立した変形が最も初期の一つは、によって開発されたSun MicrosystemsのSunOSのために、とのBSDやLinuxのような他のオペレーティングシステムは、独自に提供します。

SunOS
SunOS 4には、tmpfsの最も初期の実装である可能性が最も高いものが含まれています。これは、1987年後半にSunOS 4.0に初めて登場し、任意のオブジェクトをメモリマップできる新しい直交アドレス空間管理とともに登場しました。 Solarisの / tmpにディレクトリは、Solaris 2.1、で始まる、デフォルトではtmpfsファイルシステムを作った 1992年12月にリリースされのSolaris用の出力コマンドが表示されますスワップを任意のtmpfsのボリュームの背景ストレージとして:df
#df -k 使用されたファイルシステムのキロバイト利用可能な容量マウントされた スワップ6015920 601592 0%/ tmp / test

Linux
tmpfsは、バージョン2.4以降のLinuxカーネルでサポートされています。 Linux tmpfs(以前はshmfsと呼ばれていました)は、起動時に使用されるramfsコードに基づいており、ページキャッシュも使用しますが、ramfsとは異なり、使用頻度の低いページをスワップアウトしてスペースをスワップし、ファイルシステムのサイズとiノードの制限をサポートします。メモリ不足の状況を防ぐため(デフォルトでは、それぞれ物理RAMの半分とRAMページ数の半分)。

BSD
4.2BSDは、既存のFFSディスクファイルシステムを仮想メモリ領域に適用することによって実装されたメモリベースのファイルシステムであるMFS を導入しました。
MFSのパフォーマンスを向上させるために従来のメモリ内データ構造を使用して実装されたメモリファイルシステムであるtmpfsは、2005年9月10日に公式のNetBSDソースツリーにマージされました。 4.0以降のバージョンで利用できます。
FreeBSDはNetBSDの実装を移植しており、7.0以降のバージョンで利用できます。
DragonFly BSDは、NetBSDの実装も移植しており、2.5.1以降のバージョンで利用できます。
OpenBSDは、 NetBSDのtmpfs実装も移植しました。これは、最初はPedro Martellettoによって開始され、他の多くの人によって改善されました。2013年12月17日からのビルドで有効になりました。 tmpfsを含むOpenBSDの最初のリリースは5.5でした。 OpenBSD 6.0は、メンテナンスが不足しているため、tmpfsを無効にしました。

参考文献
^ ピータースナイダー。「tmpfs:仮想メモリファイルシステム」 (PDF)。
^ ハルL.スターン。「SunOS4.1パフォーマンスチューニング」(GZipped PostScript)。
^ 「SPARC:Solarisソフトウェアのインストール」(PDF)。SunSoft。1992年12月。p。9 。
^ 「Solarisオペレーティングシステム(Unix)」。Operating-system.org。
^ ダニエルロビンズ(2001-09-01)。「共通スレッド:高度なファイルシステム実装ガイド、パート3」。IBMDeveloperWorks 。
^ クリストフローランド; ヒュー・ディキンズ; 小崎元広。「tmpfs.txt」。kernel.org 。
^ 「NetBSDmount_mfs(8)のマニュアルページ」。2007-12-08 。
^ Julio M. Merino Vidal(2006-02-24)。「NetBSD-SoC:効率的なメモリファイルシステム」。
^ Xin LI(2013-04-23)。「FreeBSDtmpfs(5)マンページ」。
^ “CVS:cvs.openbsd.org:src-tmpfsを有効にして、もう少しテストされるようにします”。
^ 「OpenBSD5.5」。2014-05-01 。

外部リンク
「Solaristmpfs(7FS)のマニュアルページ」。
「Kernel.orgtmpfsドキュメント」。
 title=
Tmpfs&oldid=1053548382″