← 질문 목록
#178깊이 0

가상 메모리를 사용하는 이유는 무엇인가?

운영체제기초메모리

물리 메모리보다 큰 프로세스를 실행하고 메모리 효율을 높이기 때문이다.

  1. 1. 프로세스에서 페이지 테이블로: 이 가상 주소가 어디인지 묻는다
  2. 2. 페이지 테이블에서 프로세스로: 물리 주소를 돌려준다
  3. 3. 프로세스에서 물리 메모리로: 그 자리를 읽는다

프로세스는 가상 주소만 보고 동작한다. 운영체제는 필요한 페이지만 물리 메모리에 올린다. 나머지는 스왑에 있을 수도, 실행 파일이나 매핑한 파일에 그대로 있을 수도, 아직 아무 데도 없을 수도 있다.

이 방식은 프로세스 간 메모리 격리를 가능케 한다. 각 프로세스는 독립된 주소 공간을 가져 서로의 영역을 침범하지 못한다.

건드린 가상 페이지가 지금 물리 메모리에 없으면 페이지 폴트가 난다. 메모리가 넉넉해도 아직 안 올렸으면 난다. 이때 운영체제는 덜 쓰이는 페이지를 디스크로 내보내고 새 페이지를 가져온다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

가상 메모리를 사용하는 이유는 무엇인가?