최신 OS에는 모든 프로세스마다 고유 한 주소 공간이 있습니다. 모든 프로세스에 자체 가상 페이지 테이블이 있음을 의미합니까? 또는 가상 페이지 테이블은 OS의 모든 프로세스에 공통적으로 사용됩니까? 모든 프로세스에 공통적 인 경우 로컬 프로세스의 주소 공간 주소가 가상 주소에서 어떻게 변환됩니까? 누구에게 책임이 있습니까?가상 페이지 테이블은 OS에서 실행되는 모든 프로세스에 공통적입니까?
1
A
답변
1
페이지 테이블은 프로세스별로 있습니다. 프로세스 전환이 발생하면 각 페이지 테이블이 스왑 아웃되고 을 x86
아키텍처로 변경하여 새로운 프로세스 페이지 테이블이 적용됩니다.
이상적인 페이징 단위는 Page's Directory
, Table
& Offset
의 세 필드로 구분됩니다. 가상 주소의 변환은 두 개의 변환 테이블 인 Page Directory와 페이지 테이블에 의해 수행됩니다. 각 활성 프로세스에는 페이지 디렉토리가 할당되어 있습니다. 가상 주소 내의이 필드는 적절한 페이지 테이블을 가리키는 페이지 디렉토리의 항목을 결정합니다. 필드 테이블 필드는 페이지 테이블의 엔트리를 결정하며, 페이지 테이블의 물리적 어드레스를 포함하는 페이지 엔트리는 오프셋 필드에 의해 뒤 따르는 페이지 프레임 내의 상대 위치를 결정한다.
자세한 내용은 Page Table & MMU을 확인하십시오.