2011-04-30 4 views
3

제대로 이해하면 파일 크기를 검색하는 라이브러리 함수를 제공하는 대부분의 프로그래밍 언어가 시스템 호출을 사용합니다. 그런데 시스템이 후드에서 무엇을합니까? 파일 시스템에 따라 다릅니 까? 어떤 종류의 파일 헤더에 크기 정보가 저장되어 있습니까?운영 체제는 파일 크기를 어떻게 계산합니까?

답변

6

예, 이것은 파일 시스템에 따라 다르지만 대부분의 파일 시스템은 대략 동일한 방식으로 수행합니다. 각 파일의 크기를 포함하여 파일에 대한 메타 데이터를 저장하는 블록이 하드 드라이브에 있습니다.

예를 들어 Linux/UNIX에서 사용되는 많은 파일 시스템의 경우이 블록을 inode이라고합니다. inode는 실제로 파일의 일부가 아니므로 실제로는 헤더가 아닙니다. 파일 데이터가 아닌 메타 데이터를 저장하기 위해 예약 된 디스크 영역에 존재합니다.

NTFS에는 Windows에서 사용하는 파일 시스템 인 파일 크기 데이터가 마스터 파일 테이블에 저장됩니다. 이것은 리눅스 파일 시스템의 inode 테이블과 거의 같습니다. 그들은 구조에 저장됩니다

+0

감사합니다. 자세한 내용 =) –

2

파일의 메타 데이터에 저장되며, POSIX 시스템에서는 stat으로 검색 할 수 있습니다. 메타 데이터에는 파일이 마지막으로 수정되거나 액세스 된 시간도 포함됩니다.

2

은 아이 노드라고 : http://en.wikipedia.org/wiki/Inode

이 파일의 메타 데이터를 모두 포함을; 파일의 내용을 수정하면 (또는 실제로 아무 것도하지 않으면) Inode가 업데이트됩니다.

+0

답변 해 주셔서 감사합니다. –

관련 문제