serversim
학습시뮬레이터템플릿가격
…
…
메뉴 열기
학습↗시뮬레이터↗템플릿↗가격↗
내 Documents문서
전체 목차/3장/3.215 / 40

3.2 · 메모리와 포인터

프로세스의 가상 메모리는 어떻게 실제 RAM과 연결될까?

두 프로세스가 모두 주소 0x1000을 써도 충돌하지 않는 이유는 무엇일까요?

프로세스가 보는 주소는 운영 체제가 만든 가상 주소이며 페이지 테이블이 실제 RAM 위치로 번역합니다.

먼저 생활 비유

호텔 객실 번호와 실제 열쇠

손님마다 “101호”를 말해도 서로 다른 건물이라면 실제 방은 다릅니다. 프런트의 표가 건물과 방을 연결합니다.

컴퓨터 예제로 바꾸기

같은 가상 주소, 다른 물리 주소

processA: 0x1000 → RAM 0xA000
processB: 0x1000 → RAM 0xF000

각 프로세스는 독립된 주소 지도를 사용합니다.

직접 움직여 보기1 / 5

지금 일어나는 변화

CPU 주소

프로그램 명령이 가상 주소를 만듭니다.

주소와 저장 공간주소가 붙은 메모리 공간CPU 주소단계 1페이지 번호단계 2페이지 테이블단계 3물리 주소단계 4보호·격리단계 5가상 주소현재: CPU 주소

이 그림에서 기억할 한 문장

가상 메모리는 큰 메모리처럼 보이게 하는 기능과 프로세스 격리를 동시에 제공합니다.

현재 상태

이동하는 것
가상 주소
현재 위치
CPU 주소
다음 위치
페이지 번호

30초 확인 문제

페이지 테이블이 프로세스마다 다른 가장 큰 이유는?

처음 보는 용어 두 개

페이지
가상 메모리를 일정 크기로 나눈 관리 단위
페이지 테이블
가상 페이지와 물리 메모리 프레임의 대응표

이 절을 다 읽었다면

가상 메모리는 큰 메모리처럼 보이게 하는 기능과 프로세스 격리를 동시에 제공합니다.

← 이전 절

3.1 메모리의 본질과 포인터·참조

다음 절 →

3.3 스택은 함수 호출을 어떻게 기억할까?