Detecting Memory (x86): Difference between revisions

→‎Manual Probing: Further explanation about what are "unpredictable results" and "damage your system permanently".
[unchecked revision][unchecked revision]
(→‎Theoretical introduction: Additional info and a explanation of how the computer can be damaged.)
(→‎Manual Probing: Further explanation about what are "unpredictable results" and "damage your system permanently".)
Line 253:
 
==== Manual Probing ====
{{Warning|This could possibly damage your computer. Use BIOS to get a memory map, or use [[GRUB]] (which calls BIOS for you).}}
Use BIOS to get a memory map, or use [[GRUB]] (which calls BIOS for you). Memory probing can have results that are '''unpredictable by nature''' because memory probing is unsupported by vendors.
 
===== Theoretical introduction =====
Line 262 ⟶ 263:
When perfectly implemented, directly probing memory may allow you to detect extended memory on systems where the BIOS fails to provide the appropriate support. However, the algorithm will always need to take into account potential holes in system memory or previously detected memory mapped devices, such as frame buffering SVGA cards, etc. Maybe you will want to probe just a specific range of memory that is known to be otherwise undetectable on a specific computer model.
 
However, the BIOS is part of the computer, and may know things (see [[#Practical obstacles to memory probing]]) you ignore about your memory, motherboard and PCI devices. Probing memory-mapped PCI devices may have '''unpredictable results'''. The results are unpredictable by nature because memory probing is unsupported by vendors. The most likely result is crashing you computer, but mayyou can theoreticallyeven '''damage your system permanently''', such as clearing firmware chips or setting unsafe device operation parameters. Just remember the [https://en.wikipedia.org/wiki/CIH_(computer_virus) Chernobyl] computer virus.
 
Note: You will never get an error from trying to read/write memory that does not exist -- this is important to understand: you will not get valid results, but you won't get an error, either.
Anonymous user