← 질문 목록
#178깊이 0
가상 메모리를 사용하는 이유는 무엇인가?
물리 메모리보다 큰 프로세스를 실행하고 메모리 효율을 높이기 때문이다.
- 1. 프로세스에서 페이지 테이블로: 이 가상 주소가 어디인지 묻는다
- 2. 페이지 테이블에서 프로세스로: 물리 주소를 돌려준다
- 3. 프로세스에서 물리 메모리로: 그 자리를 읽는다
프로세스는 가상 주소만 보고 동작한다. 운영체제는 필요한 페이지만 물리 메모리에 올린다. 나머지는 스왑에 있을 수도, 실행 파일이나 매핑한 파일에 그대로 있을 수도, 아직 아무 데도 없을 수도 있다.
이 방식은 프로세스 간 메모리 격리를 가능케 한다. 각 프로세스는 독립된 주소 공간을 가져 서로의 영역을 침범하지 못한다.
건드린 가상 페이지가 지금 물리 메모리에 없으면 페이지 폴트가 난다. 메모리가 넉넉해도 아직 안 올렸으면 난다. 이때 운영체제는 덜 쓰이는 페이지를 디스크로 내보내고 새 페이지를 가져온다.
추천 꼬리질문
관련 질문
- 가상 메모리는 무엇을 해결하는가?운영체제가상 메모리를 사용하는 이유와 해결하려는 문제는 실질적으로 동일한 개념을 다룬다.
- TLB 미스가 발생했을 때 처리 과정은 무엇인가?운영체제TLB 미스 처리는 가상 메모리 주소 변환 과정의 일부로, 가상 메모리 시스템의 핵심 메커니즘을 공유한다.
- 쓰레싱이 발생하는 원인과 해결책은 무엇인가?운영체제쓰레싱은 가상 메모리 시스템의 페이지 교체 과정에서 빈번한 페이지 폴트가 발생하여 성능이 급격히 저하되는 현상으로, 두 질문 모두 가상 메모리 관리 개념을 공유한다.
- 프로세스 주소공간을 나누어 사용하는 이유는 무엇인가?운영체제프로세스 주소 공간의 분할은 가상 메모리 시스템의 핵심 구현 방식이자 목적이다.
- 가상 메모리 관리 시 페이징과 세그멘테이션은 무엇으로 구분하는가?운영체제가상 메모리 관리라는 상위 개념을 공유하며, 구현 방식(페이징/세그멘테이션)과 사용 목적을 다룬다.