본문 바로가기

cs(with 매일메일)

[260108목] 연속 메모리 할당 기법에 대해서 설명해주세요.

연속 메모리 할당 기법은 운영체제가 프로세스에 연속적인 메모리 공간을 할당하는 방법이다.

연속 메모리 할당 기법을 사용하면, 하나의 프로세스는 메모리 주소 공간에서 연속적으로 존재하게 된다. 

 

방법

1) 가변 크기 메모리 할당 : 프로세스의 크기에 맞춰 동적으로 메모리를 할당

2) 고정 크기 메모리 할당 : 물리적인 메모리 공간을 고정된 크기로 나누어 프로세스에 고정된 크기만큼 할당

 

외부 단편화와 내부 단편화 

외부 단편화 : 프로세스를 할당하기 어려울 만큼 작은 메모리 공간들로 인해서 메모리가 낭비되는 현상. 

ex. 프로세스가 사용할 메모리 공간이 300MB이다. 이때, 흩어져 있는 빈 공간들의 합은 300MB를 넘지만, 연속적인 300MB는 존재하지 않아 프로세스를 메모리에 할당하지 못하는 상황이 발생할 수 있다. 

> 할당과 해제를 반복한다면 외부 단편화가 발생할 수 있다. 

 

내부 단편화 : 고정 크기 메모리 할당 방식을 사용할 때, 프로세스가 필요한 양보다 더 큰 메모리가 할당되는 상황에서 메모리 공간이 낭비되는 상황이다. 

 

메모리에 빈 공간이 여러 개라면, 어디에 신규 프로세스를 배치해야 하나요?

- 최초 적합 : 운영체제가 메모리 내의 빈 공간을 순서대로 검색하고, 최초로 발견된 공간에 프로세스 배치

- 최적 적합 : 운영체제가 메모리 내의 빈 공간을 모두 검색하고, 적재될 수 있는 가장 작은 공간에 프로세스 배치

- 최악 적합 : 운영체제가 메모리 내의 빈 공간을 모두 검색하고, 적재될 수 있는 가장 큰 공간에 프로세스 배치