Larry Osterman's WebLog

Confessions of an Old Fogey
Blog - Title

The last consumer operating system written in my lifetime...

The last consumer operating system written in my lifetime...

  • Comments 40
Way back in the day, I was chatting with Tom Miller, one of the NT filesystem developers - he and Gary Kimura were the guys who designed and built NTFS.

At some point, the conversation drifted around to our motivations for working on NT, and Tom made a comment that's stuck with me for the 15 years since he made it.

"I work on NT because it's an opportunity to work on the last new PC operating system to be written in my lifetime."

 

It's true that many of the low level concepts embodied in NT originated in the operating systems that Dave Cutler and the core NT team developed when they were at DEC, but the entire NT operating system was written from the ground up - with the exception of the command interpreter, much of the code in USER, the TCP/IP stack (licensed from Spider systems) and a couple of the networking utilities, every bit of code in NT 3.1 was brand spanking new.  And there were plans in place to replace the TCP/IP stack with an in-house TCP/IP stack (delivered with NT 3.5), so even that was written from the bottom up.

When I relate Toms comment to others, they invariably respond "But what about [Linux|OSX|Be]".  Taken in turn:

Linux was started in 1991, after the fact, but it's not a complete OS - Linux is the kernel, but the other parts of the OS date from other projects started long before Linux was started.  The kernel is new, but the entire OS isn't - all the user mode components come from previous operating systems, as does the networking stack.

OSX is based on FreeBSD, which was in turn based on 386BSD - large parts of the OS have been reengineered, but again, it wasn't a bottom-up attempt to write an entire OS.

Be's OS might have qualified as a new OS, since it was written from the bottom up, but unfortunately it didn't succeed in the marketplace.

There have been a number of original OS's built for various small devices since then (Palm, Symbian, WinCE, etc), but none for PC's. 

In reality, this isn't really surprising, it takes a HUGE amount of effort to launch a complete operating system - hundreds of millions of dollars just in direct development costs.  I still remember when we had the first big scheduling meeting when we laid out the list of things that we had to have for NT - many of the developers in the room were aghast at the number of components that simply HAD to be present to be considered a complete operating system: 16 bit application compatibility (which was a real issue for our non x86 platforms), printer drivers, video drivers, printing UI, multimedia hardware support, networking support, filesystem utilities, the list went on and on.

Nowadays, the list is even longer - for instance, back in 1989 when that scheduling meeting happened, you didn't need a web browser, because the web hadn't been invented yet (the first web page was written in 1990), but today, clearly you'd have had to have a web browser on the list.  Similarly, today you need to have camera support, digital media player support, instant messenger support, etc.

My suspicion is that Tom's statement will continue to hold true - the amount of effort required to build an entire operating system from the bottom up is daunting, and it's unlikely that anyone is likely to embark on such an effort in the foreseeable future.

  • The last operative system in his lifetime? Well, I wouln't bet it...who knows what we'll see in 20 years O_o


    While maybe it can't be considered a example of a PC operating system, plan 9 is a beautiful example of an OS written from scratch (and some would say that it's dead, but the fact is that today's OSes are still far of doing some of the things plan9 can do, so...)
  • I think your defense of Tom's quotation is a little too aggressive. You dismiss BeOS on grounds that are irrelevant to the rest of your argument, and I suspect (not having the context) to Tom's motivations in making his comment. An OS's lack of commercial success does not retroactively change how its development was begun, and I think the developers of BeOS deserve as much credit for setting out to build a completely new OS as the original developers of NT, especially as they didn't have revenue from very successful existing products to support their work.
  • "The [Linux]kernel is new, but the entire OS isn't - all the user mode components come from previous operating systems, as does the networking stack."

    I thought the Linux networking stack was new code. Care to be more specific?

    http://www.tldp.org/HOWTO/NET3-4-HOWTO-4.html

    "Developing a brand new kernel implementation of the tcp/ip protocol stack that would perform as well as existing implementations was not an easy task. The decision not to port one of the existing implementations was made at a time when there was some uncertainty as to whether the existing implementations may become encumbered by restrictive copyrights because of the court case put by U.S.L. and when there was a lot of fresh enthusiasm for doing it differently and perhaps even better than had already been done. (...)"
  • But aren't you blurring the line between OS and application a little?
  • Strangely, there's people out there who claim that Vista and/or WS 2003 are completely new OSes, written from scratch.

    "Vista isn't simply a super-patched version of XP, It's been practically written from scratch. While initial versions of Vista were based on XP, the developers realized that this constant system of patching just wouldn't work with what they wanted to do, and decided to base it instead off of Windows Server 2003, which had been written from the ground up for stability and security." (http://www.zdnet.co.uk/talkback/?PROCESS=show&ID=20051632&AT=39236741-39020330t-10000003c)

    "You DO realize that Vista is built from scrach?? Windows Vistas is rebuild from ground up." (http://www.zdnet.co.uk/talkback/?PROCESS=show&ID=20051655&AT=39236741-39020330t-10000003c)
  • Which is it: Consumer OS or PC OS? If we're talking consumer OS, then perhaps the entire handheld market would qualify (Palm, Symbian, etc.). If we're talking about the PC OS market, I would submit that the Hurd, Be, and the other flamebait candiates would indeed qualify. If we're talking about Consumer PC OSes, then you may have a point, although the line between the embeded PC market and the traditional PC market is blurring lines with every release.
  • LOL... :)

    Vista is based on Win2K3, not XP, but...
  • What about MinuetOS?
    http://www.menuetos.org/

    Os written completely in assembly.

    Sure, you can't go to Best Buy and pick up a MinuetOS PC. But it fits your definition, as does BeOS but you dismiss Be since it failed in the marketplace.

    Oh and I think Minuet OS was written by 3 guys without hundres of millions of dollars. ;)

    Does NextSTEP count?

    I think Tom needs to amend his statement a little. I've taken the liberty of re-writing it. :)

    "I work on NT because it's an opportunity to work on the last new PC operating system to be written at Microsoft in my lifetime."
  • "Strangely, there's people out there who claim that Vista and/or WS 2003 are completely new OSes, written from scratch. "

    A lot of people made the same claim about Windows 95, which was far from the truth.
  • as someone else posted, the Linux networking stack was written from scratch.

    And just about all of the Linux infrastructure was written from scratch as well. True the GNU project is about 10 years older than Linux, but that still counts as within your lifetime unless you are fairly young.

    Just about all of the U*IX utils had to be re-written from scratch; it's not like Sun or HP or IBM or Microsoft were going to just hand over the source code to their implementations, even if they were allowed to.

    The great thing about Linux is that anyone can have the opportunity to work on it, wheras with NT only a "chosen few" get the honor (or the blame).
  • For the purposes of this argument, the "start of life" is 1989 (that's what makes it the "last"). The GNU project started in 1984 (I remember back when Jim Goslings Emacs was ported to gnuEmacs).

  • I can't think of any really convincing arguments for an OS having to include a web browser, digital camera support, digital media player support, instant messaging support, etc.

    These can all be provided by applications (and even - shock horror - by third-party applications).

    It's this sort of "WINDOWS HAS TO INCLUDE EVERYTHING" mentality that has got Microsoft into trouble more than once.
  • From http://www.skyos.org/ :

    The Sky Operating System, or SkyOS, is an operating system written for x86-based personal computers. SkyOS was created in 1996 by Robert Szeleney as a small bootloader. In the past 8 years, SkyOS has evolved into a full-featured, modern operating system, with a goal to be the easiest to use desktop operating system available for the average computer user. The development staff has also increased to include business, software, and graphics developers.
  • > For the purposes of this argument,
    > the "start of life" is 1989 (that's
    > what makes it the "last"). The GNU
    > project started in 1984 (I remember
    > back when Jim Goslings Emacs was
    > ported to gnuEmacs).

    Well yes. And by 1989 the GNU project basically had gcc and Emacs and that's about it. Were Visual C and Notepad also re-written from scratch for NT?

    MS has such an odd view of what encompasses an "operating system".

    You'd have a much more effective anti-Linux argument if you pointed out that the X Windowing System project dates back to 1984.
  • Visual C's not a part of NT, and never has. And Notepad dates from Windows 3.1, which was 1990.

    This wasn't supposed to be an "anti Linux" post, more of a "cool quote" post, and a commentary on the amount of effort needed to write something that includes all the pieces that people consider to be a part of an operating system.

Page 1 of 3 (40 items) 123