5 ms·
Is the book labelled as fiction? I understand that early versions of NT emitted error messages identifying itself as OS/2. Did the book explain when NT became
by HankB99 3y ago
Is the book labelled as fiction?
I understand that early versions of NT emitted error messages identifying itself as OS/2. Did the book explain when NT became "brand new OS from scratch".
I think there's been a bit of revisionist history WRT the roots of NT. MS wants to make it something "we did without their help."
I didn't read your entire blog so apologies if you addressed this.
- jmmv 3y agoMy understanding is that the original collaboration between Microsoft and IBM was around certain parts of OS/2, not the whole system, so it is plausible that Microsoft worked simultaneously on OS/2 and NT as the book describes. Note that NT is heavily based on the work previously done at Digital on VMS (by people from the same team), so there are some pre-existing foundations there, at least in terms of design principles and ideas. https://en.wikipedia.org/wiki/OS/2 https://en.wikipedia.org/wiki/OS/2 provides a recap of the history but I cannot find details on exactly who did what in that page. And my memory from what I read in the book is fuzzy at this point...
- dboreham 3y agoIt's been a few decades since I read the book, but note it was published just after NT was released, when everyone knew that it had been called OS/2-NT for a while. So probably no wool pulling going on there. Note also that this was a naming move. NT was never based on OS/2. otoh in my experience (I've worked for two companies that had books written about them), book authors tend to a) focus on drama and b) get their information from a small number of senior participants.
- trealira 3y agoThe book doesn't shy away from describing the collaboration between Microsoft and IBM. Also, the book depicts Microsoft knowingly screwing over IBM in their collaboration. So Gates sided with Maritz. NT would assume the Windows “personality,” by assuming those of its attributes that were visible to the customer. NT also would be redesigned to run applications written specifically for Windows. But Gates added a wrinkle to his position. Given the depth of IBM’s attachment to OS/2, Gates reasoned, abandoning the program altogether would only trigger a nasty split with IBM. Why not maintain a pretense of cooperation by convincing IBM of the merits of an operating system that hosted both Windows and OS/2? NT could be designed to do this, Gates reasoned. If IBM accepted this, Microsoft could continue to describe Cutler’s program as “NT OS/2.” Even though it contradicted his rhetoric about the need for a single software standard, Gates was prepared to tell IBM: “There’s no reason to think two [program personalities] can’t be of equal importance” to customers. This was a bold stroke. By denying reality, Gates’s tactic would freeze IBM long enough for Microsoft to install Windows as the standard for computing. Gates would peddle this apparent compromise to IBM and rival software makers, while Maritz and Cutler’s team pursued the real objective internally. ... Cutler asked about Ballmer’s promise that NT would still sport an OS/2 personality. Not to worry, Ballmer assured him, someone else could take care of that. Indeed, OS/2 was now so unimportant to Microsoft that Ballmer had assigned a tiny team in Israel to create an OS/2 variant of NT. The Microsofties hated OS/2 so much they couldn’t even bear to have someone working on it in the same continent.
- voidfunc 3y agoDave Cutler has elaborated on a lot of this stuff in some recent YT interviews that are excellent: https://www.youtube.com/watch?v=9K3eMzF6x28 https://www.youtube.com/watch?v=9K3eMzF6x28 Part of it is Cutler really really hated working with IBM... it starts around 3:00 minute mark.
- canucker2016 3y agoSeveral MSFT employees I talked to mentioned that they didn't like working with IBM - too much of a culture clash from what I could gather.
- EvanAnderson 3y agoAn earlier comment mentioned Gordon Letwin[0] (lead architect of OS/2 at MSFT), and that led me down the rabbit hole to an "infamous" USENET post he made re: OS/2[1]. It sounds like there was acrimony all around: Another problem that came up here was that IBM didn't want us to use the windows API for the graphical environment under OS/2. Many key folks inside IBM had always hated Windows. IBM had this crazy thing called TopView, it was a character oriented windowing scheme and not very good. Bill Gates, myself, and some other folks made several trips to Boca Raton to try to explain to those guys why a character oriented windowing scheme was obsolete before it was even written, but to no avail. One of IBM's most major problems is that although their top guys may be smart, they aren't techically savvy. [0] https://en.wikipedia.org/wiki/Gordon_Letwin https://en.wikipedia.org/wiki/Gordon_Letwin [1] http://gunkies.org/wiki/Gordon_Letwin_OS/2_usenet_post http://gunkies.org/wiki/Gordon_Letwin_OS/2_usenet_post
- canucker2016 3y agoYou cut off the best bits of Letwin's rant: "...although their top guys may be smart, they aren't techically savvy. And their low level guys are often neither. IBM doesn't promote on the basis of your skills and ability; they promote on the basis of seniority and other secondary factors. So the guy who makes these decisions often doesn't know what he's doing. And he doesn't know that he doesn't know, because his peers are equally butt-ignorant too. So these guys can never figure out how other folks, including but not limited to Microsoft, keep doing better! Must be dumb luck, they think. I always agreed that it was dumb luck. If you catch my drift... :-) "
- chasil 3y agoThe NT kernel, a rewrite in C of the VMS kernel (which itself was written in assembler), presented three APIs to userland: Win32, POSIX, and OS/2. It seems reasonable that the OS/2 emulator/API/userland inside of early Windows would identify itself as truly OS/2, which it was likely seen to be internally. The VMS kernel itself would also emulate programs written for the earlier RSX-11 operating system that ran on the PDP-11, so there is a history of emulation between these operating systems. "Broad software compatibility was initially achieved with support for several API 'personalities', including Windows API, POSIX, and OS/2 APIs – the latter two were phased out starting with Windows XP... "Mark Russinovich wrote in 1998 that while creating Windows NT, Microsoft developers rewrote VMS in C. Although they added the Win32 API, NTFS file system, GUI, and backwards compatibility with DOS, OS/2, and Win16, DEC engineers almost immediately noticed the two operating systems' internal similarities; parts of VAX/VMS Internals and Data Structures, published by Digital Press, accurately describe Windows NT internals using VMS terms. Instead of a lawsuit, Microsoft agreed to pay DEC $65–100 million, help market VMS, train Digital personnel on Windows NT, and continue Windows NT support for the DEC Alpha." https://en.wikipedia.org/wiki/Windows_NT https://en.wikipedia.org/wiki/Windows_NT Information on the Windows POSIX subsystem: https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
- nrr 3y ago"The NT kernel, a rewrite in C of the VMS kernel (which itself was written in assembler), presented three APIs to userland: Win32, POSIX, and OS/2." Not quite. I'd rephrase this as "NT presented three userland personalities—the CSR (Win32), OS/2, and POSIX—through a composition of kernel primitives implemented as userspace subsystems." The core binary image ntoskrnl.exe only exposes the primitives needed to get the CSR, OS2, and PSX subsystems started, and those (mostly, save for some code that lives in win32k.sys) run in userspace. They more or less act as translators between the native NT ABI/API and the respective subsystems' ABIs/APIs. PSX in particular did a lot of its own PE image mapping and parsing (something that you'd perhaps think would be done in kernel space) so that it could defer to the other subsystems to run foreign code among other things.
- 3y ago
- mschaef 3y ago> Is the book labelled as fiction? > I understand that early versions of NT emitted error messages identifying itself as OS/2. Did the book explain when NT became "brand new OS from scratch". Windows NT started out as Microsoft's effort to do OS/2 NT. There was a 32-bit Microsoft OS/2 2.0 (distinct from IBM OS/2 2.0), and OS/2 NT was to be OS/2 3.0. OS/2 NT wasn't rebranded Windows NT until Windows 3.0 eliminated OS/2 from relevance, and with it, the Microsoft/IBM partnership. That's when IBM introduced their own (very nice) OS/2 2.0 and started a years long effort to eliminate Microsoft code from the OS/2 codebase (and the Microsoft copyright message from all over the UI)