통합과 집약은 컴퓨터 과학, 특히 기억장치(메모리) 관리 분야에서 사용되는 용어로, 메모리 공간 내에서 발생하는 공백(단편화)을 처리하는 기법을 가리킨다. 이 처리를 수행하지 않으면 단편화(fragmentation) 현상이 발생하여 기억공간을 효율적으로 사용할 수 없게 된다.
통합 (Coalescing)
통합이란 기억공간 내에서 서로 인접해 있는 둘 이상의 빈 공간(공백)을 그들 사이의 경계를 제거하고 하나의 더 큰 연속된 공백으로 합치는 작업을 의미한다. 예를 들어, 메모리 할당과 해제가 반복되면서 여러 개의 작은 빈 공간이 인접하게 위치할 경우, 이들을 통합하면 더 큰 연속 공간을 확보할 수 있어 이후의 메모리 할당 요청을 보다 효율적으로 처리할 수 있다.
집약 (Compaction)
집약이란 기억공간 내에 분산되어 있는 사용 중인 영역과 빈 영역을 각각 한쪽으로 재배치하여, 빈 영역들을 하나의 연속된 큰 덩어리로 모으는 작업을 의미한다. 집약을 수행하면 흩어져 있던 여러 개의 작은 빈 공간이 하나의 큰 연속 공간으로 합쳐져, 외부 단편화 문제를 해결할 수 있다. 대표적인 예로 하드디스크의 디스크 조각 모음(defragmentation) 프로그램이 있다.
집약 수행 시의 단점
집약을 수행할 때는 다음과 같은 제약 사항이 발생할 수 있다.
- 집약을 수행하는 동안에는 다른 모든 작업의 수행을 일시 중단하여야 한다.
- 사용 중인 작업들에 대한 재배치 정보(주소 변환 정보 등)를 정확히 유지해야 한다.
- 집약이 자주 수행될 경우 시스템의 전체적인 처리 속도가 저하될 수 있다.
같이 보기
- 버디 메모리 할당 (Buddy memory allocation)
- 메모리 관리 (Memory management)
- 쓰레기 수집 (Garbage collection)
- 단편화 (Fragmentation)