OS와 하드웨어

페이지 테이블을 1단이 아닌 다단(계층형)으로 만드는 주된 이유는 무엇입니까?

  1. A사용하지 않는 범위의 표를 생략할 수 있어 페이지 테이블의 메모리를 절약할 수 있기 때문에
  2. B주소 변환 때마다 읽는 표의 수가 줄어 TLB 미스 처리가 빨라지기 때문에
  3. C물리 메모리의 용량을 가상 주소 공간보다 크게 할 수 있기 때문에
정답과 해설 보기

정답: A. 사용하지 않는 범위의 표를 생략할 수 있어 페이지 테이블의 메모리를 절약할 수 있기 때문에

1단 페이지 테이블에서는 사용 여부와 관계없이 가상 주소 공간의 모든 페이지만큼 항목이 필요하여, 64비트 환경에서는 표가 거대해집니다. 다단으로 하면 사용 중인 범위의 하위 표만 만들고 사용하지 않는 범위는 상위 표의 항목을 무효로 해 둘 수 있으므로, 프로그램이 사용하는 양에 맞는 메모리로 충분합니다. 그 대신 TLB 미스 때 따라가는 표의 수가 단 수만큼 늘어 느려집니다. 물리 메모리의 크기와는 관계없습니다.

  • A. 올바릅니다. 사용하지 않는 범위의 표를 생략할 수 있어 메모리를 절약할 수 있습니다.
  • B. 따라가는 표의 수는 오히려 단 수만큼 늘어납니다.
  • C. 물리 메모리의 용량과는 관계없습니다.
이 분야 연습하기 분야로 돌아가기

OS와 하드웨어의 다른 문제

  1. 가상 주소가 32비트, 페이지 크기가 4 KB, 페이지 테이블의 한 항목이 4바이트일 때, 1단 페이지 테이블의 크기는 얼마입니까?
  2. 가상 주소 중 48비트를 사용하고, 페이지 크기 4 KB, 각 단의 표가 512개 항목(9비트)인 다단 페이지 테이블에서는 몇 단의 표를 따라가야 합니까?
  3. 페이지 테이블의 각 항목에 보통 포함되는 정보의 조합으로 올바른 것은 무엇입니까?
  4. 프로세스를 복제할 때 카피 온 라이트(copy-on-write)를 사용하는 이점으로 올바른 것은 무엇입니까?
  5. 디맨드 페이징에 대한 설명으로 올바른 것은 무엇입니까?

이 분야의 비교