OS와 하드웨어

내보내져 디스크에 있는 페이지에 접근하여 페이지 폴트가 발생했을 때 OS가 수행하는 처리 흐름으로 올바른 것은 무엇입니까?

  1. A프로그램을 즉시 비정상 종료시키고 페이지는 읽어 들이지 않는다
  2. B페이지를 읽어 들인 뒤 폴트를 일으킨 명령을 건너뛰고 다음 명령부터 재개한다
  3. C페이지를 준비하여 디스크에서 읽어 들이고 표를 갱신한 뒤 명령을 다시 실행한다
정답과 해설 보기

정답: C. 페이지를 준비하여 디스크에서 읽어 들이고 표를 갱신한 뒤 명령을 다시 실행한다

정당한 접근으로 인한 페이지 폴트에서는 OS가 빈 물리 페이지를 찾고(없으면 다른 페이지를 내보내고) 디스크에서 내용을 읽어 들여 페이지 테이블 항목을 유효하게 합니다. 그런 다음 폴트를 일으킨 명령을 처음부터 다시 실행하므로 프로그램은 아무 일도 없었던 것처럼 계속됩니다. 명령을 건너뛰면 그 접근이 실행되지 않아 결과가 틀려집니다. 비정상 종료시키는 것은 할당되지 않은 주소에 대한 잘못된 접근의 경우입니다.

  • A. 정당한 접근에서는 비정상 종료시키지 않고 페이지를 준비합니다.
  • B. 명령을 건너뛰면 접근이 이루어지지 않아 결과가 틀려집니다.
  • C. 올바릅니다. 페이지를 준비하고 표를 갱신한 뒤 명령을 다시 실행합니다.
이 분야 연습하기 분야로 돌아가기

OS와 하드웨어의 다른 문제

  1. 페이지 테이블을 1단이 아닌 다단(계층형)으로 만드는 주된 이유는 무엇입니까?
  2. 가상 주소가 32비트, 페이지 크기가 4 KB, 페이지 테이블의 한 항목이 4바이트일 때, 1단 페이지 테이블의 크기는 얼마입니까?
  3. 가상 주소 중 48비트를 사용하고, 페이지 크기 4 KB, 각 단의 표가 512개 항목(9비트)인 다단 페이지 테이블에서는 몇 단의 표를 따라가야 합니까?
  4. 페이지 테이블의 각 항목에 보통 포함되는 정보의 조합으로 올바른 것은 무엇입니까?
  5. 프로세스를 복제할 때 카피 온 라이트(copy-on-write)를 사용하는 이점으로 올바른 것은 무엇입니까?

이 분야의 비교