proc가 파일 시스템이라고하는 이유는 무엇입니까?


20

proc파일 시스템은 커널 리눅스 시스템에서 실행중인 각 프로세스에 대한 정보를 통신 할 수 있습니다.

proc파일 시스템이라고하는 이유는 무엇 입니까? 와 같은 실제 파일 시스템이 아닙니다 ext4. 실행중인 프로세스에 대한 정보가 포함 된 파일 모음 일뿐입니다.

답변:


25

/proc사용자 프로세스가 잘 알고있는 시스템 호출 및 라이브러리 호출, 같은과를 탐색 할 수 있기 때문에 파일 시스템이다 opendir(), readdir(), chdir()그리고 getcwd(). 심지어 open(), read()그리고 close()에 나타나는 "파일"의 많은에 대한 작업 /proc. 대부분의 의도와 거의 모든 목적을 위해 /proc파일 시스템은 파일이 일부 디스크의 블록을 차지하지 않는다는 사실에도 불구하고 파일 시스템입니다.

현재 사용중인“파일 시스템”이라는 용어의 정의를 명확히해야한다고 생각합니다. ext4와 관련하여 "파일 시스템"을 작성할 때 디스크 블록의 레이아웃, 디스크의 어딘가에있는 디스크 블록에 대한 메타 데이터 정보의 사양 및이를 다루는 코드에 대해 이야기하고있을 것입니다. 디스크상의 레이아웃. /usr, /tmp등 의 맥락 /var/run에서, 우리는 어떤 것들을 명명하는 방법에 대한 이해 또는 공유 개념에 대해 쓰고 있습니다. “파일 시스템”이라는 용어의 두 가지 용도는 실제로 상당히 다릅니다. /proc앞서 언급했듯이 실제로 "파일 시스템"의 두 번째 종류입니다.


9
/proc파일이 항상 디스크 백업 (또는 테이프 백업, CD 백업 또는 기타 백업)되었다고 생각하지 않는 한 파일에 대해 무서운 인용 부호를 사용할 이유 가 없습니다 .9 항상 RAM 디스크를 생각하는 것은 아닙니다. 에서 "진짜"파일을 오픈 / 쓰기 / 닫기 순서 /home. 말하자면 항상 해당 변경이 파일 디스크상의의 storagehave 이미 만들어진 완료의 상태를 반영 영구적하도록한다는 것을 의미하지 않을 수 있습니다
하겐 폰 Eitzen

10
tl; dr : 파일 시스템이기 때문에?
Jörg W Mittag

1
또한 "Linux에서는 모든 것이 파일입니다"라는 설명도 설명합니다.
dr01

화면이 "데스크톱"과 비슷한 방식으로 파일 시스템입니다. 컴퓨터 용어는 은유로 가득합니다.
Barmar

18

정보가 포함 된 파일 영역 일뿐입니다.

그러나 이것이 바로 파일 시스템 입니다 . 파일 시스템은 쓰기 가능할 필요가 없으며 영구 저장소에 상주 할 필요가 없습니다.

참고 : procfs(커널의 의사 파일 시스템 구현)과 기존의 마운트 지점 사이에는 차이가 있습니다 /proc. 이론상 procfs어디든 마운트 할 수 있지만 드물다. 그 때문에 사람들은 종종 /proc그들이 언제 의미하는지 이야기 procfs합니다.

procfs의 파일 procfs은 일반적인 파일 시스템 작업에 의해 생성되지 않지만 커널의 다른 곳에서 발생하는 상황에 따라 파일 시스템 구현 자체에 의해 추가 및 제거 되기 때문에 의사 파일 시스템이라고합니다 .


예를 들어 왜 / etc / boot를 파일 시스템이라고하지 않습니까?
Makhlouf GHARBI

7
파일 시스템의 디렉토리이기 때문입니다. (음, /boot자주 별도의 파일 시스템이지만, 별도 아니다 종류의 파일 시스템.)
CJM

9

파일 시스템에 사용 된 메커니즘을 통해 데이터에 액세스 할 수있는 방식으로 데이터를 구성하는 경우 전체를 파일 시스템이라고 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.