Under what architecture is Windows XP compiled?

G

George

I know it supports x86 processors, but what I don't know if XP is "compiled"
under i386 (there are in fact several folders named 386 in the WINDOWS
directory) making it upward compatible with later processors: i486, i586 and
i686?... or, is it locally "compiled" when installed in any PC in the latest
architecture available?

In other words: does XP take advantage of the latest i686 instruction set
when installed on a P2 o newer processor? Or its binaries are compiled in
i386 and therefore compatible with i686 processors?

thanks in advance
 
A

AJR

Some confusion here - when a program (XP) is written it is generally "run"
in one of two formats. 1. Interepted or 2. Compiled - With #1 the
programming utility (say Basic) must be available to run the program -
when a program is compiled it is converted into a self sustaining
program (*.EXE for instance) and is not compiled each time it is run.

Whethr or not a program is compiled for a specific paltform depends on the
programming language and programmer.
 
B

Bill in Co.

AJR said:
Some confusion here - when a program (XP) is written it is generally "run"
in one of two formats. 1. Interepted or 2. Compiled -

Interpreted, not "Interepted".
 
G

George

Thank you AJR:

Maybe what I wanted to know if XP is optimized for some specific type of
processor. This question arised when reading some history of windows in:

http://www.microsoft.com/windows/WinHistoryDesktop.mspx

where it states:

"... Windows 2.03, took advantage of the protected mode and extended memory
capabilities of the Intel 386 processor. Subsequent Windows releases
continued to improve the speed, reliability, and usability of the PC as well
as interface design and capabilities."

I infer from the previous paragraph that Windows 2.03 was optimized (or at
least took advantage of some improvements in the technology of the i386
compared to the i286 or previous ones) for i386 but I can't think the same
for later releases.

thanks
 
J

jameshanley39

Thank you AJR:

Maybe what I wanted to know if XP is optimized for some specific type of
processor. This question arised when reading some history of windows in:

http://www.microsoft.com/windows/WinHistoryDesktop.mspx

where it states:

"... Windows 2.03, took advantage of the protected mode and extended memory
capabilities of the Intel 386 processor. Subsequent Windows releases
continued to improve the speed, reliability, and usability of the PC as well
as interface design and capabilities."

I infer from the previous paragraph that Windows 2.03 was optimized (or at
least took advantage of some improvements in the technology of the i386
compared to the i286 or previous ones) for i386 but I can't think the same
for later releases.

thanks

that is quite an advanced programming or processor architecture
question, and most people here only know windows administration..

you could try these 2 newsgroups.

comp.sys.intel
comp.lang.asm.x86

Assuming you are right with your compilation terminology. It sounds
right
I doubt that xp takes advantage of the architecture of each revision
of processor. And so I think it could be compiled on any processor
that is backwards compatible with the i386.

This site seems to be very clear
http://wiki.clug.org.za/wiki/X86_Architectures


80386 was the first 32-bit x86 processor. It is the oldest x86
supported by Linux. It is also known as i386, and IA-32.

So that is probably the first and classic 32-bit instruction set.

All 32-bit processors support that.

The link says
i386 clones
AMD and other x86 manufacturers also had their equivalents to each
Intel revision. The AMD Athlon, AMD Duron, AMD Athlon XP, AMD Sempron,
VIA C3, Cyrix 5x86, Cyrix 6x86, Cyrix MediaGX etc. are all i386
processors.

AMD Athlon XP is equivalent to the P4. So, long after the (original)
i386.

So even the newer/latest 32-bit processors, or ones long after the
i386 itself, are considered i386 clones

The site doesn't mention i486 clones, or i586 clones.

I guss processors just base themselves on the i386, and add whatever
they want.

But Windows just uses that i386 basis.

or rather, windows xp 32-bit uses that i386 basis.
In that way, it is compatible with -all those processors-. By Intel,
AMD, Cyrix, from the 386's time, onwards.

So it doesn't matter where microsoft was to compile windows xp. As
long as it is on an i386 clone. And it will only use the i386
aspect.

Now, the other architecture that windows xp can be based on is the 64-
bit architecture.
"
amd64 / EM64T / x86_64 / x64
AMD64 was an extension of the x86 line into include 64bit memory
addressing by AMD. Intel followed soon after with the EM64T extensions
to Pentium 4, which is compatible with and equivalent to AMD64, just a
different name.
"

So, you could call that the AMD64/EM64T architecture, or 64-bit
architecture.
And it looks like all 64-bit processors will use the same one.

In that situation, windows 64-bit would be compiled on such a 64-bit
processor.
Whether it's one in 10 years time, or one today. And it will run on
any 64-bit processor.


note- I don't have experience of programming on different processor
architectures, so, i'm just trying to talk theoretically, and picked
up a few things from your post. I could be way off in concept. But
this seems to make sense.
 
J

jameshanley39

Some confusion here - when a program (XP) is written it is generally "run"
in one of two formats.  1. Interepted or 2. Compiled  - With #1 the
programming utility (say  Basic)  must be available to run the program  -
when a program is compiled it is converted into a self sustaining
program (*.EXE for instance) and is not compiled each time it is run.

Whethr or not a program is compiled for a specific paltform depends on the
programming language and programmer.

The executables of windows setup, the - shall we say - setup wrapper
program(which copies files and "configures" them while it says
something like "installing windows xp") - was I suppose compiled on a
32-bit or 64-bit processor moments before becoming an EXE -
setup.exe , and being sat alongside its many other files, typically on
a windows cd.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top