2017-05-07 1 views
-1

여기 내 이해가있다 :논리 메모리가있는 경우 왜 가상 메모리가 필요합니까?

논리 메모리 : 실제 논리 메모리 공간이 없습니다, 그것은 프로세스가 실행되는 동안 CPU에 의해 생성되도록 허용 된 주소를 포함합니다. 논리 메모리의 페이지는 물리적 메모리의 프레임 (페이지의 크기와 동일)에 매핑됩니다. 프로세스를 실행하기 위해서는 실행을 시작하기 전에 모든 페이지를 물리적 메모리 (즉, 프레임)에로드해야합니다. . 프로세스가 실행 된 후 프레임이 해제됩니다.

맞습니까? 그리고 가상 메모리는 어떻게 다르게 작동합니까? 는 AMD64 아키텍처 물건을 참조

답변

0

이 설명되어 있습니다 : https://support.amd.com/TechDocs/24593.pdf 54 페이지

그들은 정의 주소가 분할 된 주소 공간을 insided 논리 주소는 (실제로 모드는 통상적으로 사용되지 않습니다). 오프셋에 세그먼트 기본 주소를 추가하여 논리 주소를 선형 주소로 변환 할 수 있습니다.

선형 주소는 프로그래머가 실제로 보는 64 비트 주소이므로 사용 가능한 실제 메모리보다 훨씬 큽니다. OS는 사용에 따라 하드 디스크에서 또는 하드 디스크로 메모리 페이지를 스왑 할 수 있습니다. 프로그래머는 그것을 무시하고있다.

실제 주소는 프로그래머가 결코 볼 수없는 메모리의 주소입니다. 페이징 시스템은 물리적 주소에 선형 주소를 연결하여 메모리로 읽거나 쓰기 전에 위임됩니다.

위의 정의와 비교하여 선형 (가상) 주소 대신 논리 주소라는 용어를 사용합니다. 모든 프레임을로드 할 수있는 것은 아닙니다. 요청시로드 될 수 있습니다.

가상 메모리는 프로그래머에게 물리적 메모리가 훨씬 제한적인 반면 (2^64 바이트 = 16EBytes = ~ 1000000 TB) 선형 주소 공간을 보여주고 메모리를 외부 메모리로 요구시 매핑하는 기술입니다 저장 장치를 하드 디스크로 사용하십시오.

0

맞습니까? 그리고 가상 메모리는 어떻게 다르게 작동합니까?

전혀 아닙니다. > 직접 물리적 주소

  • 는 논리 - -> 논리 주소는
  • 가상 페이지 테이블을 통해 물리적 주소로 다시 매핑 -> 실제 메모리가

    1. 물리적 :

      주소 변환의 세 가지 종류가 있습니다 2 차 저장소를 사용하여 시뮬레이션됩니다.

    논리 메모리 변환이 없으면 가상 번역이 작동하지 않습니다. 가상 페이지는 물리적 페이지 프레임에 매핑되지 않은 유효한 논리적 페이지가있을 때 처리됩니다. 이 경우 보조 변환에서 데이터를 찾기 위해 가상 변환이 필요합니다.

    컴퓨터 설명서의 상당 부분이 가상 및 논리적 가상으로 융합됩니다. 가상 주소 공간이 물리적 주소 공간 (예 : 4GB 가상 및 8MB 물리적)과 비교할 때이 결합은 중요하지 않았습니다.

    실제 메모리가 GB 범위로 커지면 논리적 변환을 유지하면서 가상 변환의 필요성이 줄어 듭니다. 이는 둘 사이의 구별이 중요 해짐을 의미합니다.

  • 관련 문제