가상 메모리와 IA-32에서의 커널 공간에 관한 질문.
글쓴이: happyKYS / 작성시간: 목, 2012/03/08 - 1:40오후
가상 메모리가 페이지 테이블을 참고하여 물리메모리로 변환이 되는것으로 알고 있고, 이것은 가상메모리를 기반으로 하여 3단계 혹은 4단계의 페이지 디렉토리와 테이블을 거쳐 완료가 되는것으로 알고 있습니다.
여기서 질문
1. 가상 메모리 주소를 기반으로 하여 물리메모리를 구한다면, 어떤 코드가 물리메모리로 로드될때 위치하는 물리메모리 주소는 항상 고정적이지 않은가요?(어떤 코드의 가상 메모리 주소는 고정이므로) 이러면 효율성이 떨어지는 것 같은데 제 착각인지요.
2. 리눅스 커널 공간에서 3기가바이트의 유저스페이스를 지나 1기가바이트의 커널공간이 있는 것으로 알고 있습니다. 이때 1기가바이트라는 구조때문에 직접엑세스할 수 있는 물리주소의 영역은 896메가바이트 미만으로 한정된다고 하는데, 왜 이런지 이해가 가지 않습니다. 이게 구조때문인가요?? 가상메모리주소만 가지고 있으면 물리메모리 주소는 페이지 테이블을 통해 어느곳이나 접근이 가능하지 않은가요?
Forums:
댓글 달기