What was the starting point for the Panther Win32 kernel?


When I presented a list of cat-related code names from Windows 95, commenter dave wanted to know whether the Panther kernel was derived from the 32-bit DOS kernel or the Windows/386 kernel.

Neither.

Here's the table again, with some more columns of information:

Component Code Name Based on Fate
16-bit DOS kernel Jaguar MS-DOS 5 Morphed into Windows 95 boot loader / compatibility layer
32-bit DOS kernel Cougar Win386 kernel Morphed into VMM32
Win32 kernel Panther Windows NT kernel Cancelled
User interface Stimpy Windows 3.1 user interface Became the Windows 95 user interface

The original idea for the Jaguar and Cougar projects was to offer a 16-bit MS-DOS environment that could be "kicked up a notch" to a 32-bit protected-mode MS-DOS environment, with virtual memory and multiple virtual machines. They used the MS-DOS 5 and Win386 kernels as starting points. (Why wasn't Jaguar based on MS-DOS 6.0? For the same reason NASA didn't use the Space Shuttle to rescue the Apollo 13 astronauts.) This project as originally envisioned was cancelled, but the work was not lost. The projects took on new life as the Windows 95 boot loader / compatibility layer and as the Windows 95 virtual machine manager, respectively.

The idea for the Panther project was to start with the existing Windows NT kernel and strip it down to run in 4MB of RAM. This project did not pan out, and it was cancelled outright. It was replaced with a Win32 kernel written from scratch with the 4MB limit in mind.

The Stimpy project survived intact and became the Windows 95 user interface.

I doubt the code name was the reason, but it's interesting that the ferocious cats did not carry out their original missions, but the dim-witted cat did.

Comments (21)
  1. Yuhong Bao says:

    This reminds me of MSDPMI shipped with MS C 7.0 beta, replaced by 386MAX before shipping.

  2. coln says:

    scar ashdd dfda mdanfn dnadn afadahfab hfxhsdhsbcxhh shsdhfhc cbdachchsdahxahfahhshhz hsdhahhhsdh dfhahfdsfga

  3. remids says:

    asdgda hahaxcasha shah abadah h hshdab hshhah  hey xaahwey sxhahhwy nxaaaaaaaaahwwuysdnf sndxvahchhcssdhafhhchcaha

  4. Kevin says:

    OK, but then where was Ren in this table?  I thought he turned into Outlook.

  5. Bob says:

    @Kevin:   Ren is not a cat and thus does not qualify for inclusion.

  6. rsola says:

    Is this Panther codename related in any way to the Panther folders created during Windows Setup, starting with Windows Vista? Windows 7, Windows Server 2008 R2, and Windows Vista setup log file locations: support.microsoft.com/.../927521

    I would think it is a coincidence or a codename reuse.

  7. dave says:

    Very interesting!  So Panther was a from-scratch implementation of Win32.  Thanks for the clarification :)

    I can imagine a lot of cute tricks getting used to make an implementation of Win32 fit in 4 MB.

    [Not sure how you came to that conclusion from the article. "The idea for the Panther project was to start with the existing Windows NT kernel..." Not from scratch. -Raymond]
  8. Is that why Windows Setup logs are in a "Panther" directory?

  9. Nawak says:

    @Raymond:

    I think dave's deduction came from your sentence about Panther: "It was replaced with a Win32 kernel written from scratch with the 4MB limit in mind" and the fact that in the first linked article you said that Panther was the Win32 kernel "subproject" for Windows 95. So a possible conclusion is that the WinNT kernel port was cancelled but the Panther name was kept for the rewrite.

    [Well, the original article didn't discuss the fates of the projects. The new project didn't have a code name. It was just the Win32 kernel for Windows 95. -Raymond]
  10. dave says:

    Sorry if I was being presumptuous.  Nawak's exposition describes what was going through my mind.

    Regardless of the codename, the feat is still impressive

  11. Henry Skoglund says:

    About those animal names: seem to remember the TCP/IP add-on for Windows for Workgroups 3.11 was called "Tiger".

  12. Dave says:

    >start with the existing Windows NT kernel and strip it down to run in 4MB of RAM

    But Windows NT ran in 4MB of RAM anyway.  I remember seeing it stated in the minimum system requirements on the install floppies, and remember even more getting halfway through the really long, slow install and being informed "Uh yeah, well, we kinda lied about that, you'll need to go out and buy another 4MB of RAM to actually install".

    (Since hardware changes needed to be signed off by the client, who didn't believe us ("But it says right here that it'll run in 4MB!"), this lead to what could have been one of the slowest WinNT installs ever).

  13. Scarlet Manuka says:

    Obviously, cats that needed too much memory couldn't survive in the memory constrained environment of Win95, and only the dim-witted (amnesiac) cats could thrive.

  14. Chris Crowther @ Work says:

    Dave: I think there's an important difference between "run" and "run well".

  15. Neil says:

    I'd be hard-pressed to accept that even Win95 ran in 4MB, given that a bare install swapped every minute just to update the clock; you needed 8MB if you wanted anything useful such as networking.

  16. Erik F says:

    @Dave: Which version of NT ran with a minimum of 4MB? Even NT 3.1 had a minimum of 12MB, and you really, really didn't want to try doing anything much with that much; I recall popular opinion that (assuming your hardware was supported) 32-64MB was the minimum acceptable amount.

  17. Dave says:

    @Erik_F: Too long ago, sorry, but I assume it was 3.1, and you're right, it may have been more than 4MB. All I can remember is being sent a machine that met the minimum requirements (the client was cheap), getting some way through the install off floppies (each set invariably had a disk with a bad sector on floppy 799 out of 800), and being told that the advertised minimum requirements weren't the actual minimum requirements, and we'd have to get client approval to buy more RAM (which they suspected was us gold-plating the deal and took forever to approve).

  18. Michael Grier [ex-MSFT] says:

    The setup logs are in the panther directories because panther is the name of the workflow engine used to sequence operations across installations and reboots during OS deployment.

  19. dasuxullebt says:

    Hi. You linked an article (with closed comments, unfortunately) saying that Windows 3.1 did not have a console subsystem. To me, the obvious question that arises is: Why is that? Wasn't it still pretty common to have command line applications at that time? And maybe utilize parts of the Windows API, but not the GUI parts? (I think of commandline music players, compilers, etc.)

  20. Mark says:

    dasuxullebt: because the command line applications could just run in DOS. It took a deliberate effort (and a lot of resources) to move people to a "real" OS with Windows 95.

Comments are closed.

Skip to main content