Ich interessiere mich für die Art und Weise, wie Linux-MMAP-Dateien in den Hauptspeicher (in meinem Kontext zum Ausführen, aber ich denke, der MMAP-Prozess ist auch beim Schreiben und Lesen derselbe) und welche Größe er verwendet.
Ich weiß also, dass Linux Paging mit einer Seitengröße von normalerweise 4 KB verwendet (wo im Kernel kann ich diese Größe finden?). Aber was genau bedeutet das für den zugewiesenen Speicher: Angenommen, Sie haben eine Binärdatei mit einer Größe von einigen tausend Bytes, sagen wir einfach 5812B, und Sie führen sie aus. Was passiert im Kernel: Weist er 2 * 4 KB zu und kopiert dann den 5812B in diesen Speicherplatz, wodurch> 3 KB Hauptspeicher auf der 2. Seite verschwendet werden?
Es wäre großartig, wenn jemand die Datei in der Kernelquelle kennen würde, in der die Seitengröße definiert ist.
Meine zweite Frage ist auch sehr einfach, denke ich: Ich habe 5812B als Dateigröße angenommen. Ist es richtig, dass diese Größe einfach der Inode entnommen wird?