Hacker News new | ask | show | jobs
by nickpsecurity 3354 days ago
Windows NT was a modified version of OpenVMS done by the OpenVMS team:

http://windowsitpro.com/windows-client/windows-nt-and-vms-re...

I'm still looking for how much of OS/2 made it into NT. I know NT had an OS/2 subsystem which is an obvious candidate. What I did find is that Windows NT was developed on OS/2 computers. They also had to be forced to give up OS/2 & dogfood on Windows NT. They didn't want to lol.

4 comments

Cutler developed VMS, and then went to MS and developped NT. NT is not a modified version of VMS, although some principle are obvious common.

At the very beginning, NT was developed as NT OS/2, targeted for OS/2 v3.

Then MS and IBM parted ways, and NT was retargeted to Windows NT (with a Win32 API as the main userspace). Then initial plan was already to be able to support the OS/2 API and at least Win16, anyway, so the idea of classic NT subsystem could be leveraged and the retargeting was not too painful. Also, IIRC it happened relatively early in the development process.

At the very beginning, the initial team used OS/2 hosts, because obviously they had to have some dev hosts... But soon enough they self-hosted. The idea that they did not want to is far fetched. At most maybe they did not want to do that too early, which is understandable. NT was soon vastly superior to OS/2, so I can not imagine any reason for devs to want to stick to that legacy host...

"NT is not a modified version of VMS, although some principle are obvious common."

Russinovich claimed it is in the linked article with evidence they even have similar internals just renamed. He's the goto guy for information on Windows Internals. DEC claimed same thing in lawauit. So, what evidence do you have that Windows NT kernel wasn't a reimplementation of OpenVMS design with modifications?

You claimed that Windows NT was VMS with modifications. That's not what Russinovich claims - he claims that the internal design is very similar to VMS, and thus NT's design was most likely heavily inspired by VMS's. "Architectural and design influences" is the strongest claim Russinovich makes in the article as to the link between NT and VMS.

In a similar way, Microsoft Word no doubt has "architectural and design influences" with Bravo (thanks to Charles Simonyi), but it would be false to conclude that Word is "a modified version of Bravo".

Some interesting info on the OS/2 subsystem is here: https://www.microsoft.com/resources/documentation/windowsnt/....

My favorite part is how NT didn't directly use CONFIG.SYS — but, if you edited C:\CONFIG.SYS from an OS/2 editor, NT would render a "stub" CONFIG.SYS file from the OS/2-specific settings from the Registry; then, when the editor saved the file, it would translate those settings back into appropriate Registry keys!

Another interesting tidbit: Up through NT 4.0, Microsoft sold the "Windows NT Add-On Subsystem for Presentation Manager" that let 16-bit OS/2 GUI apps run on NT.

So much work went into the OS/2 subsystem, but I can't imagine it was important at all to NT's eventual marketplace success.

It wouldn't surprise me if that was done to satisfy some large entity's contractual requirements. Perhaps some part of the government that invested in OS/2.
MS still had to sell OS/2 1.3 until NT was released.
> So much work went into the OS/2 subsystem, but I can't imagine it was important at all to NT's eventual marketplace success.

It was even the reverse that is true. MS support of Win32 instead of OS/2 PM was a strategical choice, and the market and dev strategy was structured in concert. OS/2 did not had a good enough market share, compared to the Win API - hypothetically and then in practice. For Win16 it was not a concern because both could run that well (enough) - and OS/2 used a licensed Windows 3 copy to do that, but then came Win32. Given codevelopment between MS and IBM was not working well, MS used NT retargeted mainly to Win32 in part to kill a competitor, from after they parted ways, on that market.

The strategy has been successful.

To be clear, I was talking about early NT's OS/2 subsystem - not about the IBM/Microsoft OS/2 project in general, which I think you're talking about?
Yes, I saw you were talking about the subsystem, but I think this is highly related to the whole picture. The OS/2 subsystem in released NT was neither a critical component, nor was it actually interesting for MS that it became too good. However, it was possible at all, for a lot of reasons, because NT was originally intended to be NT OS/2.
> I'm still looking for how much of OS/2 made it into NT.

Very little, and the code re-use was pretty much nil.

The OS/2 subsystem in Windows NT only implemented the 16-bit OS/2 API. It only implemented the base CP API, not implementing the 16-bit Presentation Manager API at all, and not even implementing all of that base API.

Moreover, Cutler re-implemented the things needed by that API from scratch. He quite famously railed against the OS/2 mutex abstraction, naming his re-implementation in Windows NT a "mutant".

Early versions of NT supported HPFS, and NT of course still supports EA to this day.
NTFS itself is directly derived from HPFS.
No, it is not. NTFS, if one looks at it, is a direct descendant of Files-11, the on-disc filesystem layout for VMS. ODS has several of the elements of NTFS:

* a master file table (INDEXF.SYS => $MFT)

* ACLs, with a system of ACL-bypass privileges

* a whole bunch of special files, with known fixed entries in the MFT, including a block bitmap file and a bad block file (BITMAP.SYS => $Bitmap, BADBLK.SYS => $BadClus)

In contrast, there are significant dissimilarities with HPFS.

That corroborates my reference a bit where author says they made changes to filesystem during the clone of VMS. There would be similarities between the two filesystems if this were true.