Hab ein Problem mit dem Speicherzugriff. Ich möchte ein Program in C++ schreiben, das mir den kompletten Zugang zum Ram ermöglich. Ich kenne mich noch nicht so mit C auf Linux aus, daher meine Frage: Wie greife ich auf Speicher zu den ich über Segment und Offset nicht addressieren kann (über 1MB)? Und gibt es in Linux auch einen Protect Mode?
Vielen Dank
Andi
Speicherzugriff
Re: Speicherzugriff
Was möchtest Du konkret machen ?
In C++ gibt es den Opertaor new für jedes Objekt.
Damit wird der entsprechende Bereich im RAM addressiert.
Protected Mode, Segment,Offset
Das gibts im LINUX erst gar nicht so weit ich weis.
Es wird über das Flat-Memory-Model adressiert.
Es gibt also keine Segemente (Das war nur ein Murks für 16-Bit Adressierung, da diese sonst nur 65536 Bytes ansprechen könnte).
D. h. dass ein Zeiger ist einfach ein 32-Bit-Offset.
Gruss
Sulu
In C++ gibt es den Opertaor new für jedes Objekt.
Damit wird der entsprechende Bereich im RAM addressiert.
Protected Mode, Segment,Offset
Das gibts im LINUX erst gar nicht so weit ich weis.
Es wird über das Flat-Memory-Model adressiert.
Es gibt also keine Segemente (Das war nur ein Murks für 16-Bit Adressierung, da diese sonst nur 65536 Bytes ansprechen könnte).
D. h. dass ein Zeiger ist einfach ein 32-Bit-Offset.
Gruss
Sulu
Re: Speicherzugriff
Was willst du konkret machen? Ich seh im moment nicht gerade den Sinn dahinter irgendwelchen Speicher auszulesen, der nicht zum aktuellen Prozess gehört.
Re: Speicherzugriff
du kannst nicht auf berecihe ausserhalb des prozesses zigriefen, jedenfalls mit normalen rechten. linux ist nunmal ein multi-user, multi-tasking-system, da wäre sowas gefährlich.
der speicher wird unter linux einfach linear adressiert, ohne segmente und son quatsch
der speicher wird unter linux einfach linear adressiert, ohne segmente und son quatsch