Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

True 32-bit protected mode preemptive multi-tasking was the primary advantage over comtemporary windows at the time.

People were using Desqview in MS-DOS to achieve this level of multi-tasking in lieu of OS/2. OS/2 did it better. Windows 3.1 was cooperative multi-tasking, not even protected mode if memory serves.

Windows NT would be where MS tech caught up with IBM, OS/2 was out in the wild for quite some time already.

But the general public didn't embrace OS/2, Windows 95 effectively killed it.



> Windows NT would be where MS tech caught up with IBM

OS/2 was originally a Microsoft/IBM joint product, work on NT at Microsoft began during that time as “NT OS/2”; the cooperation broke down in large part over the different directions MS and IBM wanted to take with OS/2.


Although true far as I know, people new to topic might misread that as it being a derivative OS/2 they ran with against IBM. It was a enhanced clone of OpenVMS by the OpenVMS team they poached per Russinovich:

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

They kept better architecture that could eventually be turned into a solid server. For time to market, they ditched the quality, high-availability, etc. They added a GUI. Backward compatible with DOS apps plus compatible with OS/2 stuff if I remember right. Tada! Eventually, added quality and security back in with SDL plus clustering. Bill had already achieved dominance at that point with OS/2 and every other desktop being an also ran.

Far as OS/2 goes, I read the original versions of NT were developed on OS/2 workstations that the developers gave up grudgingly when forced to dogfood on NT. They also used UNIXen for some server stuff and ran the business on a AS/400. They seemed to have just used whatever was best at each thing with long-term plan to replace it all with their competing product copying one, improving over others, and integrating some (i.e. open-source).


For those interested in the topic, there’s a fascinating book “Show Stopper” detailing the making of NT.

https://www.goodreads.com/book/show/1416925.Show_Stopper_

The core NT design with its kernel personalities is what allowed them to things like adding linux support, but in the book they describe there was so much pushback because it pushed ram requirements up to 8 mb (outside the abilities of consumer pc’s at the time) that Gates himself had to intervene several times to keep Cutler’s architecture intact.

I also really loved the bits about Cutler’s personality. They came across as more myth than fact but you do get the sense that working for him must have been a singular experience.


Thing to note is that NT started with portability in mind and the first processor it was running on was a MIPS.


I ran it on a MIPS Magnum R4000 for a while. I forget the name of the compatibility feature, but you could run 16-bit x86 Windows apps (may have been 32bit, it's been 20 years) with only a slight performance hit.


And it demonstrated how valuable binary compatibility across generations were, as Windows have never really gotten off the ground outside of x86.

This in large part because of corporate and consumer demand for being able to run their existing software on new computers.

Something that both the FOSS world and others should take note of (and no, app stores do not remove this issue).


Well, I guess at the time there just wasn't any demand for Windows for Alpha or MIPS workstations. PCs had huge demand.


Oh there was, just people with big pockets. Have some application written in VB6? Need it to go faster where money is no object? Get VB for the Dec Alpha. Although I've never seen anyone do that, but there was such a thing.

Now when it came to a massive DEC Alpha to run SQL Server, then absolutely. It was the ultimate hardware solution to a software scalability problem, and it was not cheap.


The happening of free UNIX clones also helped, as the companies that might have transitioned to such Windows systems, rather migrated to BSD and Linux distributions instead.


Yes. Its predecessor is still a port in progress to x86 instead of running on it due to its less portable design. That was a real improvement by NT team.


> It was a enhanced clone of OpenVMS by the OpenVMS team they poached per Russinovich

I think the word "clone" is too strong. DR-DOS is a clone of MS-DOS because it attempts to implement the same APIs, with the objective that most (ideally all) software written for MS-DOS would run on DR-DOS without modification. By contrast, Windows NT doesn't implement any of the APIs of VMS, and VMS software cannot run on Windows NT without modification. Microsoft did take people and high-level ideas from VMS, but they were never trying to build a clone of OpenVMS-which would require aligning API details (as opposed to just high-level concepts)


That OS/2 2.0 debacle was so bad BTW it is my favorite topic (especially the MS part). I mentioned before out that DR would not be easily be able to clone OS/2 as they did with DR-DOS.


DR-DOS not was a clone of MS-DOS. The truth is that was CP/M-86 that was added stuff to be MS-DOS compatible. I used DR-DOS 5 when I was a children and I remember that it worked better that MS-DOS 6. Sadly, Microsoft used these dirty trick that Windows 3.1 would autofail if detect any OS that isn't MS-DOS.


Sadly, Microsoft used these dirty trick that Windows 3.1 would autofail if detect any OS that isn't MS-DOS.

That code, while present in the codebase, was deactivated in the release version of Windows 3.1, so it actually ran just fine on DR-DOS.


Windows 95 had something similar, the ARD code.



Early versions of DR-DOS was (kind of), but eventually I think they redesigned the kernel to use true DOS data structures etc.


DR-DOS 5 keep having the old CP/M sauce like BDOS kernel renamed as "IBMDOS.COM". Other thing, would if they removed old CP/M stuff that was not necessary any more to run MS-DOS programs, but the source code keeps being a evolution of the old CP/M.


MS-DOS used CP/M-80 API calls so programmers could convert CPM to DOS programs. That is what I heard.


Yes, that was the case.


OS/2 was 16-bit until 2.0 (and technically still had 16-bit chunks under the hook after that). Windows NT was where MS 'forked' OS/2 after the 2.0 days; IBM and MS were partners in developing OS/2.


The real joke is that the '32bit' version was written in parallel, and suppressed by IBM.

You can read more, and actually run them here: https://www.pcjs.org/blog/2016/02/08/

It's a little touchy to get the 1987 version running ( https://www.pcjs.org/disks/pcx86/os2/misc/football/87058/ ), but there it is, OS/2 1.0 hacked up with 32bit extensions to support multiple v86 machines. Windows/386 was a thing in 1987, along with Xenix on the 386. OS/2 could have been there too but IBM was too busy trying to cover base with the 5170, the brain dead 286 machine that dragged down the entire industry.

Between delaying the 32bit version for years, they also wouldn't let Microsoft just port over Windows to run ontop of OS/2. And of course SAA had to be 180 degrees opposite of Windows out of spite.

It's really no surprise that once Windows 3.0 started to sell, NT OS/2 3.0 suddenly became Windows NT 3.1


And those things make OS/2 stand out how exactly?

I'm under the impression OS/2 wasn't an attractive OS until 3.0 came along.


Windows NT started from scratch. It was never an OS/2 fork.


Not from scratch. It started as "OS/2 NT" in partnership with IBM. Microsoft renamed OS/2 NT to Windows NT. See here: http://www.itprotoday.com/management-mobility/windows-nt-and...


Yes from scratch. Names matter little.

From your source: "Microsoft's internal project name for the new OS was OS/2 NT, because Microsoft's intention was for the new OS to succeed OS/2 yet retain the OS/2 API as its primary interface."

Note how Russinovich talks about a "new OS".

The NT (kernel) never had any OS/2 code in it, it was a totally different project. The first target processor architecture for NT wasn't even x86, it was MIPS.

OS/2 in NT was merely a subsystem layer next to DOS and Posix, somewhat like today there is the Linux subsystem layer in Windows 10.

A good source is this:

https://www.amazon.com/Show-Stopper-Breakneck-Generation-Mic...


> The first target processor architecture for NT wasn't even x86, it was MIPS.

I thought it's pretty well established now that the NT in the name was named after the target architecture: Intel i860 "N10", not MIPS.


You're right. My point was, however, that it wasn't an x86.


Also, HPFS was like NTFS v0.9




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: