Drivers are specifically written for these devices and calls are made from DirectX on top of an operating system just like it is on the X-Box.
The X-Box is a 64MB 733MHz ~ GeForce 3 machine. Halo barely works as fast on a 2GHz 512MB GeForce 4 PC, this is in 640x480 here. That's not even taking into account the faster FSB/AGP, more cache, lower latency faster RAM, etc etc etc.
You can't tell me that a PC is just slower than a console and that somehow all of this speed is sucked up into making games work the same on all computers.
It must just be terrible programming, or who knows, maybe Windows really does suck for games. I remember I was "dual booting" DOS and Win9x for a while so my games would run fast. Simple games like Pitfall and Earthworm Jim took a lot more CPU time to run fast in Windows. For fuck's sake games couldn't even rely on hardware video acceleration (some exceptions) when they were in DOS and used software graphics engines and still managed games like Comanche, 3 years before we would even hear of the 3DO with the first truly 3D console games, and even those systems barely produced graphics as good as those seen in Comanche!
The operating system must account for some of those resources being sucked up. Each version requires more resources than the last, look at the requirements for even running Office on different versions of Windows:
The program takes the same amount of RAM on each OS, but more RAM is required overall BECAUSE of the OS. It's like each time you upgrade your PC it's going to waste because you're installing a new OS along with that. And even then, take into account how slowly the OS runs when it first comes out compared to previous versions.
Think if we were running DOS, or even just the bare essentials, and didn't have this year's IE pre-loaded into RAM, and that anti-virus wasn't eating 60% of your CPU cycles, and your swap was on its own partition and you only needed to stream things from the CD-ROM and work completely from RAM (For some reason PC games are pre-loaded onto the HDD and can't just run off a DVD), etc.