응용 프로그램은 가상 메모리에서 작동합니다. 이것은 좋은 개념입니다. 연속적인 블록처럼 취급 할 수 있으며 물리적 RAM에 연속적으로 있는지 또는 하드 디스크에 있는지 여부를 신경 쓸 필요가 없습니다.변환 참조 버퍼 작성
내가 아는 한 가상 주소와 실제 주소 간의 매핑은 변환 lookaside 버퍼를 사용하여 CPU (또는 최소한 하드웨어)에서 직접 수행됩니다.
나는 커널이 어떻게 든 TLB의 내용을 유지하지만 여기에 내가 조금 붙어있어 어디 있다고 가정, 그래서 나는 3 개 질문이 있습니다, 쿼리 읽고에 대한 특정 어셈블러 지침은 무엇
을 TLB의 내용 작성?이 주제와 관련된 opcode에 대한 인터넷 검색 결과가 좋지 않았습니다. 방금 INVLPG와 TLBWI를 찾았습니다. 나는 그 수준의 깊이에 익숙하지 않기 때문에 잘못된 검색 용어를 사용하기도합니다. 검색 결과를 즉시 찾으면 어떤 검색어를 사용합니까?
모든 어셈블러 지침에 권한 CPU 모드가 필요합니까?
TLB의 초기 내용은 무엇입니까? TLB가 처음에 비어 있다면 운영 체제의 맨 처음 어셈블러 지침이 실제 메모리 (즉 가상 주소 == 실제 주소)에 직접 매핑된다는 것을 의미합니까?
는 (내 생각) - 한 모든 매핑을 지정하는 기본, 실제 메모리에 상주하는 구조. TLB는 커널이 변경 될 때만 유효해야합니다 (다시 생각합니다). – Linuxios
TLB의 내용에 대해 모르겠지만 x86 머신은 모두 [* 리얼 모드 *] (http://en.wikipedia.org/wiki/Real_mode) – ArjunShankar
@Linuxios :로 부팅됩니다. 이유는 그것이 버퍼라고합니다. 실제 RAM의 실제 페이지 테이블을 절대로 스왑하지 않으면 이해하기 쉽습니다. –