| [ KAIST ] in KIDS 글 쓴 이(By): guest (Sixteen) <211.41.41.246> 날 짜 (Date): 2001년 8월 3일 금요일 오전 12시 45분 51초 제 목(Title): [q] NT 인터럽트 처리 안녕하세요. NT 컴퓨터에서 돌아가는 보드를 만들었는데, 보드가 데이터를 처리했다가나 에러가 났다는 것을 호스트 컴에 알리고자 할 때, 인터럽트를 사용하고자 합니다. 이런 기능을 수행하는 application과 device driver 구조를 어떻게 하면 좋을까요? 일단, kernel mode든지, user mode든지 인터럽트가 들어왔는지를 감시하는 thread가 하나는 돌고 있어야 될 거 같은데요. 이게 user mode에서 돌아가는 게 좋은 지, 아니면, kernel mode에서 돌아가는 게 좋은 지, 아니면, 각각의 thread를 동시에 돌리는 게 좋은 지요? 제가 고민 끝에 생각한 방식은 interrupt flag을 global로 설정해서, ISR에서 flag을 setting하게 하고, application쪽에 thread를 low priority로 하나 돌리면서 저 flag을 check하는 api function을 call하는 건데... Event driven driver라는 관점에서는 solution이 아닌 거 같기도 하구요. 그럼, 조언 부탁드립니다. |