[질문] 인터럽트 처리 루틴에서 어플리케이션 호출
글쓴이: 익명 사용자 / 작성시간: 금, 2002/04/26 - 5:47오후
보드에 버튼을 하나 달고 버튼을 누르면 인터럽트 처리 루틴 함수로 들어
가도록 프로그램을 짰습니다. 그런데 인터럽트 처리 루틴에서 상위 영역
의 어플리케이션 프로그램을 불러다 쓰고 싶은데 잘 안되는군요. execve같
은 함수를 써서 해봤는데 계속 에러만 나고.. 혹시 어떻게 하는지 아시는
분 있나요? 책을 여러권 찾아봤는데 인터럽트 처리 부분에서 제가 알고자
하는 부분에 대한 언급은 없군요. 혹시 아시는 분 답변 부탁드립니다. 리
눅스를 접한지 얼마 안돼서 어려움이 많습니다.
Forums:
Re: [질문] 인터럽트 처리 루틴에서 어플리케이션 호출
인터럽트 핸들러에서 exec()을 하신다구요?
Linux Device Drivers라는 책의 p.189
아래에서 두번째 단락 3번 라인에 이런 내용이 있네요.
A handler can't transfer data to or from user space,
because it doesn't execute in the context of a process.
아무래도 안되겠죠?
저라면 이런 식의 구성을 할 것 같습니다.
user-level의 프로세스를 하나 더 두고
인터럽트 핸들러와 서로 통신을 하는 겁니다.
그래서 fork(), exec()을 그 user-level의 프로세스가 수행하게 하면
무난할 듯 한데요...
통신 방법이야 file_operations 중에 마음에 드시는 걸로
하나 선택하시면 될테고...
댓글 달기