OS와 하드웨어

중요한 처리 도중에 일시적으로 인터럽트를 금지(마스크)할 때의 주의점으로 올바른 것은 무엇입니까?

  1. A금지하는 시간이 길면 다른 인터럽트에 대한 응답이 늦어지므로 가능한 한 짧게 한다
  2. B인터럽트를 금지하면 도착한 인터럽트는 모두 사라지므로 두 번 다시 처리되지 않는다
  3. C인터럽트를 금지하면 CPU의 소비 전력이 크게 늘어나므로 사용해서는 안 된다
정답과 해설 보기

정답: A. 금지하는 시간이 길면 다른 인터럽트에 대한 응답이 늦어지므로 가능한 한 짧게 한다

인터럽트를 금지하면 공유 데이터를 갱신하는 도중에 인터럽트가 걸리는 것을 막을 수 있지만, 그동안 도착한 인터럽트는 대기하게 됩니다. 금지 시간이 길면 통신 수신이나 타이머 처리가 늦어져 데이터 유실이나 응답 지연으로 이어지므로 금지 구간은 가능한 한 짧게 합니다. 도착한 인터럽트는 대개 보류되었다가 금지가 해제된 뒤 처리되므로 모두 사라지는 것은 아닙니다. 소비 전력이 크게 늘어나는 것도 아닙니다.

  • A. 올바릅니다. 응답 지연을 막기 위해 금지 구간을 짧게 합니다.
  • B. 대개 인터럽트는 보류되었다가 해제 후 처리됩니다.
  • C. 인터럽트 금지로 소비 전력이 크게 늘어나지는 않습니다.
이 분야 연습하기 분야로 돌아가기

OS와 하드웨어의 다른 문제

  1. 인터럽트 핸들러의 처리를 곧바로 수행하는 짧은 부분과 나중에 일반 컨텍스트에서 수행하는 나머지 부분으로 나누는 이유로 올바른 것은 무엇입니까?
  2. 페이지 테이블의 역할로 올바른 것은 무엇입니까?
  3. 페이지 폴트가 발생하는 경우로 올바른 것은 무엇입니까?
  4. 내보내져 디스크에 있는 페이지에 접근하여 페이지 폴트가 발생했을 때 OS가 수행하는 처리 흐름으로 올바른 것은 무엇입니까?
  5. 페이지 테이블을 1단이 아닌 다단(계층형)으로 만드는 주된 이유는 무엇입니까?

이 분야의 비교