OS와 하드웨어
인터럽트 핸들러의 처리를 곧바로 수행하는 짧은 부분과 나중에 일반 컨텍스트에서 수행하는 나머지 부분으로 나누는 이유로 올바른 것은 무엇입니까?
- A핸들러를 두 번에 나누어 실행하면 처리의 총량이 절반이 되기 때문에
- B후반 처리는 하드웨어가 자동으로 수행하므로 소프트웨어가 필요 없어지기 때문에
- C인터럽트를 멈추는 시간을 짧게 하고 무거운 처리는 나중에 수행하기 위해
정답과 해설 보기
정답: C. 인터럽트를 멈추는 시간을 짧게 하고 무거운 처리는 나중에 수행하기 위해
인터럽트 핸들러 실행 중에는 같은 종류이거나 더 낮은 우선순위의 인터럽트가 대기하는 경우가 많아, 긴 처리를 하면 시스템 전체의 응답이 나빠집니다. 그래서 장치에서 상태를 읽어 접수를 알리는 것과 같은 급한 처리만 먼저 하고, 데이터 가공이나 상위로의 통지 등 시간이 걸리는 처리는 나중에 인터럽트를 허용한 일반 컨텍스트에서 수행합니다. 처리의 총량은 줄지 않으며, 후반도 소프트웨어가 수행합니다.
- A. 처리의 총량은 줄지 않습니다.
- B. 후반도 소프트웨어가 수행합니다.
- C. 올바릅니다. 인터럽트를 멈추는 시간을 짧게 하고 무거운 처리는 나중에 수행합니다.