컴퓨터 운영 체제에서 페이지 테이블이란 무엇입니까?
대부분의 컴퓨터에는 가상 메모리와 물리적 메모리라는 두 가지 형태의 메모리가 있습니다. 가상 메모리는 이름에서 알 수 있듯이 프로그램을 실행하는 데 필요한 모든 정보가 동일한 위치에 저장되어있는 것처럼 프로그램을 작동시킬 수있는 구조 일뿐입니다. 가상 메모리에 저장된 각 정보는 실제 메모리 주소에 해당합니다. 페이지 테이블은 컴퓨터 운영 체제가 가상 메모리와 실제 메모리 간의 연결을 추적하는 데 사용하는 데이터 구조입니다. 가상 메모리를 실제 메모리와 상관시키는 프로세스를 매핑이라고합니다.
페이지 테이블이 두 종류의 메모리를 구성하는 방법에 대한 개념은 익숙한 예를 사용하여 가장 잘 이해됩니다. 컴퓨터 사용자가 미디어 플레이어 프로그램에서 재생 목록을 만들면 컴퓨터의 여러 파일에서 노래를 가져올 수 있습니다. 실제 파일은 이동되지 않지만 프로그램은 각 노래에 차례로 액세스 할 위치를 알고 있습니다.
재생 목록은 가상 메모리와 같습니다. 프로그램이 쉽게 액세스 할 수있는 인접한 정보 블록입니다. 개별 곡이 들어있는 개별 파일은 실제 메모리와 같습니다. 컴퓨터 전체의 여러 곳에 저장되어 있습니다. 실제 메모리는 페이지 테이블에 저장됩니다.
컴퓨터의 하드웨어가 가상 메모리에서 요청을받은 다음 페이지 테이블에 액세스하여 데이터의 실제 메모리 위치를 찾습니다. 이 하드웨어를 메모리 관리 장치 (MMU) 또는 동적 주소 변환 (DAT) 장치라고합니다. 데이터 액세스를 가능한 한 빨리 수행하기 위해 MMU는 자주 사용되는 제한된 수의 맵을 변환 lookaside 버퍼라는 테이블에 저장합니다. 웹 브라우저의 즐겨 찾기 탭처럼 작동하는 translation lookaside 버퍼를 사용하면 컴퓨터가 자주 사용하는 메모리 위치로 빠르게 이동할 수 있습니다.
해당 주소가 컴퓨터가 자주 요청하는 주소가 아닌 경우 MMU는 페이지 테이블에 직접 액세스합니다. 해당 주소를 찾을 때까지 테이블을 스캔합니다. 그런 다음 프로그램이 정보에 액세스 할 수있는 변환 lookaside 버퍼로 주소를 반환합니다.
때때로 컴퓨터가 페이지 테이블에서 주소를 찾을 수 없습니다. 가상 메모리와 실제 메모리 사이에 맵이없는 경우 발생할 수 있습니다. 이 경우 운영 체제는 프로그램에 종료하라는 메시지를 프로그램에 보냅니다. 실제 파일이 이동 된 경우 (예 : 백업 디스크에 넣고 시스템에서 제거한 경우)에도 조회가 실패 할 수 있습니다.