Quando il sistema operativo viene caricato nel momento in cui viene avviato il computer, come fa il sistema operativo a conoscere le informazioni sull'hardware, c'è qualche istruzione io o il programma booter ottenere informazioni dal bios?come fa il sistema operativo a conoscere la dimensione reale della memoria fisica?
6
A
risposta
9
Il firmware della scheda madre (chiamato anche BIOS, interfaccia ACPI o EFI) consente al sistema operativo di rilevare la mappatura fisica della RAM e della ROM nel sistema.
Ad esempio, questo è l'uscita di un Linux boot:
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 0000000000098c00 (usable)
[ 0.000000] BIOS-e820: 0000000000098c00 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 00000000bfea0000 (usable)
[ 0.000000] BIOS-e820: 00000000bfeae000 - 00000000bfeb0000 type 9
[ 0.000000] BIOS-e820: 00000000bfeb0000 - 00000000bfec0000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000bfec0000 - 00000000bfef0000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000bfef0000 - 00000000c0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000ffc00000 - 0000000100000000 (reserved)
[ 0.000000] BIOS-e820: 0000000100000000 - 0000000c40000000 (usable)
3
5
Un sistema operativo che si avvia da un sistema basato su BIOS interroga la funzione Query System Address Map utilizzando INT 0x15, AX = 0xE820.
Un SO basato su UEFI in genere ottiene la mappa della memoria fisica utilizzando l'interfaccia GetMemoryMap().
Problemi correlati
- 1. Come ottenere la dimensione della memoria di sistema disponibile?
- 2. Come trovare la dimensione della memoria virtuale e la dimensione della cache di un sistema Linux?
- 3. AngularJS - Come fa il sistema DI a conoscere il nome degli argomenti?
- 4. Come si ottiene la dimensione totale della memoria fisica utilizzando PowerShell senza WMI?
- 5. Come determinare il sistema operativo
- 6. Come calcolare l'utilizzo della memoria come fa Task Manager?
- 7. programmazione a basso livello: come fa il sistema operativo a iniziare un nuovo thread/processo?
- 8. Come conoscere la dimensione della stringa in byte?
- 9. Come conoscere l'utilizzo della memoria in C++
- 10. VmSize = memoria fisica + scambio?
- 11. In Perl, come posso rilasciare memoria nel sistema operativo?
- 12. tempo reale 2D di rendering per la memoria di sistema
- 13. Test del sistema operativo in tempo reale per durezza
- 14. come fa php compositore a conoscere la versione php?
- 15. Leggere la memoria fisica in Windows 8
- 16. Come fa il sistema operativo a sapere quale interfaccia di rete utilizzare per Internet?
- 17. Come rilevare il sistema operativo in esecuzione?
- 18. Impossibile determinare il sistema operativo
- 19. Come faccio a rilevare il sistema operativo dell'utente
- 20. Consumo di memoria Python su Linux: la memoria fisica e virtuale crescono mentre la dimensione dell'heap rimane la stessa
- 21. Come ottenere la dimensione della memoria della variabile?
- 22. Come rilevare il sistema operativo corrente Gradle
- 23. Come ottenere la dimensione fisica corretta del monitor?
- 24. Diff. tra Memoria logica e Memoria fisica
- 25. Come conoscere la dimensione di una variabile in MATLAB
- 26. Limitare la memoria fisica per processo
- 27. jQuery - rilevamento del sistema operativo e del sistema operativo versione
- 28. Rilascia la memoria java per il sistema operativo in fase di runtime.
- 29. Qual è la dimensione della mia memoria texture CUDA?
- 30. malloc in un sistema incorporato senza sistema operativo