이것은 다소 낮은 수준의 질문이며 질문하기 가장 좋은 곳이 아닐 수도 있음을 이해합니다. 그러나 다른 SE 사이트보다 더 적절 해 보였습니다.
나는 리눅스 파일 시스템에 일부 파일이 실제로 알고 있을 예를 들어, : /usr/bin/bash
존재입니다. 그러나, (지금까지의 내가 그것을 이해), 일부는 실제로 더 같은 존재입니다하지 않는 가상 파일을, 예를 들면 : /dev/sda
, /proc/cpuinfo
, 등 내 질문이 있습니다 (그들은 두 가지,하지만 너무 밀접하게 별도의 질문으로 관련) :
- read 명령 (또는 그와 같은)이 발행 될 때 Linux 커널은 이러한 파일이 실제 파일인지 디스크에서 읽는지 여부를 어떻게 알 수 있습니까?
- 파일이 실제가 아닌 경우 : 예를 들어, from from
/dev/random
은 임의의 데이터를 반환하고 read from/dev/null
은을 반환EOF
합니다. 이 가상 파일에서 읽을 데이터 (및 가상 파일에 데이터를 쓸 때 / 경우에도 수행 할 작업)를 어떻게 해결합니까?-각 파일에 적합한 읽기 / 쓰기 명령을 분리하기위한 포인터가있는지도 또는 가상 디렉터리 자체에 대해서도? 따라서에 대한 항목/dev/null
은 단순히을 반환 할 수EOF
있습니다.