본문 바로가기
Computer Science/운영체제

[운영체제] 메모리 관리 기법

by Sky Titan 2020. 10. 1.
728x90

메모리 관리 기법

  • 다중 프로그래밍 시스템에서는 메모리의 사용자 영역을 여러 프로세스가 상주할 수 있도록 세분화해야된다.
  • 이러한 세분화 작업을 메모리 관리라고 한다.

 

메모리 할당 정책

정책 설명
반입 정책 메인 메모리에 적재할 프로세스의 반입시기를 결정하는 방법
배치 정책 프로세스를 메인 메모리 어디에 저장할 것인지 결정하는 방법
- 최초 적합 : 사용가능 공간 중 첫 번째 공간에 할당
- 최적 적합 : 사용가능 공간 중 가장 작은 크기의 공간에 할당
- 최악 적합 : 사용가능 공간 중 가장 큰 크기의 공간에 할당
대체 정책 메인 메모리의 어떤 프로세스를 제거할 것인가를 결정하는 기법

 

1. 연속 메모리 할당 방식

  • 프로그램을 메모리 공간 한 곳에 연속적으로 할당하는 방법
  • MMU를 이용해서 프로세스의 논리 메모리를 연속된 물리 메모리에 저장한다.
기법 설명
고정 분할 기법 - 메모리 영역을 여러 개의 고정된 크기로 분할하여 프로세스에 제공하는 기법
- 내부 단편화 발생
가변 분할 기법 - 각 프로세스의 크기에 따라 메모리를 분할하는 기법
- 외부 단편화 발생

 

2. 분산 메모리 할당 방식

  • 프로그램을 페이지나 세그먼트 단위로 나누어 메모리 여러 곳에 적재하여 할당하는 방식
기법 설명
페이징 기법 - 고정 크기 분할
- 처리할 작업을 동일한 크기의 '페이지'로 나누고 메모리를 '프레임' 단위로 나누어서 할당하여 처리
- 내부 단편화 발생
세그먼트 기법 - 가변 크기 분할
- 서로 다른 크기의 세그먼트 단위로 메모리를 분할하여 프로세스를 할당한다.
- 외부 단편화 발생

외부 단편화

  • 프로세스들이 메모리를 차지하는 과정에서 외부에 여러 개로 작게 나누어진 공백이 생겨서 메모리를 할당할 수 없는 상태가 되는 것
  • 압축 : 사용가능 메모리를 모아서 하나의 큰 블록으로 만들어서 외부 단편화 문제를 해결하는 방법

 

내부 단편화

  • 프로세스를 고정된 크기의 페이지 단위로 분할할 때, 프로세스의 메모리 크기가 페이지 단위와 나누어 떨어지지 않으면 할당된 마지막 프레임이 가득 차지 않는 현상
  • EX) 크기 70000KB 프로세스, 2048KB 페이지가 있으면 프로세스는 '34개의 페이지 + 368KB' 로 나누어지고 총 35개의 프레임이 필요하다. 이 때 마지막 프레임은 '2048 - 368 = 1680KB' 만큼의 내부 단편화가 발생한다.

 

728x90

댓글