본문 바로가기

디스크의 구조

디스크는 표면을 몇 개의 영역으로 나누어 사용되며, 나누는 방식에는 섹터 방식과 가변 방식의 두 가지가 있다. 섹터 방식은 고정된 길이의 영역으로 나누는 방식이고, 

가변 방식은 일정하지 않은 길이의 영역으로 나누는 방식이다.

일반적인 PC에서는 전자를 채택하고 있으며, 그 구조는 다음과 같다.

 

 

여기서 섹터(sector)는 디스크를 물리적으로 읽고 쓰는 최소 단위가 된다.

윈도우에서 사용하는 디스크의 경우 1섹터를 512바이트로 하는 것이 일반적이다.

단, 논리적(소프트웨어적)으로 디스크를 읽고 쓰는 단위는 클러스터(cluster)다.

클러스터는 섹터의 정수배(512B, 1KB, 2KB, 4KB, )며, 하드디스크의 용량에 비례한다.

 

바꿔 말하면 아무리 작은 파일이라도 무조건 1 클러스터 이상의 영역을 차지하게 된다.

예를 들어 메모장에 알파벳 한 글자를 써서 저장하면 파일의 크기는 1B지만 

디스크 할당 크기는 4KB로 표시된다.

 

 

 

 

당연히 알파벳을 4097자 쓰고 저장하면 디스크 할당 크기는 8.00KB가 될 것이다.

 

따라서 파일 크기가 클러스터 단위가 아니라면 용량을 낭비하게 된다.

구조 상 어쩔 수 없는 부분이지만, 그렇다고 해서 클러스터 크기를 작게 하는 것은 좋지 않다.

 

클러스터는 디스크를 논리적으로 읽고 쓰는 단위다. 그러니 이 단위가 작아질수록 디스크 접근 횟수가 늘어나고, 결국 파일을 읽고 쓰는 시간이 길어지게 된다.

 

 

 

 

 

 

 

 

 

 

'Programming > Basis' 카테고리의 다른 글

프로그램의 작동 환경  (0) 2019.03.21
파일 압축  (0) 2019.03.18
메모리를 절약하는 방법  (0) 2019.03.12
가상 메모리  (0) 2019.03.10
디스크 캐시  (0) 2019.03.10