천천히 시작한 다음이 모든 것을 하나로 모을 것입니다. 다음과 같습니다.
일반적으로 사용되는 가상 메모리는 "페이징"을 나타냅니다. 이름에서 알 수 있듯이 페이징은 사람의 메모장과 같습니다.
간단한 합계를 작성하거나 간단한 정보를 학습 할 때는 모든 정보를로드하고 처리하고 답변을 얻으면됩니다. 이것은 하드 드라이브에서 파일을로드하는 컴퓨터와 같습니다. 프로그램이나 그림 또는 기타 실제 정보를 "실제 메모리"(또는 "실제 메모리")에로드하고 "brain"( 프로세서).
그러나 복잡한 정보를 배우거나 복잡한 합계를 사용하는 경우 한 번에 모든 것을 머리에 맞추지 못할 수도 있습니다. 혼란스러워하고 속도가 느려지기 시작하고 한 번에 모두 유지하지 못하고 다른 것을 기억하기 위해 무언가를 잊어 버려야합니다.
휴먼 솔루션은 메모장을 사용하는 것입니다. 한 번에 기억할 수없는 모든 내용을 페이지에 기록하지만 합계를 수행하는 동안 참조하십시오. 우리는 한 달 동안 거대한 판매량 목록을 기억하지 못할 수도 있지만 페이지를보고 한 번에 조금씩 정보를 얻고 각 비트를 처리 할 수 있습니다. 이것은 컴퓨터가 메모리를 "페이징"하는 것과 같습니다. 정보로 가득 찬 페이지를 작성하고 나중에 참조 할 수 있도록 "가상 메모리"에 저장하고 페이지가 필요하다는 것을 인식하고 해당 페이지를 가상 메모리에서 실제 메모리로 다시로드합니다. 리눅스와 유닉스에서,이 페이지들이 저장되는 장소는 말 그대로 "pagefile"이라고하며, 메모리의 데이터 페이지는 말 그대로 "pages"라고합니다. 시스템마다 이름이 다르지만 일반적인 개념은 거의 동일합니다.
실제로 페이징은 매우 간단합니다. 모든 정보 페이지가 메모리에 맞지 않기 때문에 일부 페이지는 디스크에 저장되고 나중에 다시로드됩니다.
현대 시스템은 메모리 매핑 및 메모리 보호 기능을 갖추고 있으며, 이는 일반적으로 컴퓨터의 동일한 하드웨어 시스템 인 메모리 관리 장치 (MMU)에서 처리합니다.
한 번에 많은 프로그램을 실행할 수 있고 메모리 보호 기능이있는 (현대) 멀티 태스킹 컴퓨터에서 각 프로그램은 일반적으로 동일한 시스템에서 실행되는 다른 프로그램과 분리됩니다. 이런 방식으로 한 프로그램은 단순히 메모리에 액세스하여 다른 프로그램을 변경할 수 없습니다. MMU는 한 프로그램의 주소 공간을 다른 프로그램의 주소 공간과 물리적으로 분리합니다. 즉, 사용자의 프로그램은 다른 사용자의 프로그램이나 다른 프로그램을 볼 수 없습니다. 그들은 "실제 메모리"를 보지 않고 자신의 "가상 메모리"를 보았습니다.
이제이 메모리 격리 개념과 페이지 파일 개념은 개념적으로 다른 두 가지 요소이므로 혼동 될 수 있습니다. 그러나 핵심은 메모리 관리 기능인 MMU (메모리를 페이지로 분할하고 페이지를 가상 주소 공간에 매핑)를 사용하여 작동한다는 것입니다.
따라서 프로그램이 특정 "메모리 주소"에서 메모리를 요청할 때 실제로 발생하는 것은 해당 프로그램의 메모리 페이지와 해당 주소 (프로그램의 "주소 공간")가 조회되고 해당 페이지가 그 메모리 블록이 발견되었습니다. 해당 페이지는 실제 메모리에로드 될 수 있으며,이 경우 프로그램에 액세스 권한이 부여되거나 디스크로 페이징 될 수 있습니다. 페이징 아웃되면 "페이지 폴트"를 트리거합니다. 디스크에 액세스하면 페이지가 메모리에로드됩니다. 따라서 메모리가 충분하지 않은 경우에도 프로그램이 작동하지만 일반적으로 매우 빠른 메모리 액세스를 위해 디스크를 사용해야하는 경우 느리게 실행됩니다.
이제 해당 페이지를 메모리에로드 할 공간이 충분하지 않으면 문제가있는 것입니다. 이 경우 이미 메모리에있는 일부 OTHER 페이지를 디스크에 "스왑"해야하므로 첫 번째 프로그램 페이지를로드 할 수 있습니다. 또는 동일한 프로그램의 페이지 일 수도 있습니다. 그래픽 프로그램 (예 :로드가 많은 시스템)에서 그림의 일부가 느리게로드되고 빠르게 그려지는 경우 다음 부분이 똑같이 느리게로드되고 빠르게 그려지며 처음으로 작업을 다시 시작하면 부분적으로, 그것은 다시 느리다. 작업을 위해로드 된 후 다시 교체되어 다른 작업을 수행 할 수 있기 때문입니다. 분명히 이것은 작동하는 매우 느린 방법이며 실제로 필요한 것은 더 많은 실제 메모리입니다.