Введение

Файловая система в Unix-подобных операционных системах

Файловая система proc (procfs) — это специальная файловая система в Unix-подобных операционных системах, которая представляет информацию о процессах и другую системную информацию в иерархической файлоподобной структуре, предоставляя более удобный и стандартизированный метод динамического доступа к данным процессов, хранящимся в ядре, чем традиционные методы трассировки или прямой доступ к памяти ядра. Обычно она монтируется в точке /proc при загрузке системы. Файловая система proc выступает в качестве интерфейса к внутренним структурам данных о запущенных процессах в ядре. В Linux она также может использоваться для получения информации о ядре и изменения определенных параметров ядра во время выполнения (sysctl). Многие Unix-подобные операционные системы поддерживают файловую систему proc, включая System V, Solaris, IRIX, Tru64 UNIX, BSD, Linux, IBM AIX, QNX и Plan 9 от Bell Labs. OpenBSD отказалась от поддержки в версии 5.7, выпущенной в мае 2015 года. Она отсутствует в HP-UX, и вместо этого используется интерфейс sysctl для получения информации, связанной с процессами. Для обеспечения двоичной совместимости с программами пользовательского пространства Linux, ядро FreeBSD также предоставляет linprocfs, которая аналогична Linux procfs. Она была удалена из OpenBSD в версии 5.7, выпущенной в мае 2015 года, поскольку "всегда страдала от гонок данных и больше не используется". macOS не реализовала procfs, и программы пользовательского пространства должны использовать интерфейс sysctl для получения данных о процессах.

Солярис

/proc в Solaris был доступен с самого начала (июнь 1992 года). Solaris 2.6 в 1996 году представил procfs2, разработанную Роджером Фолкнером.

CYGWIN

Cygwin реализовал procfs, который по сути идентичен procfs в Linux.