Neu in der Linux-Programmierung im Allgemeinen.
Ich versuche, mit einem Kernelmodul über Shared Memory zu kommunizieren, kann aber die in Benutzeranwendungen verwendeten Funktionen wie shmget() nicht aufrufen; Ich habe kernel-headers und kernel-devel installiert, und habe , in den Kernelmodul-Quellcode aufgenommen, aber die Header enthalten keine Funktionen.
Gibt es eine Standardmethode für die Verwendung von gemeinsamem Speicher im Kernel?
Auch Tipps zur Verwendung von Steckdosen in der gleichen Situation sind sehr hilfreich.
Verwendung von Distro: CentOS 5.2 Kernel: 2.6.18-92.1.22.e15
Vielen Dank im Voraus.
//Addiert// Um das klarzustellen, ich versuche, eine Demo zu erstellen, die die üblichen Merkmale eines typischen Embedded Linux-Projekts hat. Das endgültige Ziel ist es, es auf LynxOS zu portieren, um zu sehen, welche Art von Problemen auftreten können Probleme auftreten können, wenn man dies bei größeren Projekten tut.
Die wichtigsten Merkmale der Demo sind derzeit Multiprozess, Pipes, Message-Ques, Shared-Memory, Sockets, Multithreads.
Es besteht aus einer Benutzeranwendung und einem ladbaren Kernelmodul, die miteinander kommunizieren. Pipes und Nachrichten zwischen zwei Prozessen innerhalb der Benutzeranwendung sowie Shared-Memory und Sockets zwischen der Benutzeranwendung und dem Kernelmodul.
Wenn ich etwas nicht richtig mache, sagen Sie es mir bitte.