Die Adresse im Kernel

Ich habe eine Frage, wann ich die Adresse im Kernel gefunden habe. Ich füge ein Hallo-Modul in den Kernel ein, in dieses Modul habe ich folgende Dinge eingefügt:

char mystring[]="this is my address";
printk("<1>The address of mystring is %p",virt_to_phys(mystring));

Ich glaube, ich kann die physische Adresse von mystring abrufen, aber ich habe festgestellt, dass im Syslog die gedruckte Adresse 0x38dd0000 lautet. Allerdings habe ich den Speicher gelöscht und festgestellt, dass die tatsächliche Adresse dcd2a000 ist, was sich von der vorherigen sehr unterscheidet. Wie ist das zu erklären? Ich habe etwas falsch gemacht? Vielen Dank

PS: Ich habe ein Tool verwendet, um den gesamten Speicher zu sichern, physikalische Adressen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage