페이지 부재를 처리할 때 호출기가 페이지를 이동하거나 복사합니까?

페이지 부재를 처리할 때 호출기가 페이지를 이동하거나 복사합니까?

페이지 폴트는 프로세스가 주 메모리의 페이지 대신 스왑 공간의 페이지에 액세스하고 페이저가 스왑 공간의 페이지를 주 메모리로 읽을 때 발생합니다.

읽은 내용이 이동되었거나 복사되었습니까? 즉, 페이지 복사본이 스왑 공간에 여전히 존재합니까?

복사본이라면 메인 공간의 페이지 복사본이 변경될 때마다 페이저가 스왑 공간의 복사본을 업데이트해야 한다는 의미입니까?

감사해요.

운영 체제 개념은 다음과 같습니다.

  1. 유휴 프레임을 찾습니다(예: 유휴 프레임 목록에서 프레임을 가져옴).

  2. 디스크 작업을 예약합니다읽다필요한 페이지를 새로 할당된 프레임에 배치합니다.

아래 그림은 또한 일부 페이지(A, C, F)의 복사본이 스왑 공간과 주 메모리 모두에 존재하며 페이지가 스왑 공간이 아닌 주 메모리에만 존재함을 보여줍니다.

여기에 이미지 설명을 입력하세요.

답변1

페이지를 복사합니다. 이렇게 하면 페이지를 삭제해야 하고(즉, 시스템이 다른 페이지를 위해 메모리를 확보해야 함) 페이지가 수정되지 않은 경우 페이지를 삭제하기 전에 스왑을 위해 다시 작성할 필요가 없습니다.

개념적으로 페이지를 앞뒤로 이동하는 것으로 생각할 수 있지만 실제로 수행되는 디스크 I/O 양을 최소화하기 위해 커널이 뒤에서 캐싱과 같은 작업을 수행한다는 점만 알아두세요.

관련 정보