Qual è lo spazio di indirizzamento del kernel per Linux a 64 bit, ovvero, qual è l'intervallo di indirizzi del codice, stack, heap e segmenti di dati utilizzati da esso.Quale spazio indirizzo è occupato dal kernel in Linux a 64 bit?
risposta
Su un Linux a 64 bit, tutti gli indirizzi a 64 bit con il bit di ordine più alto impostato su 1 sono riservati per il kernel. In altre parole, la metà superiore dello spazio degli indirizzi virtuali.
Per tutti i dettagli si veda http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details
Intendi metà per 48 bit o 64 bit? Proviene da 0xffffffff80000000 a 0xffffffffffffffff? – MetallicPriest
@MetallicPriest leggi ancora la mia prima frase per favore. –
@ArneVogel Questo è quello che dice la pagina di wikipedia che ho citato, giusto? –
PAGE_OFFSET
e ULLONG_MAX
sono costanti con valori che sono uguali agli indirizzi di inizio e fine della memoria del kernel. Puoi usarli direttamente nel modulo C del tuo kernel:
#define START_MEM PAGE_OFFSET
#define END_MEM ULLONG_MAX
- 1. Come dividere due numeri a 64 bit nel kernel Linux?
- 2. Come verificare il kernel 32-bit/64-bit per Linux
- 3. Come accedere alla memoria dello spazio utente dal kernel Linux?
- 4. In che modo Linux è simultaneamente a 32 bit ea 64 bit? O è qualcosa gestito da glibc?
- 5. Rappresenta un numero intero a 64 bit in GNU/Linux
- 6. App Java a 64 bit: è richiesto un sistema operativo a 64 bit, JRE a 64 bit e applicazione a 64 bit?
- 7. In quale contesto Kernel Thread viene eseguito in Linux?
- 8. Dal kernel allo spazio utente (DMA)
- 9. Shutdown (incorporato) linux dallo spazio del kernel
- 10. Esecuzione di codice assembly a 32 bit su un processore Linux a 64 bit e 64 bit: Spiegazione dell'anomalia
- 11. Ottenere inode dal percorso in Linux Kernel
- 12. QtCreator su linux: 32 bit contro 64 bit
- 13. Qual è l'intervallo di descrittori di file su Linux a 64 bit?
- 14. Barriere di memoria nello spazio utente? (Linux, x86-64)
- 15. SQL Server 2012 a 32 bit o 64 bit su computer a 64 bit?
- 16. Il bluecove funziona con Linux a 64 bit?
- 17. C'è un modo per ottenere 64-bit time_t in programma a 32 bit in Linux
- 18. Python è ctypes.c_long a 64 bit su sistemi a 64 bit?
- 19. Applicazione a 32 o 64 bit su sistema operativo a 64 bit?
- 20. È sempre 64 bit in entrambe le macchine a 32 e 64 bit
- 21. Build 32-bit con llvm-gcc a 64 bit
- 22. Sto sviluppando un'applicazione a 64 bit. È possibile eseguire l'applicazione a 64 bit su un sistema operativo a 32 bit?
- 23. Quale contesto viene chiamata una funzione in Linux Kernel
- 24. In che modo copy_from_user dal kernel Linux funziona internamente?
- 25. L'invio di pacchetti UDP dal Linux Kernel
- 26. Come risolvere l'errore "spazio indirizzo è già occupato" su fetch/commit?
- 27. Impossibile eseguire app a 32 bit su Linux a 64 bit
- 28. Come eseguire una JVM a 32 bit su un sistema Linux a 64 bit?
- 29. Esegui JVM a 64 bit dal codice C
- 30. Come mmap un buffer del kernel Linux nello spazio utente?
Una cosa carina di Linux è che puoi effettivamente scaricare la fonte e guardarla attraverso. Gli script del linker potrebbero essere un buon punto di partenza. –