직접 만든 타이머로 실행중인 응용 프로그램에 인터럽트를 보내고 싶습니다.

ItTickles의 이미지

kernel module로 타이머를 직접 구현해서

insmod해두고,

응용프로그램에서 timer가 특정 시간이 될 때마다 interrupt를 받고 싶습니다.

kernel module까지는 작성하였는데, 응용프로그램에서 어떻게 정보를 받아와야할지 모르겠습니다.

연결고리를 찾지못하겠습니다..

어떤 부분을 살펴보면 알 수 있을까요?

hwatk의 이미지

우선 다음 내용을 참고하시면 좋을것 같네요.
http://www.xml.com/ldd/chapter/book/ch05.html

커널에서 signal을 보내는 방법과 poll(), select()을 사용하도록 하는 방법이 있습니다.

다음 link에서 단순히 SIGALRM을 보내는 방법을 예제로 들고 있는데 이를 이용하면 될 것 같구요.
http://kerneltrap.org/node/5800

만약, (multi-threaded 환경 때문에 signal 사용이 용이하지 않으면) poll(), select() 등으로 할 수 있습니다.
그러면 LDD 문서에 poll() 인터페이스를 추가해야 하구요.

ItTickles의 이미지

정확히 제가 필요한 정보였습니다! 감사합니다!