7 ms·
The History of Windows NT 3.1
- shortrounddev2 3y agoIf you want to learn more about NT, read "Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft" by G. Pascal Zachary
- santoshalper 3y agoProbably my favorite technology book, right up their with Soul of a New Machine.
- ManuelKiessling 3y agoMake that three with „The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal“.
- tapoxi 3y agoI second this, I loved Showstopper, it does a great job explaining how NT is designed and why it is designed that way, and covering the personalities involved with NT.
- jmmv 3y agoOrder placed! Thanks for the reference.
- virgulino 3y agoFor a deep technical dive into the architecture of Windows NT 3.1, I highly recommend the book "Inside Windows NT", the very first edition, by Helen Custer. She had extensive access to the development team, including key architects, during development, and the book was published at the same time as Windows NT 3.1 was released, if I remember correctly. One of the most enjoyable books of its kind I've ever read. https://archive.org/details/insidewindowsnt00cust/ https://archive.org/details/insidewindowsnt00cust/
- JdeBP 3y agoIt's a good starting point, but deep it is not, certainly compared to other books such as (for three examples) Nagar's book on the filesystem architecture, or the Baker and Oney books on device drivers.
- vouaobrasil 3y agoI've installed Windows 3.1 a few times for fun. I like it better than current Windows. However, I navigated away from the article due to the newsletter popup.
- flohofwoe 3y agoWindows 3.1 and Windows NT 3.1 are about as similar as Javascript and Java though ;) (I still have a soft spot for WinNT 4.0, this was the first Windows that wasn't a complete joke when coming from an Amiga)
- pjmlp 3y agoHad Windows NT fully embraced the POSIX subsystem, maybe I wouldn't have bothered to install Slackware 2.0. Microsoft most likely repents of selling away Xenix, and not fully embracing POSIX at the right time.
- dboreham 3y agoI remember talking to some MS dude (from the NT group) at a conference, I think in 1993, where I said something to the effect I was waiting for them to add sockets support to the posix subsystem. He response was almost to laugh in my face. Nice to be proven correct 30 years later.
- pjmlp 3y agoYes, large scale adoption of OS X has proven that the large majority cares more about POSIX/UNIX in general, than GNU/Linux in particular. WSL ended up being an easier way, than fixing SUA.
- sillywalk 3y agoI thought they added Posix support because certain government contracts required it.
- pjmlp 3y agoIndeed, hence only the minimum as required by DoD. Eventually there was an evolution with SUA, but never with a big commitment level. https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
- sillywalk 3y ago"Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." -JWZ It seems like Every* operating system adds some sort of Posix compatibility.. Some of IBM Mainframe OS's, AS/400 via PASE; HP's MPE->MPE/IX, VMS->OpenVMS, Stratus VOS, Tandem(HPE) Guardian OSS, and any number of clones/embedded systems, etc. *I don't mean that literally.
- dboreham 3y agoIt would be interesting to know more about the sources for this article because while nothing seems outright wrong, some details seem a bit off. e.g. it was called "OS/2-NT", not "NT OS/2" (unless that was the internal name at some point); while some NT features are obviously copied from VMS (i/o completion ports from $QIO), the article's mention of IRQ level is off -- that comes from the CPU design and is present in most CPUs going back a couple decades prior.
- JdeBP 3y agoActually, it isn't. I've implemented an IRQ level like system on Intel Architecture, and the operating system concept really doesn't match the processor's and interrupt controller's architectures very well at all until local APICs enter into the picture. Without a local APIC, one has to do tricks like re-issue interrupts with INT instructions in order to implement the NT interrupt model. The IRQ level concept may have antecedents in earlier systems from the 1980s, but it does not originate with the Intel-based Personal Computer AT architecture of the time, with its dual 8259s, EOIs, IF, and whatnot.
- qawwads 3y agoI like Win31 UI. Sure MDI was an error and hot corners would be very useful but I like how unclutered it looks and the absence of a taskbar and other always-there elements is positive. I dislike the idea of a taskbar. It takes screen real estate that would be better used by apps and when I do need the taskbar's features, those are all cramped at the bottom of the screen. Give me a hot-corner-activated win31-style program manager over a win95-style start button please.
- Arainach 3y ago>I dislike the idea of a taskbar. It takes screen real estate that would be better used by apps Since the very beginning in Windows 95 the taskbar has had an "auto hide" mode if that is your concern. For the vast majority of users, having a consistent present launcher and switcher is important, as seeing a screen with no button to switch apps would be incredibly confusing.
- jadbox 3y agoWindows NT 3.1 and Windows NT 2000 were Microsoft's proudest achievements for OS development.
- agumonkey 3y agoNT5 beta was more stable than anything MS released to market before, it was funny
- JdeBP 3y agoOnly if one forgets XENIX. And yes, this is pride, not necessarily success.
- jadbox 3y ago... I had no idea! XENIX wiki page: https://en.wikipedia.org/wiki/Xenix https://en.wikipedia.org/wiki/Xenix
- Narishma 3y agoWhy was the title changed?
- deleted 3y ago[deleted]
- notpushkin 3y agoTangential, but I'm starting to genuinely hate Substack now. This time I've just closed the page instead of dismissing the newsletter modal for the 10000th time. Why are authors still using it?
- 5e92cb50239222b 3y agoAdd the "annoyances" list in your adblocker. (What newsletter modal?)
- justsomehnguy 3y agohttps://imgur.com/a/MyeHnnY https://imgur.com/a/MyeHnnY And I dunno about GP but I would prefer what the websites would be usable without an adblocker, hazmat suit and poison testers.
- assimpleaspossi 3y agoI have always considered substack to be the reddit of blogs. That is not a compliment.
- deleted 3y ago[deleted]
- sebazzz 3y agoWell, it is still a better Medium.
- notpushkin 3y ago:D
- eduction 3y agoMicrosoft gets too little credit for NT. They were effectively 9 years ahead of Apple in developing a usable multithreaded, preemptive multitasking OS (counting Jaguar as the first usable OS X). Further, they did it in a way that (unlike on Mac) allowed software developed for the old style system to work on the new, industrial strength one.
- JdeBP 3y agoFifteen, if that's your metric. OS/2 1.0, which was preëmptively multitasking and multithreaded and had the Family API, came out in 1987. And XENIX was even earlier, although it wasn't multithreaded.
- postmodest 3y agoHold on, let me turn my TeamOS/2 mug around so it can't see me type this... Firstly, NeXTStep came out in 1989, and had both preemptive multitasking and threads, and OS X 1.0 didn't really improve on NeXTStep in that area at all. Secondly, while OS/2 1.0 had threads and preemption, it was text-only and had to run on IBM AT 80286 PCs so most of that technological might was wasted. It would be 1990 before it had a real GUI. And it would be nearly 1992 before OS/2 was 32-bit.
- JdeBP 3y agoIt's eduction's choice of metric, not mine, and by that "multithreaded, preemptive multitasking OS" metric, OS/2 1.0 qualifies. eduction didn't say anything about graphics. Presentation Manager was available in 1988, by the way, not 1990. Petzold's book on it came out in 1989. First (and only) edition sitting on my bookshelf as I type this.
- icedchai 3y agoAmiga OS had preemptive multitasking in 1985, in 256k of RAM. No memory protection though. I’d consider Amiga tasks light enough to be threads, since they shared memory.
- panick21_ 3y ago
- JdeBP 3y agoThis article is just begging for footnotes. > To aid in internationalization, Unicode was used top to bottom, greatly enhancing internationalization. And we all know the story of how Unicode then went from 16-bit to 32-bit, rather spoiling things, leading to the world as it is today, with WTF-16 and code page 65001. > NT was a fully 32 bit microkernel operating system with [...] There was a whole lot of debate about this at the time, and the upshot is that by no contemporary measure of what it meant to be one, was Windows NT a microkernel operating system. It's sad to see this come back in potted histories 30 years after the fact, because "microkernel" was more marketing tapping into an operating systems design fad of the time rather than an accurate technical description. > but unlike VMS [...] NT uses its own NTFS [...] In an article calling out the similarities in other aspects, missing the marked parallels between ODS-2 and NTFS, from BITMAP.SYS versus $Bitmap to INDEXF.SYS versus $MFT, is rather silly. > A program written for NT in 1993 can run unmodified on Windows 11 in 2023 as the entire API and userland haven’t changed while everything underneath most certainly has. The interesting part of this sentence being in the discussion of personalities is that the Win32 personality is the only one of the original personalities for which this is true. The 16-bit OS/2 personality doesn't exist any more, the POSIX personality has been superseded four times (2 Interix systems, and then 2 WSLs), and NTVDMs went away with the move to 64-bit. > Microsoft added the win32 API developed for NT to Windows 3.x as well [...] Actually it was Win32s, and an article that mentions the list of caveats for the 16-bit OS/2 API on Windows NT listed in an OS2API.TXT file should really mention that Win32s came with lots of similar caveats about what parts of the Win32 API weren't supported in Win32s. Yes, just like that OS2API.TXT there was a list of what DOS+Windows 3.x did and didn't support, in the SDK. It was WIN32API.CSV. There was also a WIN32S.DAT listing all of the Win32 stuff that didn't work on DOS+Windows 3.x with Win32s.
- AshamedCaptain 3y ago> the Win32 personality is the only one of the original personalities for which this is true The entire personalities thing was pretty much never used. I could never run anything OS/2 except for a couple 16-bit command line utilities, and the POSIX one was straight garbage and likely the source of many Weirdnix contest stories. It was only until Interix that you could actually source port anything worthwhile, and they quickly hit the limit that the POSIX and Win32 personalities could not speak to each other with anything other than TCP/IP. WSL1 quickly dropped the POSIX personality and switched to the Drawbridge sandbox stuff (in part to be able to access the Win32 subsystem, and to be able to skip PE binaries), and WSL2 followed by dropping the entire idea and using a then more classic HVM.