This is wrong:
"Once you factor in device addressing, the magic number actually drops below 4 GB. That’s why it’s common for 32-bit systems with 4 GB to report 3 GB plus change in the Windows Device Manager. It’s not a Windows problem, though. Rather, that’s just how x86 architecture works."
It is a Windows "problem" when you are running Windows on a motherboard with a chipset that doesn't support mapping I/O high. I wouldn't call it a "problem" though, it's a decision Microsoft made with their non-"Server" Windows versions to be compatible with poorly written drivers. Correctly written 32-bit drivers would handle being located above the 4GB physical memory boundary by using bounce buffers and adhering to the guidelines that Microsoft developed and published years ago. Most consumer-grade drivers however were written poorly, and when they were mapped above the 4GB boundary, they tried to access their own memory locations directly and failed. So Microsoft instead maps the driver I/O space over the top of physical memory in 32-bit non-"Server" Windows (i.e. if you run the 32-bit Windows Server 2003 on a computer with 4GB of RAM you will get to use all 4GB of RAM). Linux and Mac OS X do not map driver I/O space over the top of physical RAM in 32-bit and you can use all 4GB in those systems, *unless* the chipset was designed badly.
The best example of such a badly-designed chipset was by Intel in 2005 and 2006, with their Sonoma (915) and Napa (945) chipsets, which stupidly couldn't map I/O high and capped those systems at 3GB *even if* the OS could have used all 4GB in 32-bit mode.
There are also a lot of subtleties involving historical performance choices regarding the TLB, PAE (which has been around since the Pentium Pro and it's 36-bit memory addressing), and the relationship between virtual and physical address space and mapping which websites covering these topics just fail to explain, or when they do, to get right.
This has all caused no end of confusion in any article I've read on this topic, and I'm now giving up on writing to the authors and editors at places like tomshardware, anandtech, etc. since they don't ever respond or correct their articles when I email them, and I guess I'll just have to post comments.