i386 ?

Windows operating system disks all have a folder i386. Is there any significance to that number? Does it mean anything?


I think it contains backwards-compatibility stuff for software coded for really old versions of Windows (ie., 3.xx)

The x86 series refers to the instruction set used by Intel CPUs and their clones, beginning with the 8086 way back in the day, and proceeding through the 286, 386, 486, 586 (Pentium) and so on. Anything in a folder marked i386 is presumably targeted for that architecture and newer; all the x86 architecture revisions add new features but maintain backwards compatibility (for the most part) with their predecessors.

It refers to the Intel i386 microprocessor.

Edit: dang missed it.

Yeah, I’ve had all those processors, it just surprises me that they have a folder named that still. Surely you could not run XP on a 386.

Microsoft laziness is what I think. Notice that the Windows Setup programs are exactly the same – straight terminal text, blue background, ANSI graphics, etc – since Windows 3.11. It probably has a ton of dependencies on the i386 directory that they didn’t feel like changing.

Contrary to what others are saying here, it has always been my experience that C:\i386 contains the full installation media for the OS. Kind of handy when you are looking to add Windows components or drivers and don’t want to go finding your OS CD.

This guy seems to agree.

i386 refers to the architecture.
Oversimplifications follow. Gross ones.
The 386 was the first line of Intel processors where doing modern “Windowsy” stuff including multitasking was viable, thus it was the first target for the Windows NT development team.
XP is from the NT line, not the Windows 3.1 or Windows 95 line.
NT used to support architectures besides i386, including MIPS and Alpha, and those architectures got their own folders, as many files had to be different for different architectures.
Later, Microsoft killed off those architectures, although we’re once again seeing support for multiple architectures…

On edit:
Oh yeah, forgot that they also developed for PPC (PowerPC).

minor7flat5 gives the correct answer to the OP.

This is the correct answer to the OP, which asked for the significance of the “i386.”

I bet you can.

Microsoft says you lose.

XP requires a lot of memory. Where would you find a 386 with 128 or even 64 MB of RAM?

Uh, to test that assertion you’ll probably want to make a Windows PE disc and try booting from it.
That way you get around the pesky Windows installer refusing to go forward when you load XP on the system, as well as avoiding the full thoroughness of the installer’s examination of your hardware.

As an aside, there’s a switch you can use when running the installer that can be used to make the OS load on at least some systems that fail to meet the advertised system requirement minimums.

Wouldn’t windows 2000 use the same processor features as XP? I seem to remember people using nlite to make custom installs where the whole install disk was 64 megs. Resource light.

I wouldn’t be particularly surprised if Windows uses only 386 features. Most of the stuff added later is targeted to gaming or networking, so while as DirectX and your ethernet card might want those, the drivers for those can probably be compiled with support.

There might be a section in the bootup code that initializes these features, but it would be pretty small.

i386 refers to the 32-bit architecture also known as IA32, x86-32 or just x86. Linux installation discs and packages are also often labeled i386 when they target the generic 32-bit Intel architecture. The 64-bit architecture that logically derives from i386 is typically called x86-64. While Intel/AMD CPUs tend to be backwards compatible there is only a few distinct steps that can be called distinct “architectures”.

[li]The original 8086 architecture introduced by Intel 8086[/li][li]The 32-bit architecture introduced by Intel 386DX[/li][li]The 64-bit architecture introduced by AMD in (if I remember correctly) it’s Athlon 64/Opteron line[/li][/ul]

The other angle, to continue this threadjacking, is that you only need as much memory as it takes to load the kernel and the swapper.
As long as the kernel + swapper and certain other low-level elements can fit into 60 MB, your 64 MB system can just swap running apps into and out of the remaining 4 MB…

I can’t speak for Windows, but I know that FreeBSD will use instructions introduced in the 486 and the Pentium if you select that option. IIRC, the instructions include more efficient atomic instructions and more fined-grained TLB-flush instructions.