All about the Virtual Memory | Cerca per titolo, autore, parola chiave | ||||||||
All about the Virtual Memory di Sravanthi Sinha, 2017. La memoria virtuale è un mappatore di indirizzi. Fondamentalmente, mappa lo spazio virtuale degli indirizzi allo spazio fisico degli indirizzi (sia in RAM, sia in una periferica hardware). Quando viene creato un processo, il kernel mette a disposizione un'area di memoria che può essere allocata ovunque, utilizzando la VM (Virtual memory). Il processo crede di avere a disposizione tutta la memoria presente nel computer. Considerate il programma che segue, che non fa altro che restituire 0: #include <stdio.h> /** * main - Entry point of the program * * Return: 0 every time. */ int main(void) { return (0); } ## GCC compilatore $gcc -Wall -Wextra -Werror main.c -c $gcc -o main main.o Usiamo il comando size sull'object file: $size -A main.o main.o : section size addr .text 11 0 .data 0 0 .bss 0 0 .comment 44 0 .note.GNU-stack 0 0 .eh_frame 56 0 Total 111 Un file object o un file eseguibile in Linux è composto da vari sezioni, come txt e data. Il comando size restituisce le dimensioni (in byte) di queste sezioni. Nel nostro esempio, se eseguiamo size sul file eseguibile, dobbiamo ricordare che esso contiene il nostro codice più il contenuto del file stdio.h, che viene preprocessato e poi aggiunto al file dal linker.
|
|||||||||
All about the Virtual Memory | Disclaimer: questo è un link a contenuti ospitati su server esterni. |