→ 스택이 현재 크기를 초과하면 필요에 따라 추가 페이지를 할당하도록 해야함

<aside> 📌 1 rsp - 8이 page_fault가 일어난 주소와 같음 ⇒ push에서 stack growth 일어남

2 rsp가 먼저 움직이고, page_fault가 발생 → rsp < page_fault ⇒ stack growth 일어남

찐 페이지폴트 → userstack -1mb 의 범위를 벗어나는 경우 ⇒ process 종료

</aside>

→ syscall에 의한 경우 ⇒ syscall_handler() / page_fault에 의한 경우 ⇒ struct intr_framersp 에서 알 수 있음

❗page_fault가 커널에서 발생하는 경우 처리가 필요함❗→ syscall_handler에서 rsp값 저장

Implement stack growth functionalities.

수정하는 함수 : vm_try_handle_fault

스택 확장 시, vm_stack_growth 호출하여 스택 증가

void vm_stack_growth (void *addr);

구현해야하는 함수 : vm_stack_growth