
나는 위키피디아와 다른 사이트를 살펴봤고 여기에 내가 얻은 정보가 있습니다.
부문:주소 지정이 가능한 최소 단위(대부분 512바이트)
무리: 최소 할당 단위(1개 이상의 섹터와 동일하며 클러스터 수는 파일 시스템에 따라 다름)
아래 예에서 섹터 =512바이트, 클러스터 =8 섹터=4096바이트라고 가정해 보겠습니다. 이제 파일을 생성하려고 할 때 파일 시스템이 수행하는 작업이 무엇인지 파악하는 데 어려움을 겪고 있습니다. 4096바이트를 최소 쓰기/읽기 단위로 간주합니까, 아니면 512바이트로 간주합니까?
대답이 4096바이트인 경우: 디스크 드라이브 제조업체가 주소 지정 가능한 최소 단위로 512바이트를 제공했는데 파일 시스템이 클러스터를 최소 단위로 간주하는 이유는 무엇입니까? 내 말은, 그렇게 하면 어떤 이점이 있나요?
답변1
클러스터/할당 단위/블록을 최소 단위로 생각하는 파일 시스템의 장점은 디스크 전체를 어드레싱하기 때문입니다.부문별모든 것을 인덱싱하려면 더 많은 수의 비트가 필요합니다. 비트 수가 많으면 추적할 주소와 항목이 많아지므로 속도가 느려집니다. 장치의 각 단일 액세스에 대해 64비트 이상(2^64 = 1.8e16)이 아닌 48비트(2^48 = 2.8e14)를 사용하여 위치를 주소 지정하고 색인을 생성하는 것이 훨씬 더 효율적입니다.
하지만 그렇습니다. 클러스터 크기나 할당 단위 크기(Windows) 또는 블록 크기(Linux)는 정의된 파일 시스템에 따라 조정 가능하며, 이는 정의된 파일 시스템에 따라 조정될 수 있는 가장 작은 크기입니다.보통파일 데이터를 저장하기 위해 OS에서 액세스할 수 있습니다. "파일 시스템 정의"는 디스크(또는 해당 형식의 사양)를 포맷하는 것을 의미하므로 디스크의 모든 데이터가 삭제됨을 의미합니다. 따라서 클러스터 크기가 4kiB인 디스크에서 1바이트 파일은 실제로 예제에서와 같이 전체 4k 클러스터를 차지합니다. 예, OS는 해당 클러스터 내의 일부 특정 섹터에 쓸 수 있지만 파일은 여전히 해당 클러스터의 동일한 섹터를 사용합니다(파일 크기는 그 안에 어떤 데이터가 있는지에 관계없이 항상 클러스터 크기의 배수가 됩니다). 클러스터 크기는 디스크를 다시 포맷하는 것을 의미하며 모든 데이터를 삭제해야 하는 이유입니다.
또한 클러스터 크기가 작을수록 작은 파일을 더 효율적으로 저장할 수 있습니다. 그러나 결과적으로 클러스터 수가 증가하므로 디스크 실행 속도가 전반적으로 느려집니다. PC가 오랜 시간 동안 디스크를 연마하고 있는 경우 이는 PC가 너무 많은 작은 블록을 읽거나 쓰려고 하기 때문에 그 숫자가 너무 많아 모든 작업 속도가 느려지기 때문입니다.
예: 1kiB 클러스터가 있는 디스크에 저장된 768바이트 파일 100,000개:
실제 파일 데이터 768kB 바이트
각 파일이 1024바이트의 디스크를 사용하므로 1.024MB의 디스크가 사용됩니다.
공간 효율성 = 0.768/1.024 = 75%(나쁘지 않은데...)
마찬가지로 영화, 이미지, 오디오와 같이 파일 수가 적고 용량이 큰 디스크에는 클러스터가 클수록 좋습니다. 클러스터 수가 적기 때문에 일반적으로 디스크가 더 빠릅니다. 하지만 작은 파일을 많이 넣을 때는 주의하세요.
예: 100,000개의 768바이트 파일이 64kiB 클러스터가 있는 디스크에 저장됨:
실제 파일 데이터 768kB 바이트
각 파일이 65535바이트의 디스크를 사용하므로 6.55GB의 디스크가 사용됩니다.
공간효율 = 0.768/6553.5 = 0.00017% !!!
운영 체제와 같이 콘텐츠가 혼합된 디스크는 대부분의 파일 크기가 중소형이므로 일반적으로 중소형 클러스터/블록 크기를 갖습니다. 최종 결과는 공간 활용과 속도 간의 절충안입니다.
디스크 자체는 초당 가장 많은 데이터를 전송할 수 있는 32kB에서 256kB 블록 사이를 선호합니다.
이것은 모두 전통적인 기계식 회전 플래터 자기 저장 하드 디스크에 관한 것입니다. SSD 또는 SSD(Solid-State Drive)는 기존 하드 디스크를 빠르게 대체하고 있으며 훨씬 빠른 읽기/쓰기/탐색 속도를 자랑합니다. 그렇다면 오늘날 SSD에서는 클러스터 크기가 중요할까요? 글쎄, 일반 사용자에게는 덜 중요하다고 말하고 싶지만 SSD(및 최신 컴퓨터)가 이미 훨씬 빠르기 때문입니다. 이미 자기 하드 디스크보다 5배 빠른 SSD의 10% 속도 저하를 누가 알아차리겠습니까?
SSD의 클러스터 크기에 더 많은 영향을 미칠 수 있는 것은 처리량입니다. 특정 클러스터 크기가 작동한다는 것을 형식화 및 벤치마킹을 통해 확인할 수 있습니다.멀리SSD의 경우 다른 것보다 낫습니다. 예를 들어 일부 SSD는 8kiB 또는 4kiB 전송에 최적화되어 있습니다. 이는 내부 전자 장치가 요청당 전송할 준비가 되어 있는 데이터 블록의 크기와 관련이 있습니다. OS가 사용하려고 하는 클러스터 크기(클러스터 크기)를 해당 SSD에 대한 최적의 크기와 일치시키십시오 = 가장 빠른 전송 속도.
그러나 SSD의 파일 "오버헤드"로 인해 클러스터 크기는 여전히 중요합니다.
답변2
제조업체가 정의한 섹터 크기.
이제 두 종류의 섹터 크기를 볼 수 있습니다. 512b 또는 4Kb
2010년 이전 HDD 섹터 크기: 512b
2010년 이후 제조업체는 HDD 4K 생산을 시작하여 브랜드를 방어했습니다.
현재 2018년에는 70%가 넘는 많은 사용자가 512b 섹터 크기를 사용합니다.
일부 HDD 제조업체에서는 섹터 크기를 변경하는 자체 도구를 제공하는 경우가 거의 없습니다.
Cluster(FAT용)는 BLOCK(Linux용) 시스템과 동일합니다.
하나 이상의 여러 섹터를 포함합니다.
파일 시스템은 클러스터(또는 블록)만 처리합니다.
제조업체에서 제공하는 기본 섹터라고 하는 논리 섹터입니다.
사용자는 형식이나 파티션 도구를 통해 물리적 섹터(=클러스터 또는 블록 크기)만 변경할 수 있습니다.
논리 섹터/물리 섹터 = 512/4096 = 제조업체 섹터/사용자 섹터 = 변경 불가/변경