메모리에 프로그램을 할당할 때는 시작 메모리 위치, 메모리의 할당 크기를 기반으로 할당하는데 연속할당과 불연속 할당으로 나뉜다.
메모리에 연속적으로 공간을 할당하는 것을 말한다.
메모리를 미리 나누어 관리하는 방식으로 메모리가 미리 나뉘어 있기 때문에 융통성이 없다. 내부 단편화가 발생한다.
내부단편화 : 메모리를 나눈 크기보다 프로그램이 작아서 들어가지 못하는 공간이 많이 발생하는 현상
매 시점 프로그램의 크기에 맞게 동적으로 메모리를 나눠 사용한다. 외부 단편화가 발생할수 있다.
[OS] 메모리 연속할당 - 고정분할 방식과 가변분할 방식
현대 운영체제에서 쓰는 방법으로 메모리를 연속적으로 할당하지 않는 방식이다.
동일한 크기의 페이지 단위로 나누어 메모리의 서로 다른 위치에 프로세스를 할당한다. 홀의 크기가 균일하지 않은 문제가 없어지지만 주소변환이 복잡해진다.
페이지 단위가 아닌 의미 단위인 세그먼트로 나누는 방식이다. 프로세스를 이루는 메모리는 코드영역, 데이터영역, 스택영역, 힙 영역으로 이루어지는데 코드와 데이터로 나누거나 코드내의 작은 함수를 세그먼트로 놓고 나눌수도 있다. 보안 측면에서는 좋지만 홀크기가 균일하지 않다.