공부/OS

메모리 단편화란?

셩잇님 2023. 2. 11. 14:50
반응형

 

 

1. 메모리 단편화

메모리 단편화는 컴퓨터 시스템의 메모리가 사용되지 않은 공간의 작은 조각으로 분할될 때 발생합니다. 이는 운영 체제가 메모리를 다양한 응용 프로그램 및 서비스에 동적으로 할당 및 할당 해제하여 시스템 전체에 흩어져 있는 사용되지 않은 메모리의 작은 조각을 생성할 때 발생합니다.

메모리 단편화는 대규모 메모리 할당에 사용할 수 있는 연속 메모리의 양을 줄여 시스템이 할당할 여유 메모리 블록을 검색하는 데 더 많은 시간을 소비하게 하므로 시스템 성능에 상당한 영향을 미칠 수 있습니다. 이로 인해 큰 메모리 블록을 할당해야 하는 응용 프로그램의 대기 시간이 길어지고 메모리 부족으로 인해 시스템 안정성이 저하될 수도 있습니다.

 

메모리 단편화의 영향을 완화하기 위해 많은 운영 체제는 단편화를 줄이기 위해 메모리 블록을 여러 크기로 그룹화하는 버디 메모리 할당 및 사용되지 않는 메모리를 회수하여 더 큰 블록으로 통합하는 가비지 수집과 같은 메모리 관리 알고리즘을 사용합니다. 또한 많은 프로그래밍 언어는 메모리를 효율적으로 사용하고 단편화를 줄이고 성능을 향상시키는 메모리 할당 라이브러리를 제공합니다.

 

2. 메모리 단편화의 종류

메모리 단편화에는 내부 단편화 외부 단편화의 두 가지 유형이 있습니다. 내부 단편화는 메모리 블록이 할당되었지만 일부 메모리가 사용되지 않아 블록 내에 사용되지 않은 일부 공간이 남을 때 발생합니다. 외부 단편화는 총 메모리 공간이 충분하지만 연속적이지 않아 단일 대규모 할당 요청을 충족하는 데 사용할 수 없을 때 발생합니다.

 

 

 

반응형

'공부 > OS' 카테고리의 다른 글

세그멘테이션(Segmentation)이란?  (0) 2023.03.04
페이징(Paging)이란?  (0) 2023.03.04
데드락(Deadlock)이란?  (0) 2023.03.02
멀티 쓰레드(multi-threading)란 무엇인가?  (0) 2023.03.01
멀티 프로세스(multi-process)란?  (0) 2023.02.27