단편화

개념
단편화란 주기억 장치의 연속된 영역을 할당할 경우에 사용되지 않고 낭비되는 현상

I. 단편화의 개요
    가. 단편화의 정의

  • 단편화란 주기억 장치의 연속된 영역을 할당할 경우에 사용되지 않고 낭비되는 현상

 

    나. 단편화의 필요성

  • 현상은 기억장치의 사용 가능한 공간을 줄이거나, 읽기와 쓰기의 수행속도를 늦추는 문제점을 야기함.

 

II.  메모리 단편화 종류
 
 
    가. 내부 단편화(Internal Fragmentation)

  • 내부 단편화란 m 크기의 기억 장소를 필요로 하는 어떤 작업이 n≥m인 n 크기의 분할 영역에 적재 될 때, 그 남는 공간(n-m)을 말함.

    나. 외부 단편화(External Fragmentation)

  • 외부 단편화란 어떤 분할 영역이 사용되지 않고 남아 있어서 이용할 수는 있으나, 대기 중인 작업의 크기에 비해 기억 장소가 너무 작아서 그 영역 자체가 사용되지 못하는 경우를 말한다.

 

III. 단편화의 발생

구분

내용

고정 분할

사용자 프로그램의 크기가 정해진 분할 크기에 정확히 맞지 않으면 내부 단편화가 발생하고, 분할이 너무 작아서 대기 중인 작업 중 하나도 맞는 것이 없을 경우 그 분할이 사용되지 않은 상태로 남아 있게 되므로 외부 단편화가 발생한다.

가변 분할

가변 분할은 분할 영역의 크기가 동적으로 변경될 수 있으므로 내부 단편화는 발생하지 않지만, 외부 단편화는 발생할 수 있다.

 

 

 

 

 

 

 

 

IV. 단편화의 해결 방안

방안

내용

통합

(Coalescing)

통합 기법이란 가변 분할에서 하나의 작업이 끝났을 때 그 사용 영역이 다른 비어있는 분할과 인접되어 있는지를 점검하여, 만약 인접되어 있다면 이 두 개의 빈 분할 영역을 하나로 통합하여 효용성을 높이는 작업이다.

압축

(Compaction)

압축이란 빈 분할 영역을 주기억 장치의 한 곳에 합치는 작업을 말하며, 그 결과는 하나의 커다란 빈 분할 영역이 생기게 된다. 기억 장소 압축은 일종의 "쓰레기 수집(Garbage Collection)" 작업이다.

프레임(Frame)기법

메모리를 일정한 크기로 나누어 관리함으로써 내부 단편화 문제를 해결가능

 

 

 

 

 

 

 

 

 

참조) 프레임(Frame)은 운영체제가 편리한 메모리 관리를 위해 물리 메모리를 일정한 크기로 나눈 블록이다. 메모리 단편화 문제를 해결하기 위해 고안된 기법이다

댓글