Art der Datenübergabe zwischen Userprog und Kernelmodul.
Von: Martin Freiberg (lyki_@web.de) [Profil]
Datum: 02.10.2009 00:13
Message-ID: <ha399u$t0v$02$1@news.t-online.com>
Newsgroup: de.comp.os.unix.programming
Datum: 02.10.2009 00:13
Message-ID: <ha399u$t0v$02$1@news.t-online.com>
Newsgroup: de.comp.os.unix.programming
Hi, Ich bin gerade dabei für eine Bastelei (Zur eigenen Übung) ein Kernelmodul zu stricken. Dabei stellt sich mir die Frage der Datenübergabe zwischen Modul und Userland Programm. Im Modul habe ich einen struct den es mit Daten zu füllen gilt, und einen weiteren struct von dem ich Daten lesen will. Auf welchem Weg verwirklicht man hier den Datenaustausch? Shared memory, ioctl Schnittstelle, oder gar einen Blocktreiber? Wenn der Datenaustausch schnell gehen soll, ist in dem Fall shared memory vernünftig, oder ist ein anderer Weg vorzuziehen? Und was empfiehlt sich, wenn ich innerhalb des struct nur ein einzelnes Element schreiben will? Im Userland eine Kopie halten, dort das Element ändern und dann die Daten des struct auf einen rutsch übertragen? Oder eine ioctl Routine erstellen die das erledigt? Oder über shared memory, und dort den struct ablegen? Gruß Martin[ Auf dieses Posting antworten ]
Antworten
- stdUser (06.10.2009 10:53)
- Rainer Weikusat (09.10.2009 14:19)
- Rainer Weikusat (11.10.2009 19:37)
- Freiberg Martin (13.10.2009 20:29)
- Rainer Weikusat (13.10.2009 21:39)
- Freiberg Martin (22.10.2009 19:40)
- Rainer Weikusat (23.10.2009 13:22)
- Freiberg Martin (24.10.2009 14:24)
