0. 연속 메모리 할당
프로세스에 연속적인 메모리 공간을 할당 하는 것
스와핑
- 메모리에서 현재 사용되지 않는 프로세스들을 보조기억장치의 스왑 영역으로 보냄(스왑 아웃)
- 그렇게 생긴 빈 공간에 실행할 새로운 프로세스 적재(스왑 인)
- '프로세스들이 요구하는 메모리 공간 크기 > 실제 메모리 크기'인 상태에서 스와핑을 사용해 프로세스들을 실행할 수 있음
1. 메모리 할당
프로세스는 메모리의 빈 공간에 할당되어야 한다. 하지만 빈 공간이 여러 개 있다면 어떻게 적재할지 고민해야 한다.
- 최초 적합(first-fit): 운영체제가 메모리 내의 빈 공간을 검색하다가 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식, 검색 최소화, 빠른 할당
- 최적 적합(best-fit): 운영체제가 빈 공간을 모두 검색한 뒤, 적재 가능한 가장 작은 공간에 할당
- 최악 적합(worst-fit): 운영체제가 빈 공간을 모두 검색해 본 뒤, 적재가 가능한 가장 큰 공간에 할당
2. 외부 단편화
- 프로세스들이 실행되고 종료되길 반복하면서 메모리 사이에 빈 공간이 발생
- 메모리 사이 사이 작은 빈공간이 생김 => 프로세스를 할당하기 어려울 만큼 작은 메모리 공간들로 인해 메모리가 낭비 됨
3. 외부 단편화 해결
메모리 압축(compaction)
- 여기저기 흩어져 있는 빈 공간들을 하나로 모으는 방식
- 프로세스를 적당히 재배치시켜서 흩어져 있는 작은 빈 공간들을 하나의 큰 빈 공간으로 만드는 방법
- 많은 오버헤드가 발생할 수 있음
가상 메모리 기법(Virtual Memory)
- 실제 물리적 메모리(RAM)보다 더 큰 메모리 공간을 사용하는 것처럼 보이게 하는 메모리 관리 기법
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 페이징 기법 (0) | 2025.01.16 |
---|---|
[운영체제] 가상 메모리 (0) | 2025.01.13 |
[운영체제] 교착상태 해결방법 (0) | 2025.01.07 |
[운영체제] 교착상태 (0) | 2025.01.06 |
[운영체제] 동기화 기법(모니터) (0) | 2025.01.02 |