단편화(Fragmentation)
<정의>
- 주기억장치에 프로그램을 할당하고 반납하는 과정에서 발생하는 사용되지 않는 작은 조각 공간
- 주기억장치 상에서 빈번하게 기억장소가 할당되고 반납됨에 따라 기억장소들이 조각들로 나누어지는 현상
내부 단편화란?
- 주기억장치 내 사용자 영역이 실행 프로그램보다 커서 프로그램의 사용 공간을 할당 후 사용되지 않고 남아있는 공간
- 주기억장치 내 사용자 영역 > 실행 프로그램
외부 단편화란?
- 주기억장치 내 사용자 영역보다 실행 프로그램이 커서 프로그램이 할당될 수 없어 사용되지 않고 남아있는 공간
- 주기억장치 내 사용자 영역 < 실행 프로그램
단편화의 해결 방법
- 통합 기법
- 하나의 작업 완료 후 그 사용 영역이 다른 비어있는 분할 공간과 인접해 있는지 점검하여 만약 인접해 있다면 두 개의 빈 분할 공간을 하나로 통합하여 효율성을 높이는 작업
- 압축 기법
- 주기억장치 내 분산되어 있는 단편화된 비어있는 공간들을 통합하여 하나의 커다란 빈 공간을 만드는 작업.
- 가비지 컬렉션(Garbage Collection) 작업 이라고도 함.
- 재배치 기법(Relocation)
- 기억장치 관리에서 Fragmentation을 해결하기 위해 압축을 실행하여 이 과정에서 프로그램의 주소를 새롭게 지정해주는 기법
'Operating System' 카테고리의 다른 글
[OS] 캐시 메모리(Cache Memory)란? 캐시의 지역성(Locality)이란? (0) | 2021.03.10 |
---|---|
[OS] 스레드의 동기화 기법 - 유저 모드 동기화/커널 모드 동기화 (0) | 2021.03.10 |
[OS] 뮤텍스(Mutex)와 세마포어(Semaphore)란? (1) | 2021.03.10 |