Ich habe eine Frage, wenn ich die Adresse im Kernel gefunden. Ich lege ein Hallo-Modul im Kernel, die in diesem Modul, ich habe diese Dinge:Die Adresse in Kernel
char mystring[]="this is my address";
printk("<1>The address of mystring is %p",virt_to_phys(mystring));
Ich glaube, ich kann die physikalische Adresse des mystring zu bekommen, aber was ich gefunden, in syslog, die gedruckte Adresse ist 0x38dd0000. Allerdings habe ich die Erinnerung verloren und festgestellt, dass die tatsächliche Adresse dcd2a000 ist, die ganz anders als die vorherige ist. Wie erklärt man das? Ich habe etwas falsch gemacht? Danke
PS: Ich benutzte ein Werkzeug, um den ganzen Speicher, physische Adressen zu entleeren.
Wenn Sie „die Erinnerung abgeschoben“, Sie nicht dort virtuelle Adressen bekommen? –
Der Speicher, den ich entleerte, ist die physikalische Adresse, ich habe ein Werkzeug verwendet – Alex
Was ist die Hardware-Plattform? – shodanex