<aside>
💡 Allocation(파일 할당)은 OS가 정보를 메모리 블록에 저장하여 하드 드라이브를 효과적으로 활용하고 파일에 접근할 수 있도록 하는 다양한 방법이다. 주요 목표는 공간 활용을 최적화하고 조각화를 최소화하는 것에 있다
</aside>
개념
- 파일이 디스크 블록에 저장되는 방식을 정의한다.
- 세 가지의 파일 할당 방법이 존재한다.
- 효율적인 디스크 공간 활용과 파일 블록에 대한 빠른 액세스를 제공할 수 있도록 한다.
1. Contiguous Allocation(연속 할당)

- 이 구성표에서 각 파일은 디스크의 연속된 블록 세트를 차지한다.
- 예를 들어, 파일에 n 블록이 필요하고 블록 b가 시작 위치로 지정된 경우 파일에 할당된 블록은 b, b+1, b+2,…b+n-1이 된다*.*
- 이는 시작 블록 주소와 파일 길이(필요한 블록 측면에서)가 주어지면 파일이 차지하는 블록을 결정할 수 있음을 의미한다.
- 그림의 'mail' 파일은 길이 = 6 블록인 블록 19에서 시작한다. 따라서 19, 20, 21, 22, 23, 24 블록을 차지한다.
- 각 파일은 디스크의 연속된 여유 공간 블록을 차지한다.
- 즉, 특정 파일에 대한 모든 데이터가 디스크의 하나의 연속 섹션에 저장된다.
- 파일이 생성되면 OS는 파일을 수용할 수 있을 만큼 큰 여유 공간이 있는 연속 블록을 검색한다
- 블록이 발견되면 파일은 해당 블록에 저장되고 OS는 시작 주소와 크기를 추적한다.
- 이는 시작 블록 주소와 파일 길이가 주어지면 파일이 차지하는 블록을 결정할 수 있음을 의미한다
- 연속 할당된 파일의 디렉터리 항목에는 시작 블록의 주소와 할당된 부분의 길이가 포함된다.
1-1. 장점
- 순차 액세스와 직접 액세스가 모두 지원된다.
- 직접 접근을 위해서는 b 블록에서 시작하는 파일의 k번째 블록 주소를 (b+k)로 쉽게 구할 수 있다.
- 파일 블록이 연속적으로 할당되어 탐색 횟수가 최소화되어 매우 빠르다.
- OS가 파일의 시작 주소만 기억하면 되므로 파일에 대한 빠른 접근을 제공할 수 있다
- 사용자가 파일에 대한 접근을 요청하면 OS는 파일의 시작 주소를 빠르게 찾아 전체 파일을 순차적으로 읽을 수 있다
- 인접한 블록에 저장될 때 더 빠르게 접근할 수 있는 비디오 또는 오디오 파일과 같은 대용량 파일에 특히 유용하다
1-2. 단점
- 이 방법은 내부 단편화와 외부 단편화가 모두 발생한다. 이는 메모리 활용 측면에서 비효율적이다.
- 파일 크기를 늘리는 것은 특정 인스턴스의 연속 메모리 가용성에 따라 달라지기 때문에 어렵다.
- 파일이 삭제되거나 새 파일이 생성될 때 조각화가 발생할 수 있다.
- 파일이 삭제되면 해당 파일이 차지했던 공간은 빈 공간이 되지만, 해당 공간이 디스크에 남아 있는 여유 공간과 연속되지 않을 수 있다.
- 이로 인해 디스크 전체에 여유 공간의 간격이나 조각이 분산되어 OS가 새 파일을 위한 연속 여유 공간 블록을 찾는 것이 어려워질 수 있다.