The /proc File System
Werner Klauser
The /proc file system (procfs) is an example of a
virtual file system used by several UNIX operating systems,
including Sun's Solaris, Linux, OpenBSD, and AT&T's UNIX on an
NCR system. No official standards regulate the /proc file
system. This article provides a brief history of /proc and
its implementation on Sun's Solaris 2.5 and Solaris 2.6 operating
systems, as well as a few hints about how /proc can be used
to solve various system administration problems.
History
The concept of /proc was first introduced by Tom Killian
in the research Eight Edition UNIX system and was first written up
in a paper: "Process as Files" in the Proceedings of the USENIX
Association Summer Conference held in Salt Lake City, June 1984.
The early version was essentially a ptrace(2) replacement
with the important advancement that the address space of the
process could be examined and modified using the read(2) and
write(2) system calls rather than the clumsy
ptrace(2) one-word-at-a-time interface.
Roger Faulkner and Ron Gomes ported the research version of
/proc to SVR4 and provided an easier viewing and access method
of the active processes. They presented their work in another
USENIX paper: "The Process File System and Process Model in UNIX
System V" in the Proceedings of the USENIX Association Winter
Conference held in Dallas, TX, January 1991. At that time, Roger
Faulkner was with Sun Microsystems and Ron Gomes with AT&T Bell
Laboratories. As described in that paper, future work was intended
to restructure /proc from a flat file system into a
directory hierarchy describing a process.
|