연속 메모리 할당 기법이란?
●연속 메모리 할당 기법이란?
연속 메모리 할당 기법(Continuous Memory Allocation) 은 운영체제가 프로세스에 연속적인 메모리 공간을 할당하는 방법을 의미하며, 연속 메모리 할당 기법을 사용하면, 하나의 프로세스는 메모리 주소 공간에서 연속적으로 존재
연속 메모리 할당 기법은 크게 가변 크기 메모리 할당과 고정 크기 메모리 할당이 존재하며 고정 크기 메모리 할당은 물리적인 메모리 공간을 고정된 크기로 나누어 프로세스에 고정된 크기만큼 할당하며 반면에 가변 크기 메모리 할당 방식은 프로세스의 크기에 맞춰 동적으로 메모리를 할당
●외부 단편화와 내부 단편화란?
외부 단편화 : 프로세스를 할당하기 어려울 만큼 작은 메모리 공간들로 인해서 메모리가 낭비되는 현상이며, 연속 메모리 할당 기법을 사용할 때 프로세스가 사용할 메모리 공간이 300MB라고 가정하면 이때, 흩어져 있는 빈 공간들의 합은 300MB가 넘지만, 연속적인 300MB는 존재하지 않아 프로세스에 메모리를 할당하지 못하는 상황이 발생할 수 있음
내부 단편화 : 메모리를 할당할 때 프로세스가 필요한 양보다 더 큰 메모리가 할당되는 상황에서 메모리 공간이 낭비되는 상황을 의미하며 고정 크기 할당 방식에서 프로세스가 사용할 메모리 공간이 300MB이지만 실제로 할당된 공간은 500MB인 경우, 200MB가 낭비됨
고정 크기 할당 방식은 고정된 크기만큼 프로세스에 공간을 할당하기 때문에 내부 단편화가 발생할 수 있으며 반면에, 가변 크기 할당 방식은 필요한 크기만큼 프로세스에 할당하기 때문에 내부 단편화는 발생하지 않으며 단, 할당과 해제를 반복하다보면 외부 단편화가 발생할 수 있음
●메모리에 빈 공간이 여러 개라면, 어디에 신규 프로세스를 배치해야 할까?
연속 메모리 할당 기법에서 사용할 수 있는 대표적인 방법으로 최초 적합, 최적 적합, 최악 적합 방식이 존재
최초 적합(First Fit) : 운영체제가 메모리 내의 빈 공간을 순서대로 검색하고, 최초로 발견된 공간에 프로세스를 배치
최적 적합(Best Fit) : 운영체제가 메모리 내의 빈 공간을 모두 검색하고, 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방식
최악 적합(Worst Fit) : 운영체제가 메모리 내의 빈 공간을 모두 검색하고, 적재될 수 있는 가장 큰 공간에 프로세스를 배치하는 방식