Linux 커널의 모듈 로딩(언로딩) 프로세스

Linux 커널의 모듈 로딩(언로딩) 프로세스

modprobe이와 같은 사용자 공간 프로그램이 어떻게 사용자 공간의 실행 파일을 커널 메모리에 주입하는지 알고 싶습니다 .
어떤 시스템 호출을 발행하며 이를 달성하기 위해 커널은 어떤 인터페이스를 제공합니까? (자세히 설명해주세요).

감사해요.

답변1

다음 방법 중 하나를 사용하여 모듈을 로드합니다.init_module또는finit_module. 첫 번째는 포인터에서 모듈을 복사하고, 두 번째는 파일 설명자에서 모듈을 읽습니다. 둘 다 모듈에 대한 추가 매개변수 전달과 커널의 여러 플래그를 지원합니다.

모듈을 제거하려면 다음을 사용하십시오.delete_module, 제거할 모듈의 이름을 사용합니다.

이를 수행하는 코드를 작성하려면 libkmod;kmod모든 배포판에서 사용 가능합니다.

관련 정보