Inside The Development of Windows NT
mrpuffypants writes "Winsupersite has a 3 part series this month about the history and development of Windows NT all the way up through Windows Server 2003. The author goes fairly in-depth describing how Windows is developed, managed, and how all 50 million+ lines are compiled daily. Part One covers the history of NT from its early days at Microsoft and Part Two discusses how the deployment of the forthcoming server version of Windows is coordinated daily." *shiver*
The stuffed mascot in the background looks an awful lot like someone else we know ;)
#!/bin/bash
You are not the customer.
I thought the initial NT "heavily borrowed" (MS tradition) from the Digital Equipment Corp (now part of HP) VAX operating system. Then it gradually incorporated parts of the evolving Windows/DOS OS.
GameTab - Game Reviews Database
0) CVS checkout the latest net stuff from freebsd.org
1) Look at code and scratch head until "A-ha!"; enlightenment.
2) Merge code into Windows source
3) go to 0
Trolling is a art,
We thought, 'How hard could it be to build an OS?' and scheduled 18 months to build NT. But we had forgotten about some of the important stuff--user mode, networking, and so on."
Either this means that the NT team were actually fairly clueless...or incredibly cocky. Either way, that seems like a pretty stupid thing to say.
It's just a big advertising piece about how NT is the greatest thing since sliced bread. Sure, it has some entertaining facts, but I'm still not buying it.
I see a lot of complaining in the article about how some architectures were not ready for NT on a timely basis (Intel i860, PowerPC), but I see no mention how they were so slow to bring NT to the Alpha. I recall that DEC actually ended up porting VMS to the Alpha because they were waiting on MS for their promised NT release. I'm a bit curious to hear from the developers about their perspective on that.
I've used both NT and VMS on the Alpha (as well as a Unix varient). NT is sooooo slow.
-Jennifer
"You compile it today."
"No way--*you* compile it!"
"No way! Hey--let's get Mikey, he'll compile *anything*!"
It is interesting how incrementing each of the letters in VMS gives WNT. It is something similar to IBM and HAL.
"By late 1989, the NT group began growing. They added a formal networking team and expanded the security team beyond a single individual who, incidentally, had also been previously burdened by file system and localization development."
You mean they've got more than one guy working on security for Windows? Oh come on, who's gonna believe that?
I thought it was forged deep within Mt. Doom...
Engineers: "No problem, we'll release betas every year and you can sell them to the public for the price of a finished product."
Bill Gates: "Good idea. What do you think Steve?"
Steve Ballmer: "Developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers...*wheeze* *hack* *cough*...."
Bill Gates: "It's ideas like those that will make you CEO in 10 years."
...so full of shit?
To step around the topic for a second:
Paul Thurrott's SuperSite for Windows is dedicated to providing all of the information you need to evaluate Microsoft's current and upcoming Windows operating system technologies. These exciting products include Windows XP Service Pack 1 (SP1), Windows XP Media Center Edition (code-named Freestyle) Windows XP Tablet PC Edition, Windows Media 9 Series (code-named Corona), and Windows Server 2003, which will launch in April.
Sounds like it'll be an EXCITING, unbiased, hard hitting, honest review to me!
Maybe that's not the best example. But even when you read technical treatises on Microsoft technologies the authors always manage to pack in gushing, surrealist praise.
Wasn't there even a book? THE AWESOME POWER OF DIRECT3D? Amusingly enough, it was released several months after John Carmack and the rest of the gaming industry started bitching Microsoft out for pushing Direct3D over the clearly superior OpenGL.
I'd hate to be all conspiracy here, but damn it's either that or believing that all Microsoft reviewers/writers are really stupid.
"On the day I attended, one feature group had four of its bugs punted to Longhorn because they had failed to shown up for War Room. When someone argued that they should be given another day, Wanke simply said, "F#$% 'em. If it was that important, they would have been here. It's in Longhorn. Next bug."
Did one feature group have its *feature* postponed to longhorn or the *bug-fixes* postponed to longhorn ? hmmmmmm interesting.
"For Windows Server 2003, the War Room is run by Todd Wanke, who we eventually found to be an amazingly likeable guy. However, in the hour-long War Room sessions, Wanke rules with an iron fist" :)
"...compiling and linking it into the executable and other components that make up a Windows CD is a 12 to 13 hour process that is done every day of the week
So they rebuild Windows from scratch every day? Somebody send them a copy of make, please.
...the War Room is run by Todd Wanke...
Oh dear. Poor Todd.
Passing IRP's (IO request packets) between drivers creates a much more well-defined interface that a bunch of globally namespaced functions just calling each other (like some other OSes we all know). It also lends itself to a layered driver model (Bus Driver, Physical Driver, Functional Driver) much better.
I really like the NT Kernel. What driver developers do with it isn't the kernel's fault.
Nothing is so smiple that it can't get screwed up.
To be honest, I don't see why they just don't hold these bug fixing meetings around the IIS guys desk :o)
Avantslash - View Slashdot cleanly on your mobile phone.
There are 5000 developers on the Windows team generating over 50 million lines of code for Windows Server 2003.
I think it's safe to say that they're most defniitely _NOT_ using VSS!
There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
. . . just naive and inexperienced.
/. GNU/Linux crowd do the same thing.
You know how to an 8-year-old boy, his dad's favorite sports team is the greatest thing in the world, able to turn lepers to supermodels and bath beads into geltabs? It's basically the same phenomenon.
It stops being amusing after a couple years reading the
Off topic but....
Give a man a fish, he owes you one fish.
Teach a man to fish, you give up your monopoly on fisheries.
My favorite...
Build a man a fire and he will be warm for the night. Set a man on fire and he will be warm for the rest of his life.
Be nice to people on the way up. You will meet them again on your way down!
And while you're right that this article is a very happy view of NT, it's interesting from the standpoint of how a project grows and new versioning control systems are added to handle such growth. Sure, the articles are heavy on fluff and light on details - but Microsoft is closed source. They're not going to give you much more. I honestly am not sure why you're so upset with these articles.
I hate liberals. If you are a liberal, do not reply.
So in a couple of years we'll learn that:
You forgot the five thousand developers.
Each person would need to review 50,000,000/(5000*30) = ~333 lines of code per day. Not quite so intimidating.
--grendel drago
Laws do not persuade just because they threaten. --Seneca
Does anyone else design an OS in two weeks?
Why bother.
A year ago, Micro$oft claimed the future focus was security and stability. According to Part 2 of the article, the biggest issue now is the name change (from Windows .NET 2003 to Windows Server 2003). So, is this change for greater stability or something to do with marketing?
I remember reading an article in 1992 where Bill Gates said "Windows NT will be a better Unix than Unix". So I don't think the vision was limited to Dave Cutler. I am still wondering how Bill could say that when Windows NT/2000 has minimal Posix support (1000.3 System Calls), is single user multitasking (unless you use Terminal Services, another Microsoft product you pay through the nose for), and has the worst scripting language ever! I guess that is why MKS (MKS Toolkit), Interix (OpenNT), and Cygwin are around, to fill the gaping holes in the "vision" of Bill and Dave and bring Unix to Windows because Microsoft can't or won't do it!
In the same article, it mentions the changes with the graphics subsystem in NT 4.0. IIRC, NT 4.0 only supported i386 and Alpha, while NT 3.51 those, plus ppc and mips.
They moved the graphics subsystem into the kernel, and it ceased to be a microkernel. When pretty much everything lives in userland, portability is pretty easy. In fact, you can essentially write a new kernel (with the same external interfaces) for each architecture if need be. You also get neat features like being able to restart networking or the graphics system if they crash, without bringing down the system.
The problem that you have on i386 is that context switching is expensive (read: slow as a dog). On other platforms (sparc, ppc), it's not that big a deal.
Now, Windows doesn't look like a microkernel at all. And it's not at all portable, either. From what I understand, the Itanic port is giving them big headaches, and Intel is none-too-pleased about it.
When someone argued that they should be given another day, Wanke simply said, "F#$% 'em. If it was that important, they would have been here. It's in Longhorn. Next bug."
C#, J#, S#....now we have F#....shall we pronounce it "Fuck Sharp"?
It's really interesting to see how Microsoft actually relate to their competitors. They wanted to run on PPC, but IBM messed them around. They wanted to work with Novell, but Novell weren't interested. Even Intel failed to deliver on the promise of i860.
Given that, is it any wonder that MS would rather do things "in house" than rely on third parties?
Only the size of the Linux KERNEL is currently about 5 mln lines, while the size of the WHOLE Win NT is about 50 mln. lines. This includes the whole GUI, OLE/ActiveX/COM+/InternetExplorer/OpenGL/DirectX and so on shebang, and also a myriad of printer/camera/scanner/etc drivers included in the default install.
The size of the WinNT kernel is nowhere near the 5 mln lines of code, I believe it is well below 1 mln. lines.
The WinNT is also only compiled for Intel platform, so it does not include code for other platforms.
That "goto" in line 3 prevents lines 4 and 5 from working:
4) ???
5) Profit!
(Not that Micro$oft needs anymore of that.)
That mascot is probably reserved for voodoo rituals :-) Geek or not, it's still MS... :-)
The ENIAC Demo Competition
-fren
"Where are we going, and why am I in this handbasket?"
Unlike some doomed attempts to make a "better" Windows clone *cough*Freedows*cough* that degenerated into a puff of vaporware, the fine people at ReactOS have been keeping their noses to the grindstone and quietly worked away at getting an NT clone working. It's still a long way from replacing NT, as this screenshot of the one and only GUI application shows.
But if you want a free and open look at Inside the development of [a] Windows NT [clone], ReactOS is a good place to look.
They've done a number of things right:
Did I mention they spend thankless hours coding?
Let's see if I've got this right:
"This late in the development process, bugs are often passed along, or "punted," to the next Windows release--Longhorn--if they're not sufficiently problematic."
"The atmosphere in War Room is intimidating, and I spent most of my time in the room, silent and almost cowering, praying that Wanke wouldn't turn his attention to me or my group.... The most virulent treatment, naturally, is saved for those foolish enough to blow off a War Room meeting. On the day I attended, one feature group had four of its bugs punted to Longhorn because they had failed to shown up for War Room. When someone argued that they should be given another day, Wanke simply said, "F#$% 'em. If it was that important, they would have been here. It's in Longhorn. Next bug."
So... in this macho atmosphere, reeking of testosterone... the punishment for not being that the bug meet is that... YOU DON'T HAVE TO FIX YOUR BUGS UNTIL THE NEXT MAJOR RELEASE?????????
Words fail me...
"How to Do Nothing," kids activities, back in print!
Load of crap, I doubt anybody is spamming slashdot for a book this old.
:)
It is simply the BEST look at the insides and development of NT around. The article on Paul's site is dry and doesn't even remotely express the truth behind NT.
For example, ShowStopper reveils the amount of disgust the NT team (or at least Daves side) -really- felt towards Win16 compatability. The canned articles says how 'easy it was' and what a 'good idea' it was.
Show stopper explains how rejected it REALLY was from most of the team and how much of a complete and utter headache it was to implement the Windows 'personality'.
The articles linked are not bad when talking about the latest version of Windows, but it's very much preaching and definatly doesn't tell much about how NT started out and it's effect on Microsoft as a whole.
The whole GUI thing was actually pretty much a laugh to the DEC people Dave dragged over with him, and the practice of 'eating dogfood' at Microsoft was really first imposed by Dave himself. And there's intresting background on the IBM/MS OS/2 debacle (Windows NT was originally going to be OS/2 NT!) and how Windows very nearly didn't have anything approaching usable graphics until Michael Abrash himself came in with his 'new trick' that actually allowed NT to show graphics at a usable rate and was the first step to removing the console.
Anyway, I don't want to do a book review here, let's just say that the above articles are far too preachy, the book shows the REAL story and I recommend it. And I'm sure that's why the other three people have plugged it also
Microsoft's record of "innovation" has sunk to a new low -- now it looks like they are going to embrace-extend-exterminate Tux. These bozos can't even invent their own mascot...but then again, a furry, squishy bug (the animal most reminiscent of Windows, IMHO) isn't the most inspiring marketing tool.
Bet they claim they had a penguin for a mascot all along and it was those hippies, foreigners and un-American freaks that stole their idea and made Tux the mascot for that mean ole' Linux.
How typical.
Yikes.
I figured someone here would post about MS recompiling 50 million lines of code every day.
Does this mean they update each program source every day? The kernel, as well as each of the dlls? It seems like overkill.
Or at least it seems like major code bloat. Perhaps it's too much in the OS itself.
Doesn't linux separate the file system from the user interface? Seems there has to be a better way than the way MS does it.
all brought down routinely by 5 line scripts :(
What I don't get is why it takes 10,000+ developers to develop an operating system. Granted, there are a few nifty utilities included, but it seems like a case of an awful lot of cooks.
For comparison, the Empire State Building took a little over a year and had at most 3,400 workers on the project at any one time.
Eric Sarjeant
eric[@]sarjeant.com
I guess it's true: What Intel giveth, Microsoft taketh away...