우리는 아직 프로젝트의 설계 단계에 있지만 임베디드 리눅스 커널에 대해 세 가지 별도의 프로세스가 필요하다고 생각하고 있습니다. 프로세스 중 하나는 다양한 매체를 통해 장치와의 모든 통신을 처리하는 통신 모듈입니다.사용할 Linux IPC 기술은 무엇입니까?
다른 두 프로세스는 통신 프로세스를 통해 메시지를 보내고받을 수 있어야합니다. Linux가 제공하는 IPC 기술을 평가하려고합니다. 다른 프로세스가 전송할 메시지는 ~ 5Mbit 속도로 디버그 로그에서 스트리밍 미디어까지 크기가 다양합니다. 또한 미디어가 동시에 스트리밍되고 스트리밍 될 수 있습니다.
이 응용 프로그램에 어떤 IPC 기법을 제안하겠습니까? http://en.wikipedia.org/wiki/Inter-process_communication
프로세서가 변경되면 약 400-500MHz가 실행됩니다. 크로스 플랫폼 일 필요는 없습니다. 리눅스 만 괜찮습니다. C 또는 C++ 로의 구현이 필요합니다.
리눅스 커널은 다음과 같은 IPC 메커니즘을 제공합니다 , POSIX 세마포어, 퓨 텍스 잠금 장치, 파일 백업 및 익명 공유 메모리 사용의 mmap, UNIX 도메인 소켓, NETLINK 소켓, 네트워크 소켓, inotify를 메커니즘 s, 퓨즈 서브 시스템, D-Bus 서브 시스템. 대부분의 나의 필요를 위해 나는 소켓을 사용한다. – enthusiasticgeek
@enthusiasticgeek D-Bus는 사용자 공간에서 전적으로 수행됩니다. 일부 커널 녀석은 [kdbus] (https://github.com/gregkh/kdbus)에서 작업하고 있지만 여전히 진행중입니다. – new123456
arm926ejs 200MHz 프로세서에서 두 개의 uint32 인수를 사용하는 메서드 호출과 응답은 0에서 15ms 사이의 어느 곳에서든지 소모합니다. 평균 6 ms. 다른 사람들이 다른 프로세서에서 어떻게 볼 수 있습니까? – minghua