Slashdot Mirror


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*

48 of 681 comments (clear)

  1. hmmm... by garcia · · Score: 5, Funny

    The stuffed mascot in the background looks an awful lot like someone else we know ;)

    1. Re:hmmm... by Anonymous Coward · · Score: 5, Interesting

      Sorry, but I think that's Waddle, the Beanie Buddy (a larger version of Waddle, the Beanie Baby). Penguins are cool to a lot of folks - and not all stuffed penguins are Tux.

    2. Re:hmmm... by Anonymous Coward · · Score: 5, Funny

      don't you find it sad that you know that?

      Plus, I think it was pointed out b/c it was the "war-room" and there was a penguin in it.

  2. NT compile script by Limburgher · · Score: 5, Funny
    First line:

    #!/bin/bash

    --

    You are not the customer.

    1. Re:NT compile script by pyrros · · Score: 5, Funny
      Nah, my money is on:
      @echo off
    2. Re:NT compile script by csguy314 · · Score: 4, Funny

      First line:

      #!/bin/bash


      Line two:
      #By compiling this program you agree to the following terms:

      --
      This is left as an exercise for the reader.
  3. NT & VMS by syr · · Score: 5, Informative
    Here's more background information including VMS data.

    GameTab - Game Reviews Database

  4. WinNT development cycle. by grub · · Score: 5, Funny


    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,
    1. Re:WinNT development cycle. by ImpTech · · Score: 5, Funny

      > 3) go to 0

      Dijkstra is rolling over in his grave...

    2. Re:WinNT development cycle. by jeriqo · · Score: 5, Funny

      > 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

      Damn! They use gotos in the development of windows?!
      I know understand why it keeps crashing..

      --
      Alexis 'jeriqo' BRET
    3. Re:WinNT development cycle. by MaxQuordlepleen · · Score: 5, Interesting

      [---snip---]
      tanzarian:/$ grep -r ' goto ' /usr/src/linux | wc -l
      1543
      [----snip---]

      that's from 2.4.19

  5. There we have it by Anonymous Coward · · Score: 5, Funny

    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.

    1. Re:There we have it by chrisseaton · · Score: 5, Insightful

      _All_ developers are cocky - very cocky. It's not just a Windows thing.

  6. Re:NT == VAX OS? by guy-in-corner · · Score: 5, Informative

    No. Dave Cutler, who was lead developer for NT, was previously one of the lead developers for VMS. I don't think that MS actually took any of the source code from VMS for NT, however.

  7. Hmm by CoolVibe · · Score: 5, Insightful
    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.

    1. Re:Hmm by mrpuffypants · · Score: 4, Interesting

      Winsupersite is, for the most part, a very pro-microsoft website...however, even if their reviews and previews may be slanted a bit they still get very early releases of different products and write decent reviews of them...with lots of screenshots!

    2. Re:Hmm by tshak · · Score: 4, Insightful

      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.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    3. Re:Hmm by IntlHarvester · · Score: 4, Informative
      The article pretty much hits on the main point of contention between IBM and Microsoft -- IBM just wasn't interested in their Windows project.

      There was a simmering fight over whether OS/2 should be "Protected Mode Windows" or whether Windows should be "Presentation Manager for DOS". Since neither platform had that many users or developers at the time, it could have gone either way.

      The key characteristic of the new API, eventually named Win32, is that, though it was a new API, it looked and acted just like the 16-bit Windows APIs, letting developers easily move to the new system and port their applications. "We made it possible to move 16-bit applications to NT very easily,"

      While they make this sound like a Gee Whiz revelation, but in fact Microsoft wanted Windows compatibility in OS/2 from the beginning and IBM wanted a unique API.

      Since IBM wore the pants, they won the day originally. However this really bit them in the ass with the the subsequent popularity of Windows 3, because it was difficult to target OS/2, so software was either missing or dismissed as a poor Windows port.

      Not that Win32 was a huge success in the early years either -- most software had to be run in the Win 3.1 emulation, and even MS themselves only belatedly produced a 32-bit version of Office and not much other software.
      --
      Business. Numbers. Money. People. Computer World.
  8. Alpha by deacent · · Score: 5, Interesting

    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

    1. Re:Alpha by Elbereth · · Score: 4, Informative

      Yeah. NT on the UDB was actually pretty tolerable. I ran NT4 Server on a 166 MHz 21066 (first generation Alpha). I found it to be quite usable. I didn't keep NT4 on the Alpha for all that long, as this was just an experiment. I had the NT4 disc, I had a UDB, and I had some time to waste.

      You have to remember that NT4 was a 32 bit operating system, even on the Alpha. Therefor, you didn't really gain much by going to the Alpha, except for some nice speed boosts (it was definitely the fastest CPU on the market for years).

      It was similar to running NT4 on a Pentium Pro 166 or 200.

      The biggest problem I had was finding software. However, everyone's favorite telnet app, putty, comes compiled for NT4/Alpha.

      The Register previously offered Windows 2000 for the Alpha, if you asked them for it. I never did, since my UDB was seriously underpowered (128MB RAM, 166 MHz).

  9. I can see the round table discussion now. . . by bplipschitz · · Score: 4, Funny

    "You compile it today."

    "No way--*you* compile it!"

    "No way! Hey--let's get Mikey, he'll compile *anything*!"

  10. Security? by elliotj · · Score: 5, Funny

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

  11. Compiled? by patvan · · Score: 5, Funny

    I thought it was forged deep within Mt. Doom...

  12. History of Windows by Toasty16 · · Score: 4, Funny
    Bill Gates: "We need an OS that doesn't suck."

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

  13. Why do Microsoft reviewers always sound... by defile · · Score: 4, Insightful

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

  14. best quote from the article by babycakes · · Score: 5, Funny

    "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" :)

  15. Incremental build? by BenjyD · · Score: 5, Funny

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

    1. Re:Incremental build? by BZ · · Score: 5, Informative

      If you look at other large projects of this type (eg Mozilla), both clean builds and dep builds using make are done on automated build systems. The two types of builds will find different types of issues.

    2. Re:Incremental build? by SnowDog_2112 · · Score: 5, Insightful

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

      --
      Not representing or approved by my company or anybody else.
  16. Did someone say cocky? by Anonymous Coward · · Score: 4, Funny

    ...the War Room is run by Todd Wanke...

    Oh dear. Poor Todd.

  17. The NT Kernel Is Good by DakotaSandstone · · Score: 5, Interesting
    I know this is the equivalent of Flamebait on /., but the NT kernel (borrowed though it may be from other OS ideas) is actually darn good.

    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.
    1. Re:The NT Kernel Is Good by Elbereth · · Score: 4, Interesting

      The NT kernel was good. Then Microsoft moved the GUI into the kernel. We all know what happened after that. Okay, to be fair, the NT kernel is still pretty nice, but it's deeply annoying that Microsoft is so willing to sacrifice stability for a little more speed. I find it difficult to crash Win2k and XP, but it does happen... mostly from PC games.

    2. Re:The NT Kernel Is Good by DakotaSandstone · · Score: 5, Interesting
      Good point. That was a mixed blessing. But then again, so is the fact that any 3rd party can write a kernel driver (although MS is trying to assuage this with things like driver signing)

      I've read some interesting defenses of moving GDI to the kernel. Some of the rationale was:

      • GDI crashing, be it in the kernel or user mode, is basically a fatal system error. As designed, it is not clear how NT could "restart" a crashed user-mode GUI subsystem. Even if GDI is user mode, if it crashes, you'd probably have to reboot anyway.
      • There are many other complex subsystems that exist in the kernel, and have been made pretty bulletproof (scheduler, disk subsystem). What makes the graphics subsystem any more dangerous? Yes, moving code to the kernel requires less buggy code, but we're Microsoft, and we're up to the challenge. It can be done.

      Personally, I would love to see an OS take advantage of more than 2 of the 4 "rings" an x86 processor has. In such an OS, one could theoretically have a driver crash, and could still recover.

      Until that day, though, I agree - GUI subsystem code is hard to make bulletproof, and moving said code into the "sacred" kernel is pretty gutsy.

      --
      Nothing is so smiple that it can't get screwed up.
    3. Re:The NT Kernel Is Good by IamTheRealMike · · Score: 4, Informative
      I really like the NT Kernel. What driver developers do with it isn't the kernel's fault.

      Well....... maybe.

      I seem to recall an MS employee claiming that it was entirely Microsofts fault Windows was so unstable, even though crashes were normally caused by faulty drivers. His theory was that if MS were more open with the kernel code, driver manufacturers could work more closely and easier with them, and the overall stability would go up. Instead what happened (they claimed) was that they would investigate a crash, find that some dodgy driver was screwing about with the kernel and so they'd tighten up the interfaces, get even more secretive with the code. The driver developers, faced with a brick wall, would then invent even more elaborate (and fragile) hacks to do what they want, so the stability went down, not up.

      So, you can't really blame the kernel as a thing per se, but perhaps you can blame the management of it. Linux is now facing a similar problem with the growth of binary only drivers - they tend to hook into the ksyms and cause extremely hard to track down bugs, which is why they are no longer allowed to use those hooks.

  18. argument clinic by Mr_Silver · · Score: 4, Funny
    If there are one or more bugs in IIS, for example, a representative of the IIS team needs to be present to not only explain the merits of the bug, but whether customers are affected, how the fix might affect other parts of the system, and how soon it will be fixed.

    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.
  19. Re:NT == VAX OS? by scrytch · · Score: 5, Informative

    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.

    That would be VMS (some VAXen ran Ultrix, poor things). IBM and MS started a collaboration called OS/2, then later decided to part ways. Whatever MS's other motives were in the split, MS was staking its entire future on what was to IBM a toy project, so MS wasn't entirely enthusiastic about development at IBM speed. IBM kept the OS/2 name, MS hired Dave Cutler from DEC, Cutler dubbed the new fork WNT: that's the letters after VMS, and any expansion is entirely a backronym.

    NT does include some of VMS's heritage, including strong async I/O support throughout. The DOS stuff is really a matter of emulating the interface -- a whole lot of work went into making drive letters and backslashes work everywhere, believe it or not. Not surprisingly, it tends to share more in common with OS/2, with the supervisor design and the object manager for starters.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  20. NT source by ptaff · · Score: 5, Funny
    Oh, so now we learn that NT is not from "New Technology".

    So in a couple of years we'll learn that:
    • ME: Miserable Everytime
    • CE: Cramped Environment
    • XP: Xor Performance
    • Office: Other File Formats Imply Collaboration: Encrypt!

  21. Developer Count. by Grendel+Drago · · Score: 4, Insightful

    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
  22. It lost its independence with 4.0 by idiotnot · · Score: 4, Informative

    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.

  23. Secret .NET language leaked by jsse · · Score: 4, Funny

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

  24. Competition by sql*kitten · · Score: 4, Insightful

    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?

  25. Only the Linux KERNEL is 5 mln lines by stevenp · · Score: 4, Informative

    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.

  26. Where's the profit? by YetAnotherName · · Score: 5, Funny

    That "goto" in line 3 prevents lines 4 and 5 from working:
    4) ???
    5) Profit!

    (Not that Micro$oft needs anymore of that.)

  27. don't be happy by newsdee · · Score: 5, Funny

    That mascot is probably reserved for voodoo rituals :-) Geek or not, it's still MS... :-)

  28. Re:it's tux, troll. by frenetic3 · · Score: 4, Funny
    Waddle does not have a red eye. [iluvcollectibles.com] At least not on the TY site and he was discontinued in 98. You must have been paid to make that silly remark, that or very stupid.
    Where is my "+1, Huge Nerd" mod option when I need it... :P

    -fren
    --
    "Where are we going, and why am I in this handbasket?"
  29. ReactOS by dcuny · · Score: 4, Interesting
    Why not have a look at ReactOS, an open source clone of NT?

    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:

    • Shut up and coded...
    • Picked NT as a target instead of the more glitzy Win9x
    • And coded...
    • Focused on core features instead of the GUI
    • And coded...
    • Borrowed from Wine where it seemed sensible

    Did I mention they spend thankless hours coding?

  30. How MS "punishes" bug meeting truants by dpbsmith · · Score: 5, Interesting

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

  31. 50+ million lines of code! by vena · · Score: 4, Funny

    all brought down routinely by 5 line scripts :(