728x90
메모리 관리 기법
- 다중 프로그래밍 시스템에서는 메모리의 사용자 영역을 여러 프로세스가 상주할 수 있도록 세분화해야된다.
- 이러한 세분화 작업을 메모리 관리라고 한다.
메모리 할당 정책
정책 | 설명 |
반입 정책 | 메인 메모리에 적재할 프로세스의 반입시기를 결정하는 방법 |
배치 정책 | 프로세스를 메인 메모리 어디에 저장할 것인지 결정하는 방법 - 최초 적합 : 사용가능 공간 중 첫 번째 공간에 할당 - 최적 적합 : 사용가능 공간 중 가장 작은 크기의 공간에 할당 - 최악 적합 : 사용가능 공간 중 가장 큰 크기의 공간에 할당 |
대체 정책 | 메인 메모리의 어떤 프로세스를 제거할 것인가를 결정하는 기법 |
1. 연속 메모리 할당 방식
- 프로그램을 메모리 공간 한 곳에 연속적으로 할당하는 방법
- MMU를 이용해서 프로세스의 논리 메모리를 연속된 물리 메모리에 저장한다.
기법 | 설명 |
고정 분할 기법 | - 메모리 영역을 여러 개의 고정된 크기로 분할하여 프로세스에 제공하는 기법 - 내부 단편화 발생 |
가변 분할 기법 | - 각 프로세스의 크기에 따라 메모리를 분할하는 기법 - 외부 단편화 발생 |
2. 분산 메모리 할당 방식
- 프로그램을 페이지나 세그먼트 단위로 나누어 메모리 여러 곳에 적재하여 할당하는 방식
기법 | 설명 |
페이징 기법 | - 고정 크기 분할 - 처리할 작업을 동일한 크기의 '페이지'로 나누고 메모리를 '프레임' 단위로 나누어서 할당하여 처리 - 내부 단편화 발생 |
세그먼트 기법 | - 가변 크기 분할 - 서로 다른 크기의 세그먼트 단위로 메모리를 분할하여 프로세스를 할당한다. - 외부 단편화 발생 |
외부 단편화
- 프로세스들이 메모리를 차지하는 과정에서 외부에 여러 개로 작게 나누어진 공백이 생겨서 메모리를 할당할 수 없는 상태가 되는 것
- 압축 : 사용가능 메모리를 모아서 하나의 큰 블록으로 만들어서 외부 단편화 문제를 해결하는 방법
내부 단편화
- 프로세스를 고정된 크기의 페이지 단위로 분할할 때, 프로세스의 메모리 크기가 페이지 단위와 나누어 떨어지지 않으면 할당된 마지막 프레임이 가득 차지 않는 현상
- EX) 크기 70000KB 프로세스, 2048KB 페이지가 있으면 프로세스는 '34개의 페이지 + 368KB' 로 나누어지고 총 35개의 프레임이 필요하다. 이 때 마지막 프레임은 '2048 - 368 = 1680KB' 만큼의 내부 단편화가 발생한다.
728x90
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] 세마포어 (Semaphore)와 뮤텍스 (Mutex) (0) | 2020.11.06 |
---|---|
[운영체제] 가상 메모리와 페이지 교체 알고리즘 (0) | 2020.11.04 |
[운영체제] CPU 스케줄링 (0) | 2020.09.24 |
[운영체제] 교착상태 (Deadlock) (0) | 2020.09.23 |
[운영체제] 컴퓨터 시스템 구성요소 (0) | 2020.09.20 |
댓글