OS와 하드웨어
중요한 처리 도중에 일시적으로 인터럽트를 금지(마스크)할 때의 주의점으로 올바른 것은 무엇입니까?
- A금지하는 시간이 길면 다른 인터럽트에 대한 응답이 늦어지므로 가능한 한 짧게 한다
- B인터럽트를 금지하면 도착한 인터럽트는 모두 사라지므로 두 번 다시 처리되지 않는다
- C인터럽트를 금지하면 CPU의 소비 전력이 크게 늘어나므로 사용해서는 안 된다
정답과 해설 보기
정답: A. 금지하는 시간이 길면 다른 인터럽트에 대한 응답이 늦어지므로 가능한 한 짧게 한다
인터럽트를 금지하면 공유 데이터를 갱신하는 도중에 인터럽트가 걸리는 것을 막을 수 있지만, 그동안 도착한 인터럽트는 대기하게 됩니다. 금지 시간이 길면 통신 수신이나 타이머 처리가 늦어져 데이터 유실이나 응답 지연으로 이어지므로 금지 구간은 가능한 한 짧게 합니다. 도착한 인터럽트는 대개 보류되었다가 금지가 해제된 뒤 처리되므로 모두 사라지는 것은 아닙니다. 소비 전력이 크게 늘어나는 것도 아닙니다.
- A. 올바릅니다. 응답 지연을 막기 위해 금지 구간을 짧게 합니다.
- B. 대개 인터럽트는 보류되었다가 해제 후 처리됩니다.
- C. 인터럽트 금지로 소비 전력이 크게 늘어나지는 않습니다.