Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Microsoft

Inside The Development of Windows NT 707

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*
This discussion has been archived. No new comments can be posted.

Inside The Development of Windows NT

Comments Filter:
  • by JPDeckers ( 559434 ) on Wednesday February 19, 2003 @11:58AM (#5335205) Homepage
    Quote from site:
    There are 5000 developers on the Windows team generating over 50 million lines of code for Windows Server 2003. It's an enormous task, the biggest software engineering task ever attempted. There are no other software projects like this

    Accordig to this [win.tue.nl], we should be getting them in a year or 5

  • NT == VAX OS? (Score:4, Insightful)

    by peter303 ( 12292 ) on Wednesday February 19, 2003 @11:59AM (#5335209)
    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.
  • Hmm (Score:5, Insightful)

    by CoolVibe ( 11466 ) on Wednesday February 19, 2003 @12:02PM (#5335232) Journal
    Both articles feel like "feel-good" articles. There is little mention about IBM and OS/2, and the relationship between the two in the beginning of NT.

    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.

  • by chrisseaton ( 573490 ) on Wednesday February 19, 2003 @12:04PM (#5335252) Homepage
    _All_ developers are cocky - very cocky. It's not just a Windows thing.
  • by defile ( 1059 ) on Wednesday February 19, 2003 @12:08PM (#5335291) Homepage Journal

    ...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.

  • Re:Alpha (Score:4, Insightful)

    by 4of12 ( 97621 ) on Wednesday February 19, 2003 @12:12PM (#5335326) Homepage Journal

    how they were so slow to bring NT to the Alpha.

    Really.

    I was surprised to learn from the article how the early NT was so non x86 centric, shifting from i860 to R3000, etc. They even boast of the portability to different hardware because they weren't tied down to the x86 instruction set so tightly as were the 16 bit Windows developers at the time.

    So, why, then, did the Alpha port of NT take so long? And, from what I understand, it relied heavily upon the ability of the early Alpha chip to run in some FX!32 compatibility mode to emulate the x86 instruction set.

    The Alpha/NT story just doesn't seem to add up to me. There's some missing dark matter.

  • by grub ( 11606 ) <slashdot@grub.net> on Wednesday February 19, 2003 @12:14PM (#5335341) Homepage Journal

    Remember a while back when Bill mandated a whole month of nothing but bug fixes? I find it highly unlikely that their people were able to go through 1.667 million lines of code per day (assuming a 30 day work month. I'm generous)..
  • Re:Not stupid. . . (Score:4, Insightful)

    by Bastian ( 66383 ) on Wednesday February 19, 2003 @12:20PM (#5335380)
    . . . just naive and inexperienced.

    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 /. GNU/Linux crowd do the same thing.
  • Developer Count. (Score:5, Insightful)

    by Grendel Drago ( 41496 ) on Wednesday February 19, 2003 @12:26PM (#5335446) Homepage
    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
  • Scariest quote: (Score:3, Insightful)

    by pmcevoy ( 10501 ) on Wednesday February 19, 2003 @12:28PM (#5335458) Homepage
    "The first two weeks of development were fairly uneventful, with the NT team using Microsoft Word to create the original design documentation...Finally, it was time to start writing some code."

    Does anyone else design an OS in two weeks?

  • by Lethyos ( 408045 ) on Wednesday February 19, 2003 @12:28PM (#5335459) Journal
    The most amusing bit I found was this:
    "NT 3.51 was a very unrewarding release," Thompson said, contrasting it with Daytona. "After Daytona was completed, we basically sat around for 9 months fixing bugs while we waited for IBM to finish the Power PC hardware. But because of this, NT 3.51 was a solid release, and our customers loved it."
    How horrible for a monopoly software company to have its programmers sit around and do bug fixes! My God, how ever did they survive? Fixing bugs at Microsoft must be like... Hell.
  • by SnowDog_2112 ( 23900 ) on Wednesday February 19, 2003 @12:29PM (#5335475) Homepage
    In all the software groups I've been involved in, it's considered good practice to do a full clean build nightly. Doing incremental builds is fine for developers, but when you want to make a drop that goes into an automated testing suite, etc., you do a full clean build each time, "just to be safe."
  • Re:Hmm (Score:5, Insightful)

    by tshak ( 173364 ) on Wednesday February 19, 2003 @12:30PM (#5335480) Homepage
    NO, it's a piece made by developers, you know, people who care about code, not all of the politics and conspiracy theory's around them.
  • by Mostly a lurker ( 634878 ) on Wednesday February 19, 2003 @12:31PM (#5335491)
    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?
  • Re:NT == VAX OS? (Score:4, Insightful)

    by Bob Abooey ( 224634 ) <bababooey@techie.com> on Wednesday February 19, 2003 @12:34PM (#5335524) Homepage Journal
    Right.

    One can't deny that NT was "based" [winntmag.com] on VMS.

    In fact I recall reading somehere that MS was initially promoting NT as VMS on the desktop, or something along those lines.

  • Bug handling (Score:3, Insightful)

    by vrt3 ( 62368 ) on Wednesday February 19, 2003 @12:34PM (#5335532) Homepage
    "NT 3.51 was a very unrewarding release," Thompson said, contrasting it with Daytona. "After Daytona was completed, we basically sat around for 9 months fixing bugs while we waited for IBM to finish the Power PC hardware. But because of this, NT 3.51 was a solid release, and our customers loved it."
    Does that mean they only solve bugs when there's nothing else to do?
  • Competition (Score:5, Insightful)

    by sql*kitten ( 1359 ) on Wednesday February 19, 2003 @01:01PM (#5335753)
    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?
  • by kfg ( 145172 ) on Wednesday February 19, 2003 @01:07PM (#5335807)
    This isn't a conspiracy. It's an effect of what my granny would have called "knowing what side your toast is buttered on."

    It's endemic in the entire "review industry." In fact, it's rampant in the media industry. Do you think The Filthy Critic gets invited on junkets, or out on the yacht with all the hot, willing little starlets?

    Many reviewers are nothing more than karma whores. That's the reason for the founding of Consumer Reports.

    The ones who are not get "modded down" to the fringes and you're less likely to even come across them.

    That's the way it is, that is the way it shall be.

    KFG
  • by mccalli ( 323026 ) on Wednesday February 19, 2003 @01:11PM (#5335850) Homepage
    C'mon though - bug fixing is dull. That's what they meant by unrewarding - personal satisfaction. They weren't quibbling the necessity.

    Cheers,
    Ian

  • Re:Linux? (Score:3, Insightful)

    by SuiteSisterMary ( 123932 ) <slebrunNO@SPAMgmail.com> on Wednesday February 19, 2003 @01:19PM (#5335913) Journal

    Yes, and they quite clearly say that they're not compiling the NT kernal, they're compiling the contents of the CD; everything from notepad, calc and solitare to the admin tools and everything in between.

  • by kawika ( 87069 ) on Wednesday February 19, 2003 @01:27PM (#5335985)
    Yes, unfortunately, a lot of programmers seem to believe that scratching their own itches is much more important than scratching their customer's itches. If they could enjoy the satisfaction of coding the perfect algorithm AND the satisfaction of making their customers happy, they would be more likely to succeed.
  • I am astounded at the sheer number of developers involved-- well, let me clarify that-- the number that are being paid, overseen, and managed by a single entity for this code. Clearly we know where all the money from those licenses is going, but it's structurally flawed: as software evolves, it will take an increasing number (linear? geometric? exponential?) of developers to build and maintain that OS. However, by trying to maintain them all under one roof, with one management structure, one 'political system' if you will, will always either make the process needlessly inefficient or horribly expensive.

    I am reminded of the massive engineering projects the Soviets used to do just because they could-- it wouldn't make sense in terms of feeding their people or making their lives any more secure, but they did it because the central planners knew they could plan it.

    This seems similar-- NT will become such an incredible beast that the bureaucracy to maintain it will suffocate it, or they'll start taking shortcuts.
  • Re:BS (Score:2, Insightful)

    by SN74S181 ( 581549 ) on Wednesday February 19, 2003 @02:02PM (#5336341)
    Marketroid driven closed source software does not work.

    I feel ridiculous for even having to say this, but the first line in your comment was 'Blanket statements are stupid....'

    Don't you feel like an idiot now? You should have clicked 'review' and looked closely at your message body before submitting.
  • by Ndr_Amigo ( 533266 ) on Wednesday February 19, 2003 @02:07PM (#5336402)
    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 :)
  • by SN74S181 ( 581549 ) on Wednesday February 19, 2003 @02:12PM (#5336450)
    Linux zealots tearing at Windows all the time is just as stupid and as much FUD as Windows zealots that tear at Linux all the time.

    There's a history behind this phenomenon in the 'Linux community.'

    In the early days of Linux, everyone involved was a Unix enthusiast. There was a snobbish tendency at that time to dismiss anything Microsoft, but there wasn't the anger and hostility that there is now.

    As the Microsoft Batallion rolled on, the expatriates from all the losing platforms (Amiga, Atari, OS/2, some Mac people) crowded onto the Linux 'ship.' Now there is a solid subsection of the 'Linux community' that actually represents the majority of vocal Linux users, who are bitter 'Anything-But-Microsoft' naysayers.

    These people really foul things up. They bring a strong taint of negativity to the community. Much of what they constantly push Linux to become (these are the 'We need ONE UNIFIED DESKTOP to DEFEAT MICROSOFT' people) actually ends up hurting Linux and Open Source.

    It sure used to be a lot more fun to run Linux.

  • Flamebait?? (Score:3, Insightful)

    by Bishop ( 4500 ) on Wednesday February 19, 2003 @02:43PM (#5336822)
    The NT kernel was good. Then Microsoft moved the GUI into the kernel.

    This is pretty much spot on, not flamebait.

    To be fair to MS they had to do something to improve GUI performance in order to move NT onto worstations, and to a certain extent compete with other servers. NT3.51 was fine as a server, but painfull as a workstation. Win3.1 and later Win95 both provided much better user response. It is hard to sell your "high performance" OS when it feels slower then the old tech.
  • by zackbar ( 649913 ) on Wednesday February 19, 2003 @02:46PM (#5336868)
    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.
  • by dbk25 ( 565275 ) on Wednesday February 19, 2003 @03:06PM (#5337100) Journal
    I was interested, a frankly a bit bothered, by this:

    "The source code control system we use now is new, because we really pushed the scale of the previous version with Windows 2000. Mark [Lucovsky] personally lead the development of the new system and introduced it post-2000."

    The process described in the article depends heavily on branching and migrating changes between branches. Microsoft's version control product, Visual SourceSafe (VSS), has some serious and well known weaknesses in precisely those areas, which is why we are looking at a replacement.

    VSS development has been minimal for years. Since Microsoft advertises that use the same development tools (Visual Studio, Visual C++, etc.) that they sell, I find it frustrating that for version control they've gone forward internally but left us VSS customers behind.
  • by g_goblin ( 631117 ) on Wednesday February 19, 2003 @03:12PM (#5337129)
    Hmm... I didn't know I was a Redneck... maybe I should go buy some tobacca and start spitting in your eye... f'ing coward.

    The truth of the matter is both OS's, *Nix and Windows, have their strengths and their weaknesses. You have to be able to identify how they affect your environment and work around them.

    I like the article because I like to see what goes on behind the green curtain. I just wish Bill would let us see if it is a giant or a little person doing all the work.

    Pa Ting!!!!
  • by esarjeant ( 100503 ) on Wednesday February 19, 2003 @03:18PM (#5337208) Homepage
    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.
  • by geeklawyer ( 85727 ) on Wednesday February 19, 2003 @03:24PM (#5337253) Homepage Journal
    "..They wanted to work with Novell, but Novell weren't interested.."

    You have this inverted. It would've been rather more insightful if you'd asked why people dont want to work with Micro$oft. Think stacker patent, DOS, Sendo, utility apps, etc etc etc etc. People who do joint ventures with MS wind up getting f**ked up the arse by them. This is why phone and embedded device manufacturers have the often expressed attitude "we'll work with anyone but M$".

    Asking why no-one wants to work with M$ is a bit like Saddam asking "no-one wants to hang with me. Why is that?"
  • Availability (Score:3, Insightful)

    by Door-opening Fascist ( 534466 ) <skylar@cs.earlham.edu> on Wednesday February 19, 2003 @06:32PM (#5339162) Homepage
    Windows Server 2003 hit 99.995 percent availability at the Release Candidate 1 (RC1) stage last summer
    Correct me if I'm wrong, but doesn't this mean that they must have had something running a year before that? 4.5 9's of availability is what, a day of down-time per year?
  • by gottabeme ( 590848 ) on Thursday February 20, 2003 @08:44AM (#5342654)
    Reading this article illuminated some of the things that IMHO are wrong with Microsoft's methods of developing software and handling their employees.

    Heated argument and cursing are a given in War Room, and the penalty for not being on top of your bugs is swift and cruel ridicule from the other team members.

    If that's true, that's incredibly unprofessional. Now I know many coders prefer to work in a relaxed, casual atmosphere, but to me that is taking it way too far. It can't be good for morale either. Devs should be expected to do their job to the best of their ability, get help if needed, and keep their bosses appraised of their progress. If they don't do all of that, they aren't doing their job. If they aren't doing their job, why are they working there?

    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."

    That is a completely wrong attitude. If the rest of Microsoft is like that, that explains many of the problems with Microsoft software. That attitude would be fine if the only people affected by a bug were those responsible for fixing it. But the people that are affected by bugs are the people that buy and use their software: their customers, the people who pay their salaries. It is irresponsible of a person in charge of a project like that to not fix a problem he is aware of just because the subordinates who are supposed to fix it didn't show up for one of their three-times-daily meetings. It's starting to sound like they're only concerned with bug counts and severity ratings, reaching only for the goal of Release To Manufacturing to satisfy their shareholders that Product X is out the door and on sale.

    In addition to the main War Team, each of the feature teams have their own War Rooms, so there could be as many as 50 such meetings each day, each going over a specific component of the system. These other War Room meetings occur at 8 a.m., every day. When a bug fix passes the local War Team process, it's introduced at Wanke's meeting. "They can't come into War Room unless they're fix-ready," Wanke said. "They must be fix-ready." Because there isn't a single person making decisions, there is a system of checks and balances through which each bug fix passes before it's introduced into the build.

    So, if people don't attend the War Room meeting they get chewed out, but they aren't allowed to attend until they have finished what they're working on? Maybe some details are missing, but if it's that simple, no wonder MS software is such a mess. "Be here or else." "Don't show your face unless you have your fix finished." Do you see a conflict here?

    We've sent out calls at 3 a.m. when the build is broken, find the developer that broke it, and get him into work right then and fix it immediately. The developers are on call 24 hours a day.

    Again, irresponsibility. A dev should not leave for home until he's finished with his work. Finishing his work should include having tested his work that's been submitted as complete. If a dev submits broken code and leaves, he's not doing his job. Mistakes can happen of course, but a 24-hour on-call policy for programmers?! That can't be good for morale either. They should put in their hours, do their job right, and go home and (try to) forget about work. If they mess things up so badly that they have to get up at 3 AM to fix it, they are not doing their job right.

    "I'm responsible for 8000 to 10,000 developers, program managers, and testers..."

    Another problem. 8,000 to 10,000 people is like a division of a company, or a whole company in some cases. A person in charge of that many people should be in charge of general operations, not a single product. In other words, that's way, way too many people working on a single product. If you compared the number of people who work on Windows to the combined number of people that work on Linux or other open-source software with equivilant functionality, would the numbers be anything close? I don't know, but I doubt it. But even if the numbers are close, the way the software is made (independant programs that work on their own) avoids the problem of having to coordinate so many people.

    On the day that we attended War Room, on January 21, 2003, Windows Server 2003 had hit an "absolute historic low" for bugs, according to Wanke. "We're shutting down the project this week," he said. "It's done. We're going to ship it." On that day, WinServer 2K3 had just a few active bugs, and at least a quarter to one-third of those bugs were simple branding issues. "So let's say there are about 150 outstanding issues to address," Wanke told us. "Of that, we'll fix about 100. All of the bugs are severity rated from 1 to 3, plus they get a priority rating. We have [a few] severity-1 bugs left to fix, and those all have to be fixed for us to ship."

    Wanke said that the server team had already fixed all of the known security vulnerabilities.

    So, Microsoft will ship software with known, fixable bugs in it (not news but making a point). That again demonstrates their attitude towards the quality of their software and their attitude towards their customers. They should but a sticker on the box that says "This software contains known bugs. A list can be found at www.microsoft.com/bugs." Of course, I guess their attitude is that their huge, legalese EULA discounts any responsibility and disclaims any fitness of purpose or quality. It also doesn't indicate much pride in their product (maybe they do have pride in it, but still...). Yes, all software will have some bugs in it I guess, but to decide to not fix already-known bugs and go ahead and sell their software seems irresponsible to me.

    My two bucks. Should be interesting to see other opinions on this.

Suggest you just sit there and wait till life gets easier.

Working...