OS와 하드웨어

디맨드 페이징에 대한 설명으로 올바른 것은 무엇입니까?

  1. A프로그램을 시작할 때 모든 페이지를 먼저 물리 메모리에 읽어 들여 둔다
  2. B자주 쓰는 페이지를 디스크가 아닌 캐시에 항상 고정해 둔다
  3. C페이지를 처음 사용할 때 페이지 폴트를 일으키고, 그때 물리 메모리에 읽어 들인다
정답과 해설 보기

정답: C. 페이지를 처음 사용할 때 페이지 폴트를 일으키고, 그때 물리 메모리에 읽어 들인다

디맨드 페이징에서는 프로그램 시작 시 페이지 테이블만 준비하고 실제 페이지는 읽어 들이지 않습니다. 처음 접근했을 때 페이지 폴트가 발생하고, OS가 그 페이지만 디스크에서 읽어 들입니다. 시작이 빨라지고 한 번도 쓰지 않는 코드나 데이터를 위해 메모리를 쓰지 않아도 됩니다. 처음에 전부 읽어 들이는 방식과는 반대되는 발상이며, 캐시에 고정하는 것과도 관계가 없습니다.

  • A. 전부 먼저 읽는 방식과는 반대되는 발상입니다.
  • B. 캐시에 고정하는 것과는 관계가 없습니다.
  • C. 올바릅니다. 필요해졌을 때 읽어 들이는 방식입니다.
이 분야 연습하기 분야로 돌아가기

OS와 하드웨어의 다른 문제

  1. 페이지 교체의 클락(clock) 방식(세컨드 찬스 방식)에서 각 페이지의 참조 비트를 사용하는 목적은 무엇입니까?
  2. 페이지 교체에서 FIFO 방식을 사용하면 물리 메모리의 페이지 수를 늘렸는데도 페이지 폴트가 늘어나는 경우가 있습니다. 이 현상을 무엇이라고 합니까?
  3. 물리 메모리가 부족하여 페이지를 내보내고 읽어 들이는 일만 계속되어 처리가 거의 진행되지 않는 상태를 무엇이라고 합니까?
  4. 메모리 접근 시간이 100 ns, 페이지 폴트 처리에 8 ms가 걸리고, 100만 번에 한 번 페이지 폴트가 발생할 때 평균 접근 시간은 대략 얼마입니까?
  5. 컨텍스트 스위치에서 전환하기 전의 프로세스에 대해 저장해 두어야 하는 것은 무엇입니까?

이 분야의 비교