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

내부 단편화는 메모리 관리에서 발생하는 비효율성으로, 할당된 메모리 블록 내에서 실제 사용되지 않는 공간이 발생하는 현상을 의미한다. 이는 주로 고정 크기 메모리 할당 방식에서 발생하며, 할당 단위의 크기와 프로세스가 요구하는 메모리 크기 간의 차이에서 비롯된다.
고정 분할(Fixed Partitioning)
메모리를 미리 정해진 크기의 고정된 블록으로 나누어 관리한다.
각 블록의 크기가 동일하며, 이 크기는 시스템 설계 시 결정된다.
프로세스가 메모리를 요청하면, 요청 크기에 상관없이 고정된 크기의 블록이 할당된다.
가변 분할(Variable Partitioning)
메모리를 필요한 크기만큼 동적으로 할당한다.
프로세스가 요청하는 크기에 따라 적절한 크기의 메모리 블록이 할당된다.
블록 할당
시스템이 8KB 크기의 고정된 메모리 블록으로 관리된다고 가정해보겠다.
어떤 프로세스가 6KB의 메모리를 요청하면, 시스템은 8KB 블록 하나를 할당하게 된다.
이 경우, 프로세스가 실제로 사용하는 6KB 외에 남은 2KB는 사용되지 않는 상태로 남게 된다.
이 경우인 2KB가 내부 단편화라고 한다.
메모리 낭비
내부 단편화로 인해 실제 사용되지 않는 메모리 공간이 발생한다.
이는 전체 메모리 사용 효율성을 저하시키고, 메모리 낭비를 초래한다.
시스템 성능 저하
메모리가 낭비되면, 시스템은 더 많은 메모리를 필요로 하는 다른 프로세스에 할당할 수 없게 된다.
결과적으로 시스템 성능이 저하될 수 있다.
작은 블록 크기 사용
가변 크기 블록 할당
고정 분할 방식(Fixed Partitioning)
가변 분할 방식(Variable Partitioning)
이 단편화 문제는 어떻게 처리하는지가 매우 중요해보이며 상황에 맞는 할당과 배치가 적절해 보이므로 그 상황을 판단하는 시각을 넓혀야 할 것 같다.