주기억장치는 기억장치 주소의 연속으로 되어 있으며, 모든 프로세스는 그 프로세스가 수행되기 전에 반드시 주기억장치 내에 존재해야 하므로 프로세스의 크기는 물리적인 기억장치의 크기로 제한된다. 주기억장치를 관리하는 것은 실행을 위한 프로그램을 주기억장치 내에 어떻게 적재시킬 것인가에 관한 문제이며, 프로그램을 주기억 공간 내에 적재시키는 방법은 연속 적재 방법과 분산 적재 방법으로 분류할 수 있다.

여기서는 단일사용자 기억장치 관리 방법과 다중사용자 기억장치 관리 방법에 대하여 알아보기로 하자.

(1) 연속 적재 방법

연속 적재(contiguous loading) 방법은 다중 프로그래밍이 시도되기 전의 초기 시스템에서 사용한 방식으로 실행을 위한 각 프로그램을 주기억 공간 내에서 연속되게 저장하는 방법이다. 주기억 공간을 한사람의 사용자만 사용할 수 있는 단일 사용자 기법과 여러 사용자가 사용할 수 있는 고정 분할 기법 및 동적 분할 기법이 있다. 연속 적재 방법은 운영체제가 기억장치 할당을 관리하기 쉬운 장점이 있으나 주기억장치에 큰 공간이 생길 때까지 기다렸다가 다음 프로그램을 적재하여 실행하여야 하는 단점이 있다.

(2) 분산 적재(불연속 적재) 방법

분산 적재(scatter loading) 방법은 하나의 프로그램을 여러 개의 조각으로 나누어 주기억 공간 내에 분산하여 배치하는 기법으로 프로그램이 페이지(page)나 세그먼트(segment)라는 단위로 구성되어 디스크 상에 존재하다가 실행에 필요한 부분만이 주기억 공간 내에 적재되는 방법이다. 이 방법은 운영체제가 분산 기억장치 할당을 관리하는 일이 어려운 단점이 있으나 주기억장치가 여러 개의 작은 부분으로 나누어져 있기 때문에 기다리지 않고 바로 다음 프로그램을 적재하여 실행할 수 있어 다중 프로그래밍이 가능한 장점이 있다.

분산 적재 방법은 실행에 필요한 전체 프로그램을 구성하는 조각들이 모두 주기억장치 내에 적재되어야 하는 순수 페이징 기법, 순수 세그멘테이션 기법, 순수 페이징/세그멘테이션 혼합 기법과 가상기억장치의 개념을 도입하여 프로그램의 일부분만 적재되어도 실행이 가능한 요구 페이징 기법, 요구 세그먼테이션 기법, 요구 페이징/세그먼테이션 혼합 기법으로 분류할 수 있다