스와핑
: 메모리에서 현재 사용되지 않는 프로세스들을 보조기억장치의 일부 영역(
스왑 영역)으로 내보내고 메모리에 생긴 빈 공간에 실행할 프로세스를 적재하는 메모리 관리 기법장점
- 프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 커도 실행 가능
프로세스들이 요구하는 메모리 공간 크기>실제 메모리 크기
메모리 할당 방식
최초 적합
- 운영체제가 메모리 내의 빈 공간을 순서대로 검색 후 공간 발견하면 바로 할당
- 검색 최소화, 빠른 할당
최적 적합
- 운영체제가 빈 공간을 모두 검색 후, 가능한 가장 작은 공간에 할당
최악 적합
- 운영체제가 빈 공간을 모두 검색 후, 가능한 가장 큰 공간에 할당
연속 메모리 할당은 효율적으로 메모리를 사용하는 방법이 아님❗❗
'외부 단편화'가 발생하기 때문
외부 단편화(external fragmentation)
- 프로세스들이 실행, 종료를 반복하며 생기는 메모리 사이 사이에 빈 공간
- 프로세스를 할당하기 작은 메모리 공간들로 인해 메모리가 낭비되는 현상
해결법
메모리 압축 (Compaction)
- 여기저기 흩어진 빈 공간들을 하나로 모으는 방식
- 프로세스를 적당히 재배치시켜 작은 빈 공간들을 하나의 큰 빈 공간으로 만드는 방법
- 단점
- 압축하는 동안 시스템은 하던 일을 중지해야 함
- 메모리에 있던 내용을 옯기는 작업은 많은 오버헤드를 발생시킴
- 최소한의 피해로 압축하는 명확한 방법을 결정하기 어려움
그래서 '페이징 기법'을 사용한다 ❗❗
👋 다음 글에서 계속...
<출처>
"혼자 공부하는 컴퓨터구조+운영체제".강민철.https://www.youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl (2023.05.08)
책과 강의를 통해 학습한 내용을 요약 정리했습니다.