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