따라서 갯수에 제한이 있을수밖에 없고 모자라면 셰어링을 하게 되는 것이지요. ISR은 중복 등록이 가능하므로 서비스루틴이 특별히 잘못되어있지 않는 한 문제없이 동작하게 되어 있습니다. 대충, 등록된 드라이버가 IRQ발생사실을 전달받고는 내껀지 아닌지 잽싸게 판단하고 자기것이면 처리를 하고 자기것이 아니면 그냥 넘기는 형태입니다. 따라서 남의것을 자기것으로 판단한다든지 자기것인지를 모르고 있든지 하면 문제가 될수도 있지만.. 아마도 지금은 거의 보기 힘들겠죠. 요새도 이런 일이 일어나는지 개인적으로 궁금하네요.
디바이스 IRQ는 하드웨어단에서 발생하는 서비스 요청입니다.
따라서 갯수에 제한이 있을수밖에 없고 모자라면 셰어링을 하게 되는 것이지요. ISR은 중복 등록이 가능하므로 서비스루틴이 특별히 잘못되어있지 않는 한 문제없이 동작하게 되어 있습니다. 대충, 등록된 드라이버가 IRQ발생사실을 전달받고는 내껀지 아닌지 잽싸게 판단하고 자기것이면 처리를 하고 자기것이 아니면 그냥 넘기는 형태입니다. 따라서 남의것을 자기것으로 판단한다든지 자기것인지를 모르고 있든지 하면 문제가 될수도 있지만.. 아마도 지금은 거의 보기 힘들겠죠. 요새도 이런 일이 일어나는지 개인적으로 궁금하네요.
좀더 자세한 설명이 필요하시면 이 문서를 보시면 좋을듯 합니다. 안에 읽어볼만한 서적 추천도 함께 되어 있네요.
http://unix.stackexchange.com/questions/47306/how-does-the-linux-kernel-handle-shared-irqs
--
댓글 달기