Post

클러스터, 섹터, 슬랙 ( Cluster, Sector, Slack )

Sector

디스크는 IO 명령을 받으면, 1 sector 단위로 IO하게 된다. 즉, 물리적으로 디스크가 IO하는 단위이며 따라서 실제로 디스크에 IO하게 되는 최소 크기는 1 sector다. 보통 1 Sector = 512 bytes.

Cluster

OS에서 디스크에 접근하기 위해 사용하는 파일시스템에서 IO하는 단위. 파일시스템에서는 IO횟수를 줄이기 위해 Sector 단위로 관리하지 않고 Sector들을 묶어 Cluster로 관리한다. 따라서 파일시스템에서 IO 명령을 내리는 최소 단위는 1 Cluster가 된다. 파일시스템에 따라 다르지만, 보통 8 sectors를 묶어 1 Cluster = 4 KB

Slack

이런 식으로 파일의 실제 크기와 디스크 최소 IO 크기, 파일시스템 최소 IO 크기가 차이가 나기 때문에 발생하는 낭비되는 공간을 슬랙이라고 부른다. Cluster : 2 KB Sector : 512 bytes 인 파일 시스템에 640 bytes 짜리 파일을 저장하게 되면 다음과 같은 슬랙이 발생한다.

램 슬랙

디스크에 실제로 IO하게 되는 단위가 1 sector이기 때문에, 640 bytes 파일을 저장하려면 2 sector에 IO가 발생한다. 이 때, 두 번째 sector의 앞부분 128 bytes는 파일 내용으로 채우고 남은 384 bytes는 0으로 초기화하는데 이렇게 초기화된 384 bytes를 램 슬랙이라고 부른다.

드라이브 슬랙

파일시스템은 디스크를 클러스터로 관리하기 때문에 2 sector 밖에 사용하지 않았다고 해도 파일시스템에서는 1 Cluster ( 4 sector )를 사용 중인 것으로 조회된다. 이렇게 낭비되는 추가적인 2 sector를 드라이브 슬랙이라고 부른다. * 이 때 드라이브 슬랙에 대해서는 아무런 작업도 수행하지 않는다.

This post is licensed under CC BY 4.0 by the author.