DMA Copy ?
Verfasst: 20.10.2007 22:59
Hallo,
Ich habe schon lang nicht mer mit der Windows API gearbeitet. Aber nichts desto trotz benötige ich einige hilfestellung für folgendes Problem.
Ich suche einen Weg wie ich Daten Blöcke mit hilfe der API von einem Virtuellen Adressraum zum anderen kopiren kann.
Der sinn dahinter ist. Das 2 Processe untereinander Daten austausch. Das ist in einem Multi Core / Multi Process System durch die Virtuelle Speicherverwaltung mit den standart API Funktionen nicht möglich.
Ich stelle mir vor das die Funktion so aussehen müste.
DMACopy(ProcessID1,Adresse,Länge,ProcessID2,Adresse)
Ich habe aber etwas vergleichbares bisher nicht gefunden. Im Moment mache ich das Kopiren über UDP. Das ist aber eigentlich zu langsam. Ausserdem sind die Möglichkeiten beschrängt.
Das Clipboard habe ich auch schon bemüht, sowie eine RamDisk. Aber das hilft alles nicht wirklich. Ich brauche erheblich mer Pervormance.
Fileicht gibt es ja Funktionen die einen solchen Datentransfher ermöglichen.
Danke TFT
Ich habe schon lang nicht mer mit der Windows API gearbeitet. Aber nichts desto trotz benötige ich einige hilfestellung für folgendes Problem.
Ich suche einen Weg wie ich Daten Blöcke mit hilfe der API von einem Virtuellen Adressraum zum anderen kopiren kann.
Der sinn dahinter ist. Das 2 Processe untereinander Daten austausch. Das ist in einem Multi Core / Multi Process System durch die Virtuelle Speicherverwaltung mit den standart API Funktionen nicht möglich.
Ich stelle mir vor das die Funktion so aussehen müste.
DMACopy(ProcessID1,Adresse,Länge,ProcessID2,Adresse)
Ich habe aber etwas vergleichbares bisher nicht gefunden. Im Moment mache ich das Kopiren über UDP. Das ist aber eigentlich zu langsam. Ausserdem sind die Möglichkeiten beschrängt.
Das Clipboard habe ich auch schon bemüht, sowie eine RamDisk. Aber das hilft alles nicht wirklich. Ich brauche erheblich mer Pervormance.
Fileicht gibt es ja Funktionen die einen solchen Datentransfher ermöglichen.
Danke TFT