가상 메모리(vurtual memory)는 OS에서 사용되는 메모리 관리 기법의 하나로
컴퓨터가 실제로 이용가능한 메모리 자원(물리 주소, physical address)을 추상화하여 이를 사용하는
사용자들에게 매우 큰 메모리로 보이게 만드는 것을 말합니다.
가상주소는 MMU와 Page Tabel에 의해 실제 주소로 변환됨.
페이지 : 가상 메모리를 사용하는 최소 크기의 단위
프레임 : 실제 디스크나 메모리를 사용하는 최소 크기의 단위
가상 메모리의 필요성
* 주기억장치의 효율적 관리(스와핑)
하드디스크를 주기억장치에 대한 캐시로 설정하여, 당장 사용하는 영역만 유지하고 쓰지 않는 데이터는
하드디스크에 보관하여, 필요할 때만 램에 데이터를 다시 불러와 램을 효과적으로 관리합니다.
* 메모리 관리의 단순화
각 프로세스마다 가상메모리의 통일된 주소 공간을 배정할 수 있으므로 메모리 관리가 단순해집니다.
통일된 주소 공간 : 각 프로세스가 가진 고유의 가상 메모리 주소
* 메모리 용량 및 안정성 보장
한정된 공간의 램이 아닌 거의 무한한 가상메모리 공간을 배정함으로써 프로세스들간의 메모리 침범의 확률을 줄임
페이지 테이블(Page Table)
가상 메모리는 가상 주소와 실제 주소가 매핑되어있는 페이지 테이블로 관리되며 속도 향상을 위한 캐시 계층인 TLB를 씁니다. 가상 주소에서 바로 페이지테이블로 가는게 아니라 TLB에서 있는지를 확인하고 없다면 페이지테이블로 가서 실제 주소를 가져옵니다.
가상 메모리와 물리 메모리
각 프로세스는 자신만의 가상 주소 공간을 가지고 있습니다. 가상 주소는 프로세스가 메모리에 접근할 때 사용하는 주소입니다. 물리 메모리는 실제로 존재하는 RAM의 주소 공간이며 가상 주소는 실제로 물리 메모리의 주소와 직접적인 관계가 없습니다. 이를 매핑해주는 페이지테이블이 있고 이걸 기반으로 CPU의 메모리 관리 유닛(Memory Management Unit)이
가상주소를 물리주소로 변환합니다.
인프런 강의 cs지식의 정석 중..
'IT지식 > Computer Science' 카테고리의 다른 글
프로세스간의 통신 IPC(Inter-Process Communication) (0) | 2025.01.30 |
---|---|
페이지폴트의 과정과 스와핑 (0) | 2025.01.30 |
프로세스의 메모리 할당 구조 및 역할 (0) | 2025.01.30 |
메모리 계층 구조(Memory Hiearachy)란? (1) | 2025.01.26 |
운영체제에서 인터럽트(Interrupt)란? (0) | 2025.01.26 |