초보 코린이의 성장 일지

가상 메모리 본문

개인 공부

가상 메모리

코오린이 2023. 3. 4. 23:54

가상 메모리

- 가상메모리는 메모리 관리 기법의 하나로, 실제로 이용 가능한 기억 자원을 이상적으로 추상화하여, 사용자들에게 더 큰 메모리로 보이게 만드는 것을 의미한다. 

- 프로세스에 필요한 데이터를 전부 메모리에 등장시키면, 실행시 걸리는 시간도 오래 걸리고, 불필요한 메모리 낭비도 발생하게 된다. 만일 크기가 작은 메모리를 할당 받고 있다고해도, 다른 프로세스에 오류를 발생시킬 수 있다.

선할당에 부담을 느끼게 될때 가상 메모리 공간을 사용한다.

- 만일 8GB가 필요한데, 실제 가지고 있는 용량이 4GB라면, 메모리상에서 실행시킬 수 없다.

이 문제를 해결하고자 나온 개념이 가상 메모리이다.

 

[장점]

- 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식이다.

- 실제 메모리보다 더 큰 필요한 가상 주소를 할당해 줄 수 있다.

- 작은 메모리를 가지고 큰 가상 주소 공간을 제공할 수 있다.

- 작은 메모리를 차지하므로, 부담이 덜 하게되어 여러 프로그램을 동시에 수행할 수 있다.

 

[단점]

- 가상 메모리는 SSD나 하드를 RAM처럼 사용하는 기술이므로,  가상 메모리를 사용하면 저장장치 수명이 짧아진다.

- SSD나 하드는 RAM에 비해서 읽고 쓰는 속도가 느리다.

- 페이지 폴트 발생 (프로그램이 자신의 주소공간에는 존재하지만, 시스템 RAM에는 없는 데이터나 코드에 접근을 하였을때 발생)

- 스래싱 발생 (주기억장치가 감당할수 없을 만큼에 다중 프로그래밍 시, 과도한 프로세스간에 메모리 경쟁을 발생시킬때)

 

'개인 공부' 카테고리의 다른 글

레이스컨디션 (Race Condition)  (0) 2023.04.10
스마트 포인터 (Smart Pointer)  (0) 2023.04.03
IDE (통합 개발 환경 - Integrated Development Environment)  (0) 2023.02.23
C 정리  (0) 2023.01.19
OBB 분리축  (0) 2023.01.06
Comments