There are reserved areas of memory, not offered to the OS.
I learned a bit about this, some time back, by looking at the source
code from memtest86+ (memtest.org). Try "memsize.c" file for example.
And that leads me to this as a quick reference on the topic.
http://en.wikipedia.org/wiki/E820
x86-based computer systems reports the memory map to the operating
system or boot loader."
it is possible 1MB of memory is reserved for the BIOS. So if you install
1024MB, you get to use 1023MB. And if the motherboard has integrated video,
sometimes the frame buffer allocation is stolen permanently as well, and
then you get even less of your remaining 1023MB. (Some integrated graphics,
have a stolen allocation and a dynamic allocation, and the dynamic allocation
is drawn from system memory while gaming.)
The BIOS does not have to be completely dead, while Windows is running.
SMM delivers an interrupt of a high enough level, that Windows cannot stop it.
It allows SMM to run, say, 30 times a second, stealing time slices from
the OS. It has been used on motherboards, to control the VCore regulator,
and adjust the number of running phases. That sort of kooky stuff.
And at one time, the SMI signal on a motherboard connector (which I think
is also related to SMM mode), allowed things like Asus iPanel to interrupt
the computer and access BIOS code, to support the iPanel display.
http://en.wikipedia.org/wiki/System_Management_Mode
(The "1800" on the iPanel display in this example, is being updated
by BIOS code, via SMI interrupts, rather than the OS. No Windows driver.)
http://ed.toton.org/reviews/asus-ipanel/ipanel3.jpg
You can detect excessively long runtimes in SMM mode, by using the
DPC Latency checker program. Some spikes in DPC Latency are unavoidable
(like when the video card switches into 3D mode as a game starts). But
on occasion, excessive SMM runtime needs to be corrected via a BIOS
update. Gigabyte has designed a few motherboards, where a BIOS update
was needed to fix issues with SMM usage. (People who use their computers
for audio/video recording purposes, may be checking for this kind of
transparent BIOS interference.)
So there are some things "under the hood", that are not part of the OS
as such. And they may need resources.
An Intel datasheet, for one of their chipsets, may have a memory map
in it, with more details about what some of the areas are used for.
You'd be surprised how many things of purely historic interest,
affect your modern computer. A question I do not have an answer for,
is to what extent EFI or UEFI BIOS designs, part ways with that history.
Maybe they still support all the crap buried down there...
Paul