Replies: 1 comment
-
메모리란?
가상 메모리란?OS에서 사용하는 메모리 관리 기법중 하나 입니다. 실제 메모리보다 더 많아보이게 추상화하는 기술로, 어떤 프로세스가 실행될 때, 해당 프로세스 전체가 올라가지 않더라도 실행 가능하다는 점을 착안하여 고안되었습니다. Page TableRAM에 존재하는 실제 주소(Physical Address)와 HDD에 존재하는 가상 주소(Virtual Address)를 매핑한 테이블 입니다. Page Table은 다음을 포함합니다.
Page는 가상 메모리의 최소 단위를 의미하며 Frame은 물리 메모리의 최소 단위를 의미합니다. Page Table은 가상 주소가 RAM의 실제주소에 해당는지 저장하기 위해 사용합니다. 가상 메모리를 구현하기 위해서는 컴퓨터가 특수 메모리 관리 하드웨어를 갖추고 있어야만 합니다. 이를 MMU(Memory Management Unit) 라고 합니다. MMU
페이지 폴트(page faults)란?Page Falut란 Page에 접근했으나 해당 페이지가 RAM에 존재하지 않는 경우를 의미합니다. 모든 페이지를 RAM에 적재해놓지 않고 필요한 페이지만 RAM에 적재하는 방식을 사용하기 떄문에 발생합니다. 실제 동작 순서는 다음과 같습니다. TLB 확인 -> Page Table 확인 -> RAM에 Page 존재안함 -> Page Fault 발생 이를 해결하기위해 Page Replacement Algorithm에 따라 RAM에 로드된 페이지를 HDD로 보내게되고(Swap Out) 필요한 Page를 RAM에 로드하게 됩니다(Swap In). 이러한 과정을 Swapping이라 부릅니다 |
Beta Was this translation helpful? Give feedback.
-
Virtual Memory는 물리적 메모리(램)의 한계를 극복하고 프로그램이 필요로 하는 메모리를 보다 효율적으로 관리하기 위한 메모리 관리 기법입니다. 운영체제는 가상 메모리를 통해 실제 물리적 메모리보다 더 큰 주소 공간을 제공할 수 있으며, 이를 통해 여러 프로그램이 동시에 실행될 수 있습니다.
Virtual Memory의 핵심 원리는 프로그램이 필요한 메모리 주소를 가상의 주소 공간으로 매핑하는 것입니다. 실제 메모리에 다 담을 수 없는 부분은 하드 디스크의 스왑 영역을 이용하여 임시로 저장해 두고, 필요한 데이터만 메모리에 올리는 방식으로 작동합니다. 페이지 단위로 메모리를 관리하기 때문에, 필요한 시점에만 해당 페이지를 로드하여 메모리 효율을 극대화할 수 있습니다.
이러한 구조 덕분에 시스템은 메모리 부족 현상을 최소화하고, 프로그램 간 메모리 충돌을 방지하며, 안전하게 메모리 관리를 할 수 있습니다. 다만, 디스크 접근이 잦아지면 속도가 느려질 수 있는 '페이지 폴트' 문제가 발생할 수 있으므로, 메모리 활용을 최적화하는 설계가 중요합니다.
페이지 폴트란?
페이지 폴트는 프로세스가 필요한 메모리 페이지가 실제 메모리에 없는 경우 발생하는 이벤트입니다. 이때 운영체제는 해당 페이지를 하드 디스크의 스왑 영역(또는 페이지 파일)에서 메모리로 불러와야 합니다. 페이지 폴트는 가상 메모리 시스템에서 흔히 발생하는 상황이며, 적절하게 처리하면 메모리 공간을 효과적으로 사용할 수 있습니다.
Beta Was this translation helpful? Give feedback.
All reactions