사용자 공간과 커널 공간 간의 통신——AF_netlink + AF_Unix

사용자 공간과 커널 공간 간의 통신——AF_netlink + AF_Unix

저는 IPC를 처음 접했고 커널과 사용자 공간 프로세스 사이에 공통 버퍼를 구현하려고 합니다. 내 디자인은 다음과 같습니다.

내 클라이언트 소켓이 연결을 기다리는 사용자 공간 데몬(버퍼 포함)에 연결을 시도하는 라이브러리(사용자 공간)를 갖게 됩니다. 버퍼에 액세스하려는 프로세스는 라이브러리와 연결하고 메시지를 소켓에 게시해야 합니다. 따라서 메시지가 버퍼에 게시됩니다. 이는 사용자 공간 전용 프로세스에 대해 구현하기가 매우 쉽습니다.

소켓(AF_UNIX, SOCK_STREAM, 0);

하지만 내 질문은 커널 공간에서 동일한 라이브러리를 사용하여 사용자 공간 데몬(버퍼 포함)과 통신하는 방법입니다. 우리가 알고 있듯이 다음 API는 netlink 소켓의 사용자 공간에서 사용됩니다.

소켓(PF_NETLINK, SOCK_RAW, NETLINK_TEST);

커널과 사용자 공간 프로세스 모두가 라이브러리를 사용할 수 있도록 동일한 라이브러리에서 두 가지를 결합할 수 있는 방법이 있습니까?

관련 정보