불연속 메모리 관리 (가상 메모리 관리)

연속 메모리 할당의 두 가지 문제점

→ 하나의 프로그램인데도 서로 다른 주소 공간에 할당 가능하도록 하는 불연속 메모리 관리

외부 단편화 해결 1: 메모리 압축 (compaction)

image.png

외부 단편화 해결 2: 가상 메모리 기법, 페이징

가상 메모리

image.png

가상 주소 공간

image.png

Demand paging (요구 페이징) ⭐️

페이지를 메모리로 언제 올릴 것인가? → 요청(demand)할 때만.

1단계: CPU가 특정 페이지에 접근하는 명령어 실행

2단계: 어떤 페이지들은 in memory, 어떤 페이지는 secondary storage에 있을 것.

→ 이 두가지를 구분하려면? valid-invalid bit를 사용한다

3단계: 판단 후 CPU는?