|
procfsは、Process Filesystem の略で、Unix系システムにある擬似ファイルシステム。主にプロセスに関するカーネル情報にアクセスする手段を提供する。procfs は実際のファイルシステムではないので、ディスクスペースを消費しないし、メモリもごくわずかしか消費しない。 通常、procfs は立ち上げ時に /proc ディレクトリにマウントされる。Solaris、BSD、Linux、AIX、QNXなどでサポートされ、特にLinuxではプロセス関連以外のデータにも拡張されている(AIXのprocfsはLinuxベース)。procfs は機能をカーネルモードからユーザーモードに移すことに重要な役割を果たしている。例えば GNUプロジェクト版の ps コマンドは全てのデータを procfs から得ており、特別なシステムコールを使用しない。== 歴史 == Tom J. Killian は Version 8 Unix 上に /proc を実装し〔proc(4) manual page on Version 8 Unix 〕、1984年6月、USENIXで ''Processes as Files'' という題の論文を発表した。これは、プロセスのトレースを行う ''ptrace'' システムコールを置き換える目的で設計された。Roger Faulkner と Ron Gomes は V8 /proc を SVR4 に移植し、1991年1月、USENIX で ''The Process File System and Process Model in UNIX System V'' という論文を発表した。この procfs は ps コマンドの実装に使える程度の機能を有するようになったが、procfs内のファイルには read() 、write() 、ioctl() といったシステムコールしか使えなかった。Plan 9で実装された procfs は V8 のものよりずっと進化していた。V8 の procfs では、あるプロセスに関する機能はひとつのファイルへの操作で実現されていた。Plan 9 は、それを複数のファイルに機能毎に分割し、procfs をよりファイルシステムらしくした。 4.4BSDで実装された procfs はプロセス毎のサブディレクトリがあり、プロセスのメモリ、レジスタ、現在ステータスにアクセスすることができた。Solaris 2.6 の procfs もプロセス毎のディレクトリがあり、制御用の ''ctl'' ファイルが用意され、トレースやプロセス毎の操作ができるようになっていた。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Procfs」の詳細全文を読む スポンサード リンク
|