728x90

가상 메모리
는 프로세서가 운영체제와 조합되어 응용 소프트웨어와 물리 메모리 사이에 가상의 계층을 만들고 하드웨어의 일부분을 메모리 처럼 사용하는 것으로 가상 메모리 관리 기법에는 페이징과 세그멘테이션이 있다.



페이징 기법은 가상 메모리를 모두 같은 크기의 블록으로 나누어 프로세스를 메인 메모리에 올려 동작하게 하는 기법으로 이때 일정한 크기로 나누어진 블록을 페이지(프레임의 시작 주소)라고 하며 메인 메모리는 프레임이라는 단위로 나뉘고 페이지와 크기는 같다.

또한 페이징 기법은 일정한 크기로 페이지를 나누기 때문에 내부 단편화가 발생할 수 있다.


페이지 테이블은 프로세스의 페이지 정보(프레임의 시작 주소)를 저장하고 각 프로세스의 메모리가 실제 메모리와 어떻게 맵핑 되어 있는지를 나타내는 테이블로 하나의 프로세스는 하나의 페이지 테이블을 가진다. 페이지 테이블은 페이지 번호를 가지고 있으므로 페이지를 찾아간 후 페이지의 프레임 시작 주소를 통해 메인 메모리의 주소를 알 수 있다.


세그멘테이션은 가상 메모리를 서로 크기가 다른 논리적 단위인 세그먼트(Segment)로 메모리를 할당하는 기법이다.

미리 분할해 둘 수 없고 메모리에 적재 될 때 빈 공간을 찾아 할당하는 사용자 관점의 가상 메모리 관리로써 세그먼트의 가변적 크기로 인해 외부 단편화가 일어난다.


메모리 풀은 동일한 사이즈의 메모리 블록들을 미리 할당해 놓음으로써 다양한 블록 사이즈 때문에 생기는 단편화와 그로 인한 퍼포먼스 저하를 방지하기 위해 사용되는 기법이다.


메모리 압축은 여러 가지 크기의 사용되지 않는 메모리들을 가능하면 연속된 큰 메모리 블록이 되도록 하나로 통합하는 과정이다.



출처 : http://leehayun123.tistory.com/20






728x90

+ Recent posts