7 ms·
This is great! It would be interesting to see darwin/macos in the mix. On the philosophical side, one thing to consider is that NT is in effect a third system
by kev009 2y ago
This is great! It would be interesting to see darwin/macos in the mix.
On the philosophical side, one thing to consider is that NT is in effect a third system and therefore avoided some of the proverbial second system syndrome.. Cutler had been instrumental in building at least two prior operating systems (including the anti-UNIX.. VMS) and Microsoft was keen to divorce itself from OS/2.
With the benefit of hindsight and to clear some misconceptions, OS/2 was actually a nice system but was somewhat doomed both technically and organizationally. Technically, it solved the wrong problem.. it occupies a basically unwanted niche above DOS and below multiuser systems like UNIX and NT.. the same niche that BeOS and classic Mac OS occupied. Organizationally/politically, for a short period it /was/ a "better DOS than DOS and better Windows than Windows" with VM86 and Win API support, but as soon as Microsoft reclaimed their clown car of APIs and apps it would forever be playing second fiddle and IBM management never acknowledged this reality. And that compatibility problem was still a hard one for Microsoft to deal with, remember that NT was not ubiquitous until Windows XP despite being a massive improvement.
- tivert 2y ago> This is great! It would be interesting to see darwin/macos in the mix. But that's just another UNIX.
- kev009 2y agoOnly in the user's perception. The implementation is nothing like UNIX, being a Mach2.5 derivative and later additions like DriverKit.
- steve1977 2y agomacOS is a proper UNIX. As was OSF/1 (aka Digital UNIX aka Tru64 UNIX), which also had Mach 2.5 kernel.
- kev009 2y agoSo is z/OS. UNIX branding under The Open Group is correctly focused on the user's perception and has little to do with kernel implementation. Mach is is no more UNIX than NT is VMS, to call one the other in this context of kernel discussion is reductionist and impedes correct understanding of the historical roots and critical differences.
- p_l 2y agoOSF/1 however was a complete Unix system, even if it based its kernel on Mach (at least partially because it offered a fast path to SMP and threading), and formed the BSD side of Unix wars. And NeXTSTEP didn't diverge too much that when OSX was released they updated the code base with last OSFMK release.
- kev009 2y agoAgain, so too is z/OS a complete UNIX system (from the user perspective). OSF/1 is decidedly not the the BSD side of the Unix wars, it is its own alternative strand against its contemporaries BSD and System V. More specifically, it took its initial UNIX personality from IBM AIX and was rapidly developed and redefined to accommodate the standards du jour which included BSD and System V APIs.
- icedchai 2y agoI'd say SunOS (4.x and earlier, not Solaris) was the BSD side of the Unix wars. For most of the 90's, SunOS was the gold standard for a Unix workstation. I worked at a couple of early Internet providers and the users demanded Sun systems for shell accounts. Anything else was "too weird" and would often have trouble compiling open source software.
- kev009 2y agoCorrect, SunOS is a descendant of BSD and was the most widely used and renowned one during that time. And like you said, it was the gold standard for easy builds of most contemporary software and enthusiastic support. DEC Ultrix is also BSD kin and IBM AOS and HP-BSD were intentionally vanilla BSDs. There were some commercial BSDs like Mt Xinu and BSDi that were episodically relevant. BSD proper was alive and well especially in the academic and research circles into the 1990s and we get the current derivatives like Net, Free, and Open which are direct kin. Mach is regularly BSD-affined because BSD was a typically ported server but Mach is decidedly its own thing (as a simple and drastic counterexample, there was MkLinux and OS/2 for PowerPC which had little to do with BSD but are very much Mach). NeXTSTEP and eventually Darwin/macOS inherit BSD affinity.
- nullindividual 2y ago> And that compatibility problem was still a hard one for Microsoft to deal with, remember that NT was not ubiquitous until Windows XP despite being a massive improvement. I think when it comes to this it is best to remember the home computing landscape of the time, and the most important part: DRAM prices. They were absurdly high and NT4/2000 required more of it. My assumption is Microsoft would have made the NT4/2000 jump much quicker if DRAM prices were driven in a downward direction.
- euroderf 2y agoI recall DRAM prices restricting the uptake of OS/2 also.
- steeeeeve 2y agoI remember talking to an IBM rep when he came to CompUSA to demo OS/2. I asked him why I should pick OS/2 over NT and his response was "honestly, if you can afford it, NT is better" At the time, we were selling OS/2 for $99 and NT for $499 IIRC. (And I was able to use a store copy of both to take home and use, which was awesome) OS/2s interface was better IMO.
- kev009 2y agoDefinitely impactful for NT4, not for 2000.
- p_l 2y agoWas very impactful in early days of 2000. Seeing 64 MiB "used up" by barely loaded NT5.0 beta/RC was honestly a sort of chilling effect. But prices shortly fell and 128MB became accessible option, just in time for Windows XP to nail Windows 9x dead
- hnlmorg 2y ago128MB was pretty common by the time Windows 2000 was released. I could afford it and I wasn’t paid well at that time. Plus Windows ME wasn’t exactly nimble either. People talk about the disaster that was Vista and Windows 8 but ME was a thousand times worse. Thank god Windows 2000 was an option.
- hnlmorg 2y agoThat “niche” you described was actually a desktop computing norm form more than a decade. Let’s also not forget RISC OS, Atari TOS, AmigaOS, GEOS, SkyOS and numerous DOS frontends including, but not limited to, Microsoft Windows.
- nullindividual 2y agoIsn't Windows more abstract than just a frontend[0]? I.e., Windows/386 added protected mode and other features. [0] https://en.wikipedia.org/wiki/Microsoft_Windows#Early_versions https://en.wikipedia.org/wiki/Microsoft_Windows#Early_versio...
- hnlmorg 2y agoTo be honest I was being flippant with that Windows remark but you’re right to call me out for it. Microsoft get a lot of stick but Windows of the 90s do bring a lot to table. And by 9x DOS was basically a boot loader.
- torginus 2y agoYeah, this was a common misconception - due to the fact you could boot into Windows (up to 95) from DOS, people assumed it was just a frontend program.
- hnlmorg 2y agoNot just up to 95, you could boot into Windows ME from DOS too. But I agree that DOS was effectively just a bootloader for the 9x era of Windows. I was just being flippant in my previous post however you guys are right to call me on it.
- kev009 2y agoI believe we are obliquely agreeing. To further my thoughts a bit, the distinction I would place on OS/2 over DOS is double: 1) first class memory protection 2) full preemptive multitasking. The distinction I would place against all widely used modern desktop OSes is the lack of first class multi-user support. Early Windows gains cooperative multi-tasking like Mac OS classic but neither fundamentally use memory protection the way later OSes normalize and that turns out to be a pretty clear dead end. I believe there are extensions for both that retrofit protection in. Both also have some add on approaches to multi-user but are not first class designs. So, even the most robust single user system that implements full memory protection and preemptive multitasking still seems to be stuck in a valley. I.e. whatever the actual cost in terms of implementation and increase in cognitive workload for single user systems (i.e. "enter your administrative password" prompts on current macOS or Windows administrative accept dialogs) seems to be accepted by the masses. And note that this isn't an implicit a negative judgement, for instance I find BeOS or those in your list can be absolutely fascinating. And OS/2 is lovely even today for certain niche or retrocomputing things. Just pointing out that NT made a better bet for the long term, and some of that undoubtedly related to the difference of a couple years.. keep in mind OS/2 ran on a 286, which NT completely bypassed.
- netbsdusers 2y agoThe second system for Cutler was really Mica - he discusses its outrageous scope in his recent interview with Dave Plummer.
- nullindividual 2y agoLink to interview: https://www.youtube.com/watch?v=xi1Lq79mLeE https://www.youtube.com/watch?v=xi1Lq79mLeE (https://www.youtube.com/watch?v=xi1Lq79mLeE&t=4314s https://www.youtube.com/watch?v=xi1Lq79mLeE&t=4314s - yes, it stands for New Technology)
- markus_zhang 2y agoDave Cutler is really someone I look up to and wish I could be (but could never be due to numerous reasons). I strongly resonate with what he said in "Showstopper": What I really wanted to do was work on computers, not apply them to problems. And he sticks to it for half of a century.
- cturner 2y agoBe is much more like NT than OS/2 or classic Mac OS. Like NT: kernel written in C, portable, emphasis on multi-threading, robust against subsystem failures, shipped with a TCP/IP stack in the base OS. Be booted straight into the desktop but you could download software to give it a logon screen like NT4 and different users - the structures were already in place. The current crop of operating systems may themselves be a temporary niche. The design of NT and unix are awash with single-host assumptions yet most use-cases are now networked. Consider the way that linux filesystem handles are specific to the host they are running on, rather than the grid of computers they run in. Yet we run word-processors in browsers, ssh to other host to dispatch jobs. There is a gap for a system which has an API that feels like an operating system API, but which sits on top of a grid of computers, rather than a single host. The kernel/keeper acts as a resource-manager for CPUs and memory in the grid. Such systems exist in sophisticated companies but not in the mainstream. Apache Yarn is an example of a system headed in that direction. Once such a system becomes mainstream, you don't need the kind of complex operating systems we have now. A viable OS would do far less - coordinate drivers, scheduler, TCP/IP stack.
- kev009 2y agoYeah, we cannot see very far into the future and betting that system software will remain stagnate is not a good bet. If that means wholesale replacement, few of us will understand it at first. Otherwise retrofits will remain the norm for example one old idea that seems to be on the up and up is hardware-enforced capability systems and those working on them have found plausible ways to retain most of the existing C ABI world. Whether it always remains a good idea to continue propping up the past is one of the hardest questions and ultimately will be more of an economic one. There are obsolete systems that meet your criteria, Plan 9 and Apollo Domain/OS had plausible early answers for networked computing that haven't been adequately explored. For your last point, I would say scheduling, security, namespacing are the core features and everything else can be layered (perhaps interchangeably) on top. As a practical example, even in monolithic FreeBSD it supports fully runtime swappable TCP/IP stacks and out of tree network stacks.. the core illusion for that system is retaining the same Socket interface for userspace. Presumably if you get the namespacing thing right the entire system and network of things would look a lot more like deliberately interchangeable parts.