Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#2

Re: virtuelle adressen in physikalische adressen umwandeln

  Alt 11. Jun 2005, 21:26
Also ich weiß ja nicht von welchem Zielbetriebssystem wir hier reden, aber der korrekte Weg führt in jedem Fall über einen Treiber. Wobei es verschiedene I/O-Formen (unbuffered, etc) gibt. Der Treiber kümmert sich dann normalerweise um den Rest (z.B. korrekte Adressierung). Übrigens, entgegen allgemeiner Befürchtungen, wird die Performance von dem extra Layer (Treiber) nicht beeinträchtigt - oder zumindest nur sehr unwesentlich.

Kannst du ein wenig mehr Informationen geben?!

Achso, Nachtrag:
An die physikalische Adresse kommst du normalerweise nur mit dem Zugriff, den ein Treiber dir bietet (in NT ist das sehr strikt getrennt). Der Treiber wiederum sollte es dir ermöglichen eine virtuelle Adresse innerhalb deines Prozesses zu erhalten, die "auf den physischen Teil" zeigt. Das funktioniert mit MmMapIoSpace(). Schau dir dazu am besten das DDK mal an. Das gibt es IMO auch online bei MSDN.
  Mit Zitat antworten Zitat