메모리 관리

1. Paging Paging이란 프로그램을 일정한 크기의 페이지 단위로 나눠서 실제 메모리에 불연속적으로 할당하는 방법을 말한다. 페이지는 4KB, 8KB, 16KB, 32KB 등으로 설정되지만 일반적으로는 페이즈의 크기를 4KB로 사용한다. 이 글에서도 4KB로 생각하면 된다. 페이지 크기가 줄어들수록 내부 조각이 적어지지만 페이지 테이블의 크기가 증가하고 반대로 페이지 크기가 크면, 내부 조각이 많이 생기지만 페이지 테이블의 크기는 줄어든다. 여기서 페이지(Page)와 프레임(Frame) 두 가지 용어를 먼저 알고 가자. 페이지(Page) : 논리적인 메모리(프로세스의 가상 주소)를 일정한 크기로 나눈 것 프레임(Frame) : 실제 물리적인 메모리(RAM)를 일정한 크기로 나눈 것 페이지는 가상 ..
Contiguous allocation 1. 고정 분할 방식 이름 그대로 메모리를 분할해놓고, 프로그램이 분할된 메모리의 크기와 맞으면 할당하고 크기가 안맞으면 크기가 맞는곳에 할당을 하는 방식이다. 프로그램 A를 보면 분할 1의 크기에 맞기 때문에 할당할 수 있다. 하지만 프로그램 B를 보면 분할 2의 사이즈보다 크다. 그렇기 때문에 분할 2를 건너뛰고 프로그램A와 크기가 맞는 분할 3 메모리에 할당되게 된다. 이때 분할2번은 건너 뛰게 되는데 이를 "외부 조각"이라고 부른다. 분할 3 내부에서도 프로그램 B가 분할 3메모리를 다 채우지 못했는데, 채우지 못한 부분을 "내부 조각"이라고 부른다 보면 알겠지만 상당히 비효율적이고, 내부 조각, 외부 조각이 발생할 수 있다. 2. 가변 분할 방식 가변 분할..
보글보글소다
'메모리 관리' 태그의 글 목록