1

페이지가 가상 메모리에 있지만 주 메모리에는없는 경우 어떻게됩니까? 어떻게 실행됩니까?가상 메모리 사용

프로그램이 가상 메모리에서 주 메모리로로드 되었습니까? 가상 메모리에서 주 메모리로로드되면 디스크에 있기 때문에 IO 작업이됩니다. 그렇다면 가상 메모리를 사용하는 것이므로 실행하기 위해 IO 작업을해야합니다.

그리고 use program이 논리 주소를 생성하고 MMU가 그것을 실제 주소로 매핑하고 그 주소가 주 메모리에 없으면 OS가 가상 메모리를 체크인합니까 ?? 사전에

감사

답변

0

날이 매우 단순화 된 설명이 아닌 가상 메모리에 대한 명확한 가이드 있다는 말을 시작하자;

가상 메모리는 기본적으로 컴퓨터의 메모리 공간에서 실행되는 유일한 프로세스라는 환상을 제공합니다. 프로세스가 가상 메모리 페이지에 액세스하면 MMU는이를 실제 메모리 액세스로 변환합니다. 실제 메모리 페이지가 아직 존재하지 않거나 실제 메모리에없는 경우 프로세스가 일시 중단되고 운영 체제에 알리고 프로세스를 다시 시작하기 전에 메모리에 페이지를 추가 할 수 있습니다 (예 : 디스크에서 페치). .

가상 메모리의 한 가지 이유는 프로세스에서 사용하는 메모리 양이 너무 많아 걱정할 필요가 없으며 예를 들어 컴퓨터의 실제 메모리를 확장하면 변경하지 않아도된다는 것입니다. 그것은 실제 메모리가 어떻게 사용되는지를 해결할 수있는 모든 메모리를 가지고 있으며, 운영체제에서이를 해결할 수 있습니다.

일반적으로 컴퓨터를 크롤링하지 않는 이유는 많은 프로세스가 항상 메모리의 큰 부분을 사용하지 않기 때문에 메모리 페이지가 한 시간 내에 액세스되지 않으면 물리적 그 시간 동안 메모리를 계속 사용하는 것보다 훨씬 효율적으로 사용할 수 있습니다. 물론 프로세스가 적극적으로 지속적으로 사용하는 메모리가 많을수록 프로세스가 느리게 실행됩니다.