리눅스에 mmu가 필요한 이유

WBOY
풀어 주다: 2022-08-17 17:45:26
원래의
2638명이 탐색했습니다.

mmu는 가상 메모리 관리를 지원하는 데 사용될 수 있기 때문에 mmu는 "Memory Management Unit"의 약어로 중앙 프로세서에서 가상 메모리와 물리적 메모리를 관리하는 데 사용되는 제어 회로이자 가상 메모리 관리도 담당합니다. 주소 매핑 물리적 주소에 대한 메모리 액세스 권한을 부여하기 위한 하드웨어 메커니즘을 제공합니다.

리눅스에 mmu가 필요한 이유

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

Linux에 mmu가 필요한 이유

현대 운영 체제는 일반적으로 프로세서의 MMU(메모리 관리 장치)의 지원이 필요한 가상 메모리 관리(가상 메모리 관리) 메커니즘을 채택하기 때문입니다.

MMU(Memory Management Unit): 중앙 처리 장치(CPU)에서 가상 메모리와 물리적 메모리를 관리하는 데 사용되는 제어 회로인 메모리 관리 장치입니다. 또한 가상 주소를 물리적 주소로 매핑하고 하드웨어 메커니즘을 제공하는 역할도 담당합니다. 메모리에 대한 액세스 권한을 부여합니다.

메모리 관리 장치(MMU)의 주요 기능은 가상 주소(가상 메모리 주소)를 물리적 주소(물리적 주소)로 변환하는 것입니다. 또한 메모리 보호, 캐시 제어, 버스 중재 및 뱅크 전환도 구현할 수 있습니다.

작업 메커니즘

리눅스에 mmu가 필요한 이유

CPU는 요청된 가상 주소를 MMU에 전달하고 MMU는 먼저 캐시 TLB(Translation Lookaside Buffer)에서 변환 관계를 검색하고 해당 물리 주소가 발견되면 직접 접근하고, 발견되지 않으면 주소변환표(Translation Table)에서 검색하여 계산한다.

가상 주소

현대 메모리 관리 장치는 가상 주소 공간(프로세서에서 사용하는 주소 범위)을 페이지 단위로 분할합니다. 페이지 크기는 2의 n승(보통 몇 KB)입니다. 따라서 가상 주소는 가상 페이지 번호와 오프셋의 두 부분으로 나뉩니다.

리눅스에 mmu가 필요한 이유

페이지 테이블 항목(페이지 테이블 항목)

위의 가상 페이지 번호 중 페이지 테이블에서 찾은 물리적인 페이지 테이블 번호를 저장하는 항목이 페이지 테이블 항목(PTE)입니다. PTE는 일반적으로 1워드 길이를 차지하며, 여기에는 물리적 페이지 번호뿐만 아니라 다시 쓰기 플래그 비트(더티 비트), 액세스 제어 비트(액세스된 비트), 읽기 및 쓰기를 허용하는 프로세스 유형(사용자/감독자 모드)도 포함됩니다. , 캐시 및 매핑 가능 여부(PTE의 마지막 두 자리).

Mapping

매핑 방법

매핑 방법에는 세그먼트 매핑과 페이지 매핑 두 가지가 있습니다. 세그먼트 매핑은 첫 번째 수준의 페이지 테이블만 사용하고, 페이지 매핑은 첫 번째 수준의 페이지 테이블과 두 번째 수준의 페이지 테이블을 사용합니다.

매핑 세분성

세그먼트 매핑에는 1M 섹션과 16M 상위 섹션의 두 가지 매핑 세분성이 있습니다. 페이지 매핑에는 4K 작은 페이지, 64K 큰 페이지 및 오래된 1K 작은 페이지가 포함됩니다.

리눅스에 mmu가 필요한 이유

추천 학습: Linux 비디오 튜토리얼

위 내용은 리눅스에 mmu가 필요한 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿