2012-07-21 4 views

답변

2

"이동"되지 않습니다. 데이터는 한 번에 한 위치에만있을 수있는 종이가 아닙니다. 그것은 메모리에 복사되고 나중에 디스크에 남아 있습니다. 디스크에서 지우기는 다른 데이터로 덮어 쓰는 것을 의미하며, 읽은 후 추가 시간이 소요됩니다.

시스템은 물론 스왑의 어떤 부분이 여전히 유효하고 필요한 데이터인지, 어떤 부분이 "사용되지 않는"것으로 간주되는지에 따라 결국 덮어 쓸 수 있습니다.

0

사실 위의 어느 것도 아닙니다. 일반적으로 프로세스와 파일은 요청할 때마다 내용을 메모리에 복사합니다. 그러나 요구 페이징을 사용하는 경우에는 그렇지 않습니다. 파일이 메모리에로드되도록 요청되면 운영 체제는 해당 파일이 프로세스의 가상 주소 공간 안에 있음을 표시하지만 실제로 메모리를 할당하거나 파일을 복사하지는 않습니다. 프로세스가 해당 메모리 영역을 읽거나 쓰면 프로세서는 운영 체제가 트랩하는 오류를 발생시킵니다. 그런 다음 운영 체제는 파일 내용을 페이지로 복사합니다. 실제로 액세스되는 페이지 만 할당되므로 메모리를 절약 할 수 있습니다. 이는 힙 할당에도 해당됩니다. 프로그램이 큰 메모리 블록을 요청하면 프로그램이 해당 메모리를 사용할 때까지 실제로 할당되지 않습니다.

관련 문제