727 단어
4 분
가상 메모리
가상 메모리란?
가상 메모리(Virtual memory)는 메모리 관리 기법 중 하나로 컴퓨터 시스템에 실제 이용 가능한 자원을 추상화하여 사용자들에게 매우 큰 메모리로 보이게 만드는 것
NOTE각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식을 말합니다
등장 배경
과거 컴퓨터는 제한된 물리 메모리(RAM)으로 큰 프로그램이나 다중 프로그래밍에 어려움을 겪었음
- 해결책으로 오버레이 기법을 사용했찌만, 복잡한 프로그래밍이 필요하여 좀 더 쉽게 메모리 관리하는 기법이 필요했음
- 1956년 독일의 물리학자 프리츠 루돌프가 가상메모리라는 개념을 만듬
TIP물리 메모리와 논리 메모리를 분리하여 물리 메모리보다 큰 논리 메모리 공간을 제공하여 프로세스가 더 많은 메모리를 사용할 수 있도록 발명
사용 이점
- 물리 메모리 제약 극복
- 메모리 관리 효율성 향상
- 메모리 보호 기능 강화
- 프로그램 개발 및 실행 유연성 향상
- 멀티태스킹 성능 향상 : 사용자에게 더욱 더 빠른 응답성 제공 및 짧은 시간 간격으로 프로세스들을 번갈아 가면서 실행 가능
구현 방법
- 가상 메모리는 운영체제와 하드웨의 협력으로 구현. MMU, 스왑공간, 요구 페이징을 이용
메모리 관리 장치 (MMU)
- 메모리 관리 장치는 CPU가 메모리에 접근하는 것을 관리하며, 페이지 테이블을 사용하여 가상 주소와 물리 주소간의 매핑을 관리하고, 페이지 폴트 발생 시 운영체제에 알리는 역할
스왑공간 (Swap Area)
- 스왑 공간은 물리 메모리가 부족할 때, 운영체제가 디스크의 일부 공간을 마치 RAM처럼 사용하는 가상 메모리 영역을 뜻함
- 실행중인 프로세스의 주소 공간을 일시적으로 메인 메모리에서 디스크에 내려 놓는 공간
- 하드 디스크에서 사용되지만 휘발성으로 사용됨
요구 페이지 (Demand Paging)
- 프로그램 실행 시 필요한 페이지만 메모리에 로드하는 기법
- 스왑된 페이지를 필요할 때 메모리에 적재하고 기본적인 페이징 기법에 따라 주소를 변환
무효 비트 (Invalid Bit)
- 모든 페이지가 처음부터 메모리에 올라와 있지 않기에 페이지 테이블에 각 페이지 상태를 나타내는 비트가 필요
- 이 때 무효 비트가 사용됨