반응형
🚀 메모리 단편화(Memory Fragmentation)의 정의
컴퓨터에서 프로그램을 실행하거나 작업을 할 때 컴퓨터는 메모리에 해당 프로그램을 올리고 실행을 하게 됩니다.
이때 주기억장치 상에서 빈번하게 기억 장소가 할당되고 반납됨에 따라 메모리 공간이 작은 조각 공간으로 나뉘게 될 경우, 사용 가능한 메모리가 충분함에도 불구하고 메모리 할당이 불가능한 상태가 발생하게 되는데, 이를 메모리 단편화라고 합니다.
메모리 단편화의 종류로는 내부 단편화와 외부 단편화가 있습니다.
📲 내부 단편화
- 주기억장치 내의 실행 프로그램보다 사용자 영역이 커서 메모리 할당 후 사용되지 않고 남아있는 공간을 의미
<예시>
메모장을 실행시키고 OS가 4KB만큼의 메모리를 할당해주었지만 사실상 1KB만큼만 사용하고 있을 때 필요 이상으로 프로세스가 메모리를 할당받았기 때문에 내부 단편화가 3KB만큼 생김
📲 외부 단편화
- 주기억장치 내의 사용자 영역보다 실행 프로그램이 커서 프로그램이 메모리가 할당되지 않고 남아있는 공간을 의미
- 메모리가 할당되고 해제되는 작업이 반복적으로 일어날 때 발생
<예시>
메모리 처음 주소에 프로세스를 4KB만큼 할당하고 바로 이어서 8KB만큼의 메모리를 또 다른 프로세스에게 할당했다고 가정할 때, 4KB만큼의 메모리를 할당하고 있던 프로세스를 종료시키면 메모리의 처음 주소부터 4KB만큼의 공간이 생기게 되고 이런 식으로 계속해서 빈 메모리 공간 생기게 되면 전체적으로 메모리 여유는 있지만 메모리를 많이 잡아먹는 프로세스를 실행시킬 수 없는 현상
반응형
'⚙️OS' 카테고리의 다른 글
[OS] 페이징(Paging)과 세그멘테이션(Segmentation) (2) | 2022.06.09 |
---|---|
[OS] 교착상태(Deadlock, 데드락)의 정의, 발생 조건, 해결 방법 (0) | 2022.06.08 |
[OS] 스레드(Thread)란? (3) | 2022.05.02 |
[ OS] 프로세스의 개념, 상태, 제어 (0) | 2022.05.02 |
[OS] 컴퓨터 시스템의 기본 구성 요소 (0) | 2022.04.25 |