
[xv6] 실습2 : Memory Protection
·
운영체제/xv6 실습
실습목표: virtual address zero에서는 null pointer를 나타낸다. xv6에서는 null pointer dereference가 가능하다. 이를 방지하기 위해 null pointer 접근을 막도록 한다. 접근 시 trap이 발생하도록 Page Table의 첫 번째 페이지를 접근하지 못하도록 한다. 이를 위해 첫 번째 페이지 주소를 변경한다. Null pointer dereference? null pointer란 아무런 유효한 메모리 주소도 가리키지않는 포인터라고 보면된다.일반적으로 Null Pointer는 주소 0을 의미하는데, 기본적으로 xv6에서는 아래 그림처럼 데이터가 주소 0에 위치한다. 하지만 보통의 운영체제는 주소0에는 어떠한 유효한 데이터도 위치하지 않도록 보호하는 영역..