다른 용어를 사용하는 여러 문서를 읽었 기 때문에 혼란 스러울 것 같습니다. "블록 크기"및 "클러스터 크기"와 같은 용어는 파일 시스템 문헌의 맥락 내에서도 보편적 인 의미를 갖지 않습니다.
파일 시스템
들어 EXT2 또는 EXT3 , 상황은 비교적 간단하다 : 각 파일은 특정 수의 점유 블록을 . 주어진 파일 시스템의 모든 블록은 같은 크기, 보통 1024, 2048 또는 4096 바이트 중 하나입니다. 크기가 N 블록과 1 바이트 사이에 있고 N + 1 블록 사이의 파일 ¹은 N + 1 블록을 차지합니다. 해당 블록 크기는로 지정합니다 mke2fs -b
. 별도의 군집 개념은 없습니다.
특히 MS-DOS와 초기 버전의 Windows에서 사용 하는 FAT 파일 시스템은 비슷한 공간 할당을 갖습니다. ext2 호출 차단, FAT 호출 클러스터 ; 개념은 동일합니다.
일부 파일 시스템에는보다 정교한 할당 체계가 있습니다. 고정 크기 블록이 있지만 동일한 블록을 사용하여 둘 이상의 파일의 마지막 몇 바이트를 저장할 수 있습니다. 이것을 블록 하위 할당이라고합니다 . Reiserfs 와 Btrfs 는 그렇게하지만 ext3 또는 ext4는 아닙니다.
유용
유닉스 유틸리티는 종종“블록”이라는 단어를 사용하여 임의 크기의 단위 (일반적으로 512 바이트 또는 1kB)를 의미합니다. 이 사용법은 특정 파일 시스템 또는 디스크 하드웨어와 관련이 없습니다. 역사적으로 512B 블록은 당시 디스크와 파일 시스템이 종종 512B 청크로 작동하기 때문에 생겨 났지만 현대적인 사용법은 임의적입니다. 기존의 유닉스 유틸리티와 인터페이스는 여전히 512B 블록을 사용하지만 1kB 블록이 종종 선호 됩니다. 당신은 (일부 스위치, 등이 사용하고 블록의 어떤 크기를 알고 각 유틸리티의 문서를 확인해야 du -B
또는 df -B
리눅스를).
GNU / Linux stat
유틸리티에서 blocks
그림은 파일이 사용하는 512B 블록의 수입니다. IO Block
그림에 파일 입출력, 적절한 사이즈입니다 원칙과 무관하지만, 일반적으로 기본 파일 시스템의 블록 크기의 표시 (또는 클러스터 크기가의 당신이 전화를 원하는 경우). 여기에는 13 바이트 파일이 있는데,이 파일은 ext3 파일 시스템에서 블록 크기가 2048 인 하나의 블록을 차지합니다. 따라서 파일은 4 개의 512 바이트 단위를 차지합니다 ( "블록"이라고 함 stat
).
디스크
대부분의 디스크는 디스크를 여러 섹터 로 표시하는 인터페이스를 제공합니다 . 디스크는 개별 비트나 바이트가 아닌 전체 섹터 만 쓰거나 읽을 수 있습니다. 대부분의 하드 디스크에는 512 바이트 섹터가 있지만 2 년 전에 4kB 섹터 디스크가 나타나기 시작했습니다.
디스크 섹터 크기는 파일 시스템 블록 크기와 직접 관련이 없지만 전체 섹터 수인 블록을 갖는 것이 성능에 더 좋습니다.
¹
예외 : 스파 스 파일 은 공간을 절약합니다.