커널 내부에서 시스템콜을 호출해서 사용할수 있는 방법이 있나
글쓴이: hanseok / 작성시간: 토, 2004/07/10 - 9:57오전
네트웍부분에 대해서 전담하는 커널 스레드를 하나 생성했습니다.
커널스레드에서 네트웍으로 UDP 방식으로 데이터를 내보낼려고 합니다.
일단 현재
socket 시스템콜에 있는 sendto를 복사해서 인자값을 바꾸어서 커널내부 함수로 만들어서 사용하고 있습니다.
이것을 하기 위해서 여러번의 작업이 필요해서 이것을 해결하는 방법을 찾고 있습니다. (실행은 되지만 논리적으로도 많이 꼬이고 있습니다.)
사용자(데이타) --> 커널(버퍼공간복사)(copy_from_user) --> 사용자공간(copy_to_user)--> sentto복사한 펑션에 인자값으로넘겨줌..
sentto 에는 user 영역의 메모리에서 데이터를 가져오도록 되어 있어서 또한번 사용자 공간으로 복사해서 전송하는 형식이 되었습니다.
Copy_to_user 및 copy_from_user를 사용중에 오류가 많이 발생하여서
get_fs, set_fs를 사용하여 현재는 작동은 되고 있습니다.
====== 제가 적고도 정리가 안되었다고 느끼고 있습니다 ====
어리버리 질문에
정답을 바라면서
Forums:
댓글 달기