디지털·가전제품

메모리 단편화를 효과적으로 해결할 수 있는 방법이 있을까요?

운영체제를 공부하고 있는 대학생입니다. 메모리 단편화 문제에 대해 배우면서 의문점이 생겼습니다. 외부 단편화와 내부 단편화를 완벽하게 해결하는 방법은 없다고 하는데, 실제 현업에서는 이런 문제를 어떻게 최소화하시나요? 메모리 단편화로 인한 성능 저하를 막을 수 있는 좋은 해결책이 있다면 조언 부탁드립니다.

1개의 답변이 있어요!

  • 고정된 크기의 블록을 할당하여 메모리 동적 할당을 가능하게 해줍니다. memory pool이라고 불리는 동일한 사이즈의 메모리 블록들을 미리 할당해 놓고 프로세스들이 필요할 때마다 사용하고 반납하는 기법입니다.

     미리 공간을 할당해놓고 사용한 다음 반납하기 때문이 이로 인한 외부 단편화는 발생하지 않습니다. 또한 필요한 크기만큼 할당을 하기 때문에 내부 단편화도 존재하지 않습니다.
    메모리의 할당, 해제가 빈번할 때 메모리 풀 방식이 효과적입니다