Ok what I'm saying is, when XP was started and PAE was implamented they still had a lot of drivers using the 98 code, which didn't have the PAE implamentation.
[1]What is being said is, you don't implement anything. PAE is something between the OS doing memory management and the CPU.
And since the original XP code didn't even have PAE (SP2 implamentation)
But it was implemented. It was implemented back in the
Windows 2000 days. Before XP/SP2, you also had support for memory above 4G.
32bit WAS NOT DESIGNED FOR MORE THAN 4G!!! PAE is more or less an emulated table for anything larger than 4G ... A pure32 system cannot support over 3.5G, that's just it.
[2]I don't think you understand PAE that well.
Oh and as for this, you'd be suprised how much code has it's base in Win 3.1... Why? Because as I said earlier a lot of code is recycled. Infact, most code is already written, why would you bother to make something new when you can just use somebody else's work? With so much GPL code out there it's just too much work to make your own. Infact I'm going to guess a lot of Vista/7 code is XP based, just with the new memory management. Why? Why not!
[3]You cannot expect to take code written for an ancient OS and just recompile to make it run on your new OS.
1st point) PAE and memory management is also part of the kernel, and since the drivers and kernel share memory it is completely relavant.
Writing device drivers in Linux: A brief tutorial
And if you think "well that's not windows" it isn't your right, but windows does do drivers in kernel space. That's why 64bit doesn't allow unsigned drivers, as they could disrupt kernel code and be a huge security risk. And if they are so closely intertwined then I'm guessing they probably need to be very close in memory management.... Which is why PAE is known for BSOD on drivers that weren't written for it. And if you read my 3rd point, MANY companies are scared drivers won't work on a new os....
2nd point) PAE was in the 2000 days? It seems as it only hit 2k pro, and then xp was released and it was only supported in xp sp2 as from the MS site itself.
3rd point) In a 32-bit operating system you'll never be able to address more than 4GB
directly. A different addressing scheme may allow you to map more physical memory into that 4GB address space. That's what PAE does. (if this helps you think about how it works). You just cannot address it directly. Or here better yet
Code:
[B]Memory Manager[/B]
The memory manager translates virtual memory addresses used by
the operating system and applications to actual physical memory locations. [SIZE=4][B]The
translation of virtual memory to physical memory is transparent to the application. [/B][/SIZE]
User mode processes are never able to directly write to real memory and never
actually know where their data resides. A user mode process can request a block
of memory and write to it. The data written to the memory location might be
written to real memory, or might be written to a paging file. A paging file (also
known as a swap file) is a file on the hard disk that the memory manager uses to
hold data that does not fit in memory. The memory manager moves data from the
paging file to memory as needed and moves data from memory to the paging file to
make room for new data.
What Is PAE X86?: System Reliability
Actually, many companies fear a new os will make them re-write a lot of drivers/applications. Maybe that's why no XP drivers work in Vista? =S Or why Vista and XP are not interchangeable for drivers? Yet XP had a vast ability to run many different drivers for multiple machines. It's because it still was using some of the old driver standards, which are now gone in Vista (I think really SP2 changed a lot for XP).
PAE is an addon, it's all virtually addressed so you can "see" more ram, but infact 32bit can't actually see it. It's just an illusion, so when I say it wasn't ment to be, it really wasn't. We just kind of made an ugly way of doing it. Virtuilization. Though if I had said that w/o posting a ms link you'd say I'm retarded.
[edit] And before you go XP drivers will work with compat, yeah but I'm guessing those drivers completely met the newer standards, as the function calls weren't changed (obviously!) but as for XP itself, it didn't fully take on PAE because for consumers.
You really have to think about the market.... You think before Vista MS gave a crap about consumers and 4G of ram? Most of the people who use the "new" hardware is 10% of MS's market, and that 10% is probably reading this because they care about 4G or more of ram. A lot of the market IS letting companies use the same code over and over and over. Look around at most of the corp's, every fast food joint that runs survielance (still can't spell) is probably doing so under a Windows XP platform, using redicously old software.... How do I know this? A good friend of mine works for PEC in Iowa, and he happens to know the software that's run on the vast majority of cameras that they install. Which Paulson Electric isn't what I'd call small... And you know how much buisness MS would loose NOT supporting the drivers for these older cameras? Yeah Vista/Win7 doesn't, but even still SP3 isn't that old and I'm betting it made many companies happy.... This is how I know PAE is ugly, because for older drivers to not work for survielance it'd piss a lot of people off. And they don't want to re-write those drivers, many of the companies that work on the drivers won't update them anyways. So what do you do? MS has to taylor both ways to earn money... If they want to sell copies what do they do? Keep support for older stuff or tell people stfu? You can't always think of things moving ahead, a lot of the internet is running on not so new mainframes.
Example:
http://www.theregister.co.uk/2007/01/05/developing_legacy_systems_part2/
Now if you really want to understand all this good for you, but I personally got annoyed with working on wiring for 20yr old equiptment. =( That's the bottom line though... You, the person who reads this, doesn't matter nearly as much as the corperation with money.