2014-01-19 1 views
0

X86 아키텍처에서 프로세서는 페이지가 주 메모리에 매핑되어 있지만 보조 저장소에 있다는 것을 어떻게 알 수 있습니까? 페이지 테이블 항목의 플래그는 해당 페이지가 실제 주소로 변환 된 것을 나타냅니다. 프로세서는 프레임의 위치를 ​​인식합니까? 내 이해에서 페이지 구조 항목의 'P'플래그가 설정된 경우 논리 주소에 대한 유효한 매핑이 존재하지 않으며 매핑이 있지만 페이지가 보조 저장소에있는 경우 페이지 폴트가 발생 함을 나타냅니다 또한 페이지 결함이 발생하여 페이지가 메모리로 스와핑되고 페이지 테이블 항목이 수정됩니다.프로세서가 페이지가 주 메모리에 매핑되어 있지만 보조 저장소에 있다는 것을 어떻게 알 수 있습니까?

답변

0

나는 하드 페이지 오류 VS SOFT 페이지 오류를 언급한다고 생각합니다. 하드 페이지 오류는 경우 해고됩니다

  • P (재전송) 플래그가 설정되어 있지 않은 경우/페이지 테이블에 항목이
  • 사용자 모드 코드는
  • 사용자 모드 코드는 읽기 전용 메모리를 쓰는 존재하지 않는다 커널 메모리 액세스
  • 페이지 항목 예약 비트가 손상되었습니다. 페이지가 메모리에 다른 도자기 존재하지만 경우

소프트 페이지 오류가 발생합니다 (아마도에 다른 작업을 설정하거나 작업 세트 떠나)

http://blogs.technet.com/b/askperf/archive/2008/06/10/the-basics-of-page-faults.aspx http://en.wikipedia.org/wiki/Page_fault (주요 대 미성년자)

희망이 도움말 :

+0

답장을 보내 주셔서 감사합니다. 주요 페이지 오류 (백킹 스토어 페이지)에 대해 이야기하고 있지만 구체적인 질문은 하드웨어 (프로세서)가 주요 페이지 오류와 하드 페이지 폴트, ISR은 어떻게 그것들을 구별합니까? 하드웨어 MMU는 ISR이 해당 단계를 실행할 수있게하는 데 도움이되는 오류를 발생시키기 전에 일부 레지스터에 힌트를 남겨 두어야합니다. –

+1

CPU가 페이징 및 메모리 관리를 관리하는 CPU가 아니기 때문에 CPU가 소프트 페이지 오류임을 알지 못합니다. 소프트 또는 하드 페이지 오류인지 여부를 결정하는 것은 ISR의 책임입니다. OS는 레지스터 CR2에서 그 오류를 일으킨 주소를 볼 수 있으며 가상적으로로드되어 메모리 밖으로 이동했는지 확인합니다. – 0xGiddi

+0

수행 할 수있는 트릭은 현재 플래그가 0이고 PBA가 위치를 가리키는 PTE를 유지하는 것입니다. 페이지 파일의 페이지. 페이지 폴트가 발생하면 PBA에 해당하는 페이지 파일에서 데이터를로드하고 항목을 전환 할 수 있습니다 – 0xGiddi