OS와 하드웨어

페이지 교체의 클락(clock) 방식(세컨드 찬스 방식)에서 각 페이지의 참조 비트를 사용하는 목적은 무엇입니까?

  1. A최근 사용된 페이지를 구별하여 적은 비용으로 LRU에 가까운 교체를 하기 위해
  2. B페이지가 변경되었는지를 조사하여 다시 쓸지 여부를 정하기 위해
  3. C페이지를 사용하는 프로세스의 수를 세어 많은 것부터 내보내기 위해
정답과 해설 보기

정답: A. 최근 사용된 페이지를 구별하여 적은 비용으로 LRU에 가까운 교체를 하기 위해

정확한 LRU는 접근할 때마다 순서를 갱신해야 하므로 페이지 수가 많으면 비용이 큽니다. 클락 방식에서는 접근되면 하드웨어가 참조 비트를 1로 만들고, OS는 시계 바늘처럼 페이지를 차례로 살펴 1이면 0으로 되돌리고 넘어가며(한 번 더 기회를 줌), 0인 페이지를 내보냅니다. 이렇게 최근 사용된 페이지를 남기는 LRU에 가까운 교체를 저렴하게 구현합니다. 다시 쓸지 여부를 정하는 것은 dirty 비트입니다.

  • A. 올바릅니다. 최근 사용을 참조 비트로 구별하여 LRU에 가까운 교체를 합니다.
  • B. 다시 쓸지 여부는 dirty 비트로 판단합니다.
  • C. 프로세스 수로 내보내는 방식이 아닙니다.
이 분야 연습하기 분야로 돌아가기

OS와 하드웨어의 다른 문제

  1. 페이지 교체에서 FIFO 방식을 사용하면 물리 메모리의 페이지 수를 늘렸는데도 페이지 폴트가 늘어나는 경우가 있습니다. 이 현상을 무엇이라고 합니까?
  2. 물리 메모리가 부족하여 페이지를 내보내고 읽어 들이는 일만 계속되어 처리가 거의 진행되지 않는 상태를 무엇이라고 합니까?
  3. 메모리 접근 시간이 100 ns, 페이지 폴트 처리에 8 ms가 걸리고, 100만 번에 한 번 페이지 폴트가 발생할 때 평균 접근 시간은 대략 얼마입니까?
  4. 컨텍스트 스위치에서 전환하기 전의 프로세스에 대해 저장해 두어야 하는 것은 무엇입니까?
  5. 프로세스의 컨텍스트 스위치가 레지스터를 저장하고 복원하는 시간보다 실제로는 더 큰 성능 저하를 일으키는 경우가 있습니다. 그 주된 이유는 무엇입니까?

이 분야의 비교