파일 proc
시스템을 통해 커널은 Linux 시스템에서 실행 중인 모든 프로세스에 대한 정보를 전달할 수 있습니다.
왜 proc
파일 시스템이라고 불리는가? 이는 ext4
실행 중인 프로세스에 대한 정보를 포함하는 파일 모음일 뿐입니다.
답변1
/proc
opendir()
는 사용자 프로세스가 익숙한 시스템 호출과 라이브러리 호출(예: readdir()
및 )을 사용하여 chdir()
탐색 할 수 있기 때문에 파일 시스템입니다 getcwd()
. 심지어 open()
, read()
및 close()
에 나타나는 많은 "파일"을 처리합니다 /proc
. 대부분의 의도와 거의 모든 목적을 위해 /proc
파일 시스템이지만 해당 파일은 특정 디스크 블록을 차지하지 않습니다.
나는 우리 모두가 "파일 시스템"이라는 용어에 대한 현재 정의를 명확히 해야 한다고 생각합니다. ext4의 맥락에서 "파일 시스템"을 작성할 때 우리는 아마도 디스크 블록 레이아웃, 디스크 어딘가에 상주하는 디스크 블록에 대한 메타데이터 정보 사양 및 처리 코드의 조합에 대해 이야기할 것입니다. 디스크의 레이아웃. 와 같은 맥락 에서 우리는 무언가 /usr
의 이름을 지정하는 방법에 대한 이해 또는 공유된 개념에 대해 글을 쓰고 있습니다. "파일 시스템"이라는 용어의 두 가지 용도는 실제로 매우 다릅니다. 지적했듯이 실제로는 두 번째 "파일 시스템"입니다./tmp
/var/run
/proc
답변2
정보가 포함된 파일의 영역일 뿐입니다.
하지만 그게 바로 파일 시스템의 목적이죠예. 파일 시스템은 쓰기 가능하거나 영구 저장소에 상주할 필요가 없습니다.
procfs
참고: (커널의 의사 파일 시스템 구현)과 기존 마운트 지점 사이에는 차이가 있습니다 /proc
. 이론적으로는 어디에나 설치할 수 있지만 procfs
그런 경우는 드뭅니다. 이 때문에 사람들은 종종 /proc
자신이 실제로 의미하는 바에 대해 이야기합니다 procfs
.
procfs
procfs
의 파일은 일반적인 파일 시스템 작업에 의해 생성되지 않고 커널의 다른 곳에서 발생하는 상황에 따라 파일 시스템 구현 자체에 의해 추가 및 제거되기 때문에 의사 파일 시스템이라고 합니다 .
답변3
파일 시스템에서 사용되는 메커니즘을 통해 액세스할 수 있도록 데이터가 구성되어 있으면 전체를 파일 시스템이라고 부를 수 있습니다.