커널 모듈 함수 호출

커널 모듈 함수 호출

초기화 및 종료 기능이 포함된 커널 모듈을 작성했습니다. 나는 또한 함수를 원하고 언제든지 사용자 공간 프로세스에서 호출하고 싶습니다.

적용되나요? 그렇다면 어떻게 해야 할까요?

저는 CentOS 5.2와 Linux 2.6.18에서 패치된 사용자 정의 커널을 작업하고 있습니다.

편집: 명확히 하기 위해 커널 모듈에 함수를 작성하고 일반 source.c 파일에서 해당 함수를 호출하고 싶습니다.

답변1

파일 시스템을 사용할 수 있는 커널 모듈을 만드는 것이 /proc효과가 있을 것 같습니다.IBMdeveloperWorks에 기사가 있습니다.그 주제에. 나는 몇 년 전에 이 코드를 작성했고 작동했습니다. 이 기사는 2006년에 작성되었으며 Linux 2.6 커널에 대한 것으로 보입니다.

/proc모듈이 해당 작업을 수행하도록 파일 시스템에서 "파일"을 사용할 때 열기/읽기/닫기 스타일 API가 원하는 작업과 일치하지 않을 수 있다고 예상할 수 있습니다 . /proc"WBINVD 수행" 또는 유사하게 명확하지 않은 것을 의미하기 위해 파일에서 open()을 사용해야 할 수도 있습니다 .

답변2

가장 간단한 방법은 문자 장치를 갖고 해당 장치에 쓴 다음 드라이버의 읽기를 호출하고 커널에 있는 문자 장치의 읽기 콜백에서 이를 처리하는 것입니다.

관련 정보