On Fri, 25 Mar 2005 08:50:13 -0500, Eagle <[EMAIL PROTECTED]> wrote:

> I get what you're saying, but I take another view of it.  I look at
> what Microsoft did with the Windows NT (e.g. Windows 2000, Windows XP)
> line in order to make it compatible with Win95 code

I think you're confused here.

The WinNT family - NT 3, NT 4, 2000, XP, 2003 - all run Win32 binaries
natively. It's their own native format.

Win95 was a derivative of 16-bit Windows 3, which came along *after*
NT, that was adapted to run NT's format.

Win95 (and Win98 and WinME) binaries *are* native 32-bit binaries.
They are *the same* as NT executables. The same programs run on both.
There's no adaptation of one to run the other.

They're different families of OS and can't use one another's device
drivers, but the apps are the self-same code.

Now, perhaps you might be thinking of running Windows *3* code on NT.
That's different. Win9x is based on Win3 and runs Win3 apps (but not
drivers) natively.

WinNT is a pure 32-bit OS and can't natively run 16-bit Win3 binaries.
So there is an emulation layer that converts 16-bit API calls into
32-bit calls. The process is called "thunking". This emulation layer
is a small program that runs in memory and presents a 16-bit API for
16-bit apps. It's called WOW - "Windows On Windows".

The one in 32-bit NT-family OSs is called WOW16. The brand new 64-bit
Windows XP has a new WOW called WOW32; it allows 32-bit binaries to
run on a 64-bit OS. 64-bit Windows won't run 16-bit code at all, but
then, there's almost none left these days.

It's a very elegant solution. Because WOW16 is a small program of just
a few megabytes, you can run it in 2 ways. Either a single running
instance that all 16-bit apps share. This is smaller and faster, but
if 1 16-bit app crashes, they all go. Or you can run 1 instance of WOW
for each app, meaning that each 16-bit app effectively has a complete
copy of Windows to itself. It takes more RAM, but that doesn't matter
these days, and it's slightly slower, but all your 16-bit apps will be
pre-emptively multitasked and if 1 crashes the others will be
unaffected.

In contrast, OS X runs an emulator called the TrueBlueEnvironment and
in that a copy of real live MacOS 9 is booted, taking all the RAM that
a real copy of MacOS needs - many dozens of megabytes. All Classic
apps share this; if one crashes, they all go, and they cannot be
pre-emptively multitasked.

It *is* more compatible than Microsoft's solution, but it's less
elegant. But then, OS X and MacOS aren't related at all, whereas Win3
and Win9x and WinNT are all linked, written by the same people, and
come from the same codebase in many places. Remember that OS X was
developed by NeXT, not Apple.

Frankly, I wish OS X were more like NT in this respect. I want a
Windows NT-style tickbox that says "run this app in its own memory
space" and thus to have protected, pre-empted Classic apps each
running in their own seperate OS X processes.

-- 
Liam Proven
Home: http://welcome.to/liamsweb * Blog: http://lproven.livejournal.com
AOL, Yahoo UK: liamproven * ICQ: 73187508 * MSN: [EMAIL PROTECTED]

-- 
Compact Macs is sponsored by <http://lowendmac.com/>.

      Support Low End Mac <http://lowendmac.com/lists/support.html>

Compact Macs list info: <http://lowendmac.com/lists/compact.shtml>
  --> AOL users, remove "mailto:";
Send list messages to:  <mailto:compact.macs@mail.maclaunch.com>
To unsubscribe, email:  <mailto:[EMAIL PROTECTED]>
For digest mode, email: <mailto:[EMAIL PROTECTED]>
Subscription questions: <mailto:[EMAIL PROTECTED]>
Archive:<http://www.mail-archive.com/compact.macs%40mail.maclaunch.com/>


---------------------------------------------------------------
iPod Accessories for Less
at 1-800-iPOD.COM
Fast Delivery, Low Price, Good Deal
www.1800ipod.com
---------------------------------------------------------------

Reply via email to