2024/12/02 2

Pintos Project3 - Virture Memory 키워드

✨ Virtual Memory (가상 메모리)가상 메모리에 대해 너무 이해가 잘 안됐을 때 들었던 예시 중 가장 인상 깊은 비유가 있다.물리 메모리는 현실 세계를, 가상 메모리는 환상 세계를 의미한다고 보면 된다.현실 세계에서는 강도,살인 등 지저분 한 것들이 많듯이 물리 메모리도 프레임 단위로 데이터들이 흩어저있다.반면 가상 메모리는 프로세스에게 환상을 준다. 지금 "프로세스" 너는 CPU와 메모리를 독점하고 있고 세그먼트 별로 데이터들도 잘 정렬되어 있다는 착각을 주는 것이다. 프로세스에 독립적이고 보호된 주소 공간 제공 효율적인 메모리 사용과 물리 메모리 확장메모리 보호 / 효율성 (디스크 스왑) / 유연성 (프로세스는 실제 물리메모리 주소 알 필요 없음)페이지 단위(4KB)로 나뉨✨ PT (Pag..

크래프톤 정글 2024.12.02

Pintos Project3 - Page Fault Handler (Page Fault 전반적인 과정 이해하기)

🖥️ Pintos Page Fault Handler 이 글에서는 Pintos에서의 인터럽트 초기화, 핸들러 등록, 스텁 함수 정의,그리고 페이지 폴트 처리 과정을 하나씩 살펴본다.Page Fault가 발생되는 과정들을 Pintos 코드로 세부적으로 파고 들고 이해 해본다.✨ Interrupt system 초기화 int main(void) { . . . /* 인터럽트 핸들러를 초기화합니다. */ intr_init(); . . . exception_init(); . . . }intr_init() 함수 실행  /* Initializes the interrupt system. */void intr_init(void) { int i; /* Initialize in..

크래프톤 정글 2024.12.02