The last consumer operating system written in my lifetime...
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.
Comments
- Anonymous
November 17, 2005
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...) - Anonymous
November 17, 2005
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. - Anonymous
November 17, 2005
The comment has been removed - Anonymous
November 17, 2005
The comment has been removed - Anonymous
November 17, 2005
The comment has been removed - Anonymous
November 17, 2005
The comment has been removed - Anonymous
November 17, 2005
LOL... :)
Vista is based on Win2K3, not XP, but... - Anonymous
November 17, 2005
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." - Anonymous
November 17, 2005
"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. - Anonymous
November 17, 2005
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). - Anonymous
November 17, 2005
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). - Anonymous
November 17, 2005
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. - Anonymous
November 17, 2005
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. - Anonymous
November 17, 2005
> 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. - Anonymous
November 17, 2005
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. - Anonymous
November 17, 2005
> 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.
Yes, I agree. And those of us Linux developers who have done it w/o the backing of a multi-billion dollar corporation know how hard it can be to get all the pieces in place, maybe even moreso.
The Linux OS was started in 1991, after your deadline, and was writen entirely from scratch.
The Linux Operating System doesn't include userspace. So no compilers, no windowing systems, no web-browsers no web-servers.
So by the above non-MS definition of operating system, Linux is a more recent from-scratch than NT. Just being pedantic.
I probably wouldn't have even bothered to post at all if it weren't for the innacurate "borrowed network stack" comment in your original message. - Anonymous
November 17, 2005
I really like this post because he was right that the ability to write a new OS from scratch is really getting more and more insurmountable. But at the same time, your claim is indefensible and very revealing about your MS-centricity. I love Microsoft and I love your blog, don't get me wrong, but to imply MS has got this one sewd up is ridiculous. - Anonymous
November 17, 2005
Re Vista being built on Windows server 2003: I thought Windows server 2003 was the server version of Windows XP, with much of the same code base? - Anonymous
November 17, 2005
"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. "
It's this sort of EVERYTHING BELONGS IN THE APP mentality that will hold back Linux until it's miserable death in a decade or so.
The kernel should support hardware - including cameras, media players and graphics cards. One of the primary responsibilities of the kernel is to mediate access to the hardware and the Linux kernel just doesn't live up to those responsibilities. - Anonymous
November 17, 2005
Although there is some nitpicking about all this, I think it is fair to say that the original quote is fair and that Apple and the Linux/BSD community are striving to make it false.
Several years I dealt with a really smart guy who was doing big picture important techie stuff for Microsoft. He had previously come from a UNIX company and "got" UNIX. (I believe he was a co-founder). He was asked my he was working for Microsoft. The answer: The ability to do things that end up on hundreds of millions of desktops. They did. - Anonymous
November 17, 2005
The comment has been removed - Anonymous
November 17, 2005
The comment has been removed - Anonymous
November 18, 2005
The comment has been removed - Anonymous
November 18, 2005
It strikes me that there are two ways of having Tom Miller proved right. One is for no new PC operating system to appear. The other is... - Anonymous
November 18, 2005
I often see the argument put forth in some of these posts... that Linux is just a retread of *NIX but NT is "something new".
Can someone explain to me what is so amazingly new about NT? How did it break from tradition and do something truly innovative that wasn't already done before? How is it not just a souped-up VMS with lots of *NIX ideas thrown in?
I know I've heard the HAL and also maybe file-forks before, but I am pretty sure earlier OS's had done those already.
If you want a truly innovative OS, look at Plan9, or to a lesser extent BeOS.
Linux has never pretended to be a novel OS. It was designed to take the best things from *NIX and make them better, something I think it has succeded at. Being "new" or "from scratch" doesn't always mean "better". - Anonymous
November 18, 2005
FYI
http://www.microsoft-watch.com/article2/0%2C2180%2C1882174%2C00.asp
Another OS being completely written from scratch by MSR. - Anonymous
November 18, 2005
Just to add jetfuel to the fire, I would say that market share matters for the point of this. If you took the applaudable effort to make an OS, but have less than say, 1000 customers, then you don't count HERE IN THIS THREAD. Vista is not rewritten; the NT code base "branches off" to create a product. And sorry Linux; a kernel with not even a shell does not count, and GNU was not new in 1991. - Anonymous
November 18, 2005
The comment has been removed - Anonymous
November 18, 2005
The last consumer operating system?
Could very likely be the case, so long as
Microsoft continues to be the monopoly that
it is, and continues to squash any upstarts -
DRDOS comes to mind, for example - that are
perceived by Microsoft as being a "threat."
Somehow, though, I don't find that to be
very heartening. - Anonymous
November 19, 2005
The comment has been removed - Anonymous
November 19, 2005
"Can someone explain to me what is so amazingly new about NT? How did it break from tradition and do something truly innovative that wasn't already done before? How is it not just a souped-up VMS with lots of *NIX ideas thrown in? "
I never, ever said that NT was a break from tradition or particularly innovative. Heck, I even mentioned that in the article.
But NT WAS written from scratch (with the exception of the command interpreter (which was actually written in 1985 for DOS 4.0 and later adopted for OS/2) and a number of the networking utilities).
That's the differentiating factor that makes this "interesting" - nobody's written an operating system <i>from the bottom up</i> since then.
(btw, I hate the lack of rich comments :() - Anonymous
November 20, 2005
Why do you persist in thinking an OS has to have apps?
It doesn't.
And just because most people run GNU on top of Linux does not make GNU some sort of inseparable part of it. I can write a simple assemly-language program from scratch that prints "Hello World" and have it be /sbin/init. If Linux boots and runs this program, would you deny that my app is running under the "Linux" OS?
Even if no GNU utils are in sight it's still Linux.
> That's the differentiating factor that makes this
> "interesting" - nobody's written an operating system
> <i>from the bottom up</i> since then.
Yes, but whenever we point out that someone has, you change your definition to exclude it. All you are proving now is that "No one has written Windows NT since we wrote Windows NT". - Anonymous
November 20, 2005
The comment has been removed - Anonymous
November 21, 2005
Larry, I think vince has you. The traditional definition of "operating system" has always been limited to the parts that manage the resources (memory, disk, cpu, ...). That would be the kernel, the device drivers, the file system, and all that non-user level stuff. Everything else is an application. - Anonymous
November 22, 2005
Dave, if that were true, then why does every single operating system shipped today contain all that application stuff?
Try to find a Linux distribution that doesn't include at least two browsers, three shells, two or three text processing applications, three or four different text editors, etc.
In the classical sense, an operating system is just the kernel and memory management, filesystems, etc. But that classical sense has been completely meaningless for at least the past twenty years. - Anonymous
November 30, 2005
CraigM: I'm not sure about Symbian, but IIRC from my Palm developing days, the Palm OS wasn't completely written from the ground up. It used the Kadak kernel under a specific license which (again IIRC) prohibited things like multithreaded apps, etc. - Anonymous
December 01, 2005
I just 2 questions
1. How old was Tom then?
2. Is he still alive? - Anonymous
January 24, 2006
Hi Larry,
Just to clarify one point. While Tom was the principle architect of NTFS, Brian Andrew (who you didn't mention) personally contributed the largest amount of code to NTFS, and eventually owned it -- more or less -- until he retired last year. His departure was a true loss to Microsoft.
David - Anonymous
January 24, 2006
David, of course you're right. But I primarily associate Brian with CDFS, since he did all the design and implementation of it.
And yes, I miss Brian :) I miss lots of people :( - Anonymous
June 16, 2009
PingBack from http://fixmycrediteasily.info/story.php?id=2666