kernel module로 타이머를 직접 구현해서
insmod해두고,
응용프로그램에서 timer가 특정 시간이 될 때마다 interrupt를 받고 싶습니다.
kernel module까지는 작성하였는데, 응용프로그램에서 어떻게 정보를 받아와야할지 모르겠습니다.
연결고리를 찾지못하겠습니다..
어떤 부분을 살펴보면 알 수 있을까요?
우선 다음 내용을 참고하시면 좋을것 같네요.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() 인터페이스를 추가해야 하구요.
정확히 제가 필요한 정보였습니다! 감사합니다!
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
kernel에서 user space로 event를 보내는 것은
우선 다음 내용을 참고하시면 좋을것 같네요.
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() 인터페이스를 추가해야 하구요.
답변 대단히 감사합니다!!
정확히 제가 필요한 정보였습니다! 감사합니다!
댓글 달기