Virtual Memory ( 가상 메모리 )
가상 메모리는 물리 메모리보다 큰 메모리 공간을 프로그램에 제공하기 위해, 보조 저장 장치를 활용하여 가상의 주소 공간을 운영체제가 관리하는 메모리 관리 기법입니다.
가상 메모리는 메모리 관리 기법의 하나로, 시스템에 실제로 이용 가능한 기억 자원을 추상화하여 각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식입니다. 이 시스템은 물리 메모리의 크기에 제한되지 않고, 프로그램이 더 많은 메모리를 사용할 수 있도록 합니다. 가상 메모리는 물리 메모리와 보조 저장 장치(디스크)를 활용하여, 프로그램에게 더 큰 메모리 공간을 제공합니다.
동작 원리와 시스템 구성
왜냐하면 가상 메모리 시스템은 물리 메모리의 크기를 초과하는 프로그램도 실행할 수 있게 하며, 메모리의 효율적인 사용을 가능하게 합니다. 이는 프로세스가 실제 메모리에 전부 적재되지 않고 필요한 부분만 적재되는 '요구 페이지' 기법 혹은 '세그먼트' 기법을 사용합니다.
이러한 방식은 멀티태스킹(Multitasking, 여러 작업이 시스템 자원을 나누어 사용하는 환경) 운영 체제에서 흔히 사용되며, 실제 주기억장치(RAM)보다 큰 메모리 영역을 제공하게 됩니다.
가상 메모리에 의해서 가상적으로 주어진 주소를 가상 주소(virtual address) 또는 논리 주소(logical address) 라고 하며, 실제 메모리 상에서 유효한 주소를 물리 주소(physical address) 또는 실 주소 (real address)라고 합니다 가상 주소 공간은 메모리 관리 장치(MMU, CPU가 메모리에 접근하는 것을 관리하는 컴퓨터 하드웨어 부품)에 의해서 물리 주소로 변환됩니다.
가상메모리의 장점
- 메모리의 효율적 사용: 가상 메모리를 사용함으로써 운영 체제는 물리적 메모리를 보다 효율적으로 사용할 수 있습니다. 프로그램이 실제로 사용하는 부분만 메모리에 적재함으로써,전체 메모리 사용량을 줄이고
- 프로세스 간 격리: 각 프로세스는 독립된 가상 주소 공간을 할당받으므로, 한 프로세스의 오류가 다른 프로세스나 시스템 전체에 영향을 미치지 않습니다.
- 대규모 프로그램의 실행: 가상 메모리는 프로그램이 필요로 하는 메모리 공간이 물리적 메모리의 크기를 초과하는 경우에도 실행할 수 있게 합니다.
'Software Engineering > Software Development Principles' 카테고리의 다른 글
Callback Function (콜백 함수) (0) | 2025.05.21 |
---|---|
큐 (Queue) (0) | 2025.05.19 |
객체 지향 설계의 5가지 원칙 - S.O.L.I.D (0) | 2025.05.16 |
Stack (스택) (0) | 2025.05.15 |
Cache Memory(캐시 메모리) (0) | 2025.05.14 |