자 예순 네 번째 키워드인 '외부 단편화'을 알아 보았다.
이전 키워드인 메모리 단편화에서 나온 내용이긴 하지만 세부적으로 알아보았다.

외부 단편화(External Fragmentation)는 메모리 관리에서 발생하는 복잡한 문제로, 시스템이 사용 가능한 메모리를 효과적으로 활용하지 못하게 만드는 중요한 요인 중 하나이다.
메모리 할당과 해제: 프로그램이 실행될 때, 메모리는 다양한 크기로 할당되고 해제된다.
예를 들어, 다음과 같은 시나리오를 고려 해보면 다음과 같다.
- 10MB의 메모리가 할당됨.
- 20MB의 메모리가 할당됨.
- 10MB의 메모리가 해제됨.
- 30MB의 메모리가 할당됨.
- 20MB의 메모리가 해제됨.
메모리의 분산: 위의 과정을 통해 메모리에는 다양한 크기의 빈 공간이 흩어지게 된다. 예를 들어, 10MB의 빈 공간과 20MB의 빈 공간이 서로 떨어져 존재할 수 있다.
연속된 메모리 요구: 새로운 프로그램이나 데이터가 25MB의 연속된 메모리 블록을 필요로 할 때, 비록 전체 빈 공간의 합이 30MB(10MB + 20MB)로 충분하더라도, 연속된 25MB의 빈 공간이 없기 때문에 메모리 할당에 실패하게 된다.
메모리 낭비: 실제로 사용 가능한 메모리가 충분함에도 불구하고, 연속된 공간이 부족하여 메모리를 제대로 활용하지 못한다.
시스템 성능 저하: 메모리 부족으로 인해 새로운 프로그램이나 데이터의 실행이 지연되거나 실패할 수 있다.
베스트 핏(Best Fit): 가장 작은 충분한 크기의 빈 공간에 메모리를 할당한다. 이는 작은 단편화를 줄이지만, 할당 과정이 오래 걸릴 수 있다.
퍼스트 핏(First Fit): 첫 번째로 발견한 충분한 크기의 빈 공간에 메모리를 할당한다. 빠른 할당이 가능하지만, 외부 단편화가 증가할 수 있다.
웰스트 핏(Worst Fit): 가장 큰 빈 공간에 메모리를 할당한다. 이는 큰 빈 공간을 남겨두어 나중에 큰 할당 요청을 처리할 수 있게 하지만, 단편화가 심해질 수 있다.
컴퓨터 구조를 잘 알아야 나중에 개발이 쉬워진다는 이야기가 있듯 지금 공부한 메모리 시리즈에서
더욱 심화있게 공부를 해야 개발이 쉬워질 것 같은 느낌이 든다.