..
PintOS 64bit - VM
- 메모리 모델 잡기: Page / Frame / Page table / Alias(커널 매핑) / PAL_USER의 의미
- Page: 사용자 프로그램이 보는 메모리 단위(4 KB), 페이지 테이블을 통해 실제 물리 프레임과 매핑
- Frame: 실제 물리 메모리의 4 KB 블록 (할당기는 palloc, 한장 - palloc_get_page, 여러장 - palloc_get_multiple(), PAL_ZERO - 프레임을 0으로 초기화)
- Page Table: VA -> PA 변환을 위한 4단계 테이블
- alias: 물리 주소를 커널 가상주소 영역에 상수 오프셋만 더해 1:1로 대응시키는 맵
- PAL_USER: 할당 풀을 고르는 플래그 -> 있으면 user pool, 없으면 kernel pool
- palloc_get_page(): 프레임 확보
- pml4_set_page(): VA↔프레임 연결
- 유저와 커널의 뜻
- 유저(사용자 모드): 제한된 권한으로 실행되는 사용자 프로그램 영역
- 커널(커널 모드): 운영체제의 핵심 코드가 도는 특권 모드