가상메모리 3

[CSAPP] 9장 가상 메모리(Virtual Memory) - 9.5 ~ 9.8

9.5 가상 메모리를 통한 메모리 보호가상 메모리 시스템은 프로세스마다 독립된 주소 공간을 제공할 뿐 아니라, 페이지 단위로 접근 권한을 통제할 수 있는 메커니즘을 갖추고 있습니다.페이지 테이블 엔트리(PTE)의 권한 비트각 PTE에 SUP(kernel vs user), READ, WRITE 비트를 두어 접근을 제어합니다.사용자 모드가 SUP=1인 페이지 접근 시 Segmentation Fault 발생 읽기/쓰기 비트가 맞지 않으면 Protection Fault 발생메모리 보호 다이어그램┌─────────────┐ PTE: SUP=0, R=1, W=0│ Virtual VP0 │ ──▶│ Physical PP2 │ (읽기만 가능)└─────────────┘ Permissions: r/o ┌..

CSAPP/9장 2025.04.22

[CSAPP] 9장 가상 메모리 (Virtual Memory) - 9.3 ~ 9.4

9.3 가상 메모리를 캐시로 사용하기가상 메모리 시스템은 디스크(보조 저장장치)에 있는 데이터를 메인 메모리(RAM)로 필요할 때 불러오는 캐시 역할을 합니다.즉, 메모리 그 자체가 디스크의 캐시로 동작하는 구조입니다.9.3.1 DRAM 캐시의 구조가상 주소 공간은 일정한 크기 단위인 페이지(Page)로 나뉩니다.운영체제는 이 가상 페이지를 메인 메모리의 프레임(Frame)에 매핑하여 사용합니다.페이지(Page): 가상 메모리의 기본 단위 (보통 4KB)프레임(Frame): 물리 메모리의 기본 단위 (페이지와 크기 동일)👉 디스크 → 페이지 단위👉 메인 메모리 → 프레임 단위하나의 프로세스는 수천~수만 개의 페이지를 가질 수 있고, 이 중 일부만이 실제 메모리에 올라와 있습니다.9.3.2 페이지 테이..

CSAPP/9장 2025.04.21

[CSAPP] 9장 가상 메모리(Virtual Memory) - 9.1 ~ 9.2

왜 가상 메모리를 배워야 할까?가상 메모리는 단순한 메모리 관리 기술이 아닙니다. 현대 운영체제, 컴파일러, 하드웨어의 핵심 연결고리이자, 다음과 같은 강력한 기능을 제공합니다.(1) 효율적인 메모리 사용→ 실제 메모리보다 큰 프로그램도 실행 가능하게 해줍니다. 디스크에 있는 데이터를 필요할 때만 메모리에 불러오는 캐시 구조로 동작합니다.(2) 프로세스 간 메모리 보호→ 각 프로세스는 자기만의 가상 주소 공간을 갖습니다. 다른 프로세스 메모리에 접근할 수 없어 안정성이 보장됩니다.(3) 메모리 관리 단순화→ 개발자는 '주소'를 직접 신경 쓰지 않고도 동적으로 메모리를 할당하고 해제할 수 있습니다.9.1 물리 및 가상 주소 방식물리 주소 (Physical Address)실제 DRAM(메인 메모리) 상의 주..

CSAPP/9장 2025.04.21