Sono interessato al modo in cui i file mmaps di Linux sono nella memoria principale (nel mio contesto è per l'esecuzione, ma immagino che il processo mmap sia lo stesso anche per la scrittura e la lettura) e quale dimensione utilizza.
Quindi so che Linux usa il paging con pagine di solito di 4kB (dove nel kernel posso trovare questa dimensione?). Ma cosa significa esattamente questo per la memoria allocata: supponiamo di avere un binario di dimensioni di pochi millesimi byte, diciamo solo 5812B e lo esegui. Cosa succede nel kernel: alloca 2 * 4kB e quindi copia il 5812B in questo spazio, sprecando> 3KB di memoria principale nella seconda pagina?
Sarebbe bello se qualcuno conoscesse il file nel sorgente del kernel in cui è definito il formato della pagina.
Anche la mia seconda domanda è molto semplice, immagino: ho assunto 5812B come dimensione del file. È giusto che questa dimensione sia semplicemente presa dall'inode?