Slashdot Mirror


Windows NT Turns 20

An anonymous reader writes with a link to the observation from ZDNet's Mary Jo Foley of Windows NT's 20th birthday (it came out on July 27th, 1993): ""In 1993, Microsoft launched Windows NT 3.1. It was followed up by NT 3.5, 3.51 and 4.0. Microsoft's Windows releases still rely on NT-inspired numbering conventions. Windows 7's build numbers commenced with 6.1; Windows 8's with 6.2; and Windows 8.1 with 6.3." The article also reminds us that "NT's not ancient history, in spite of its age. The NT 'core' is what's inside Windows 8, Windows Server 2012, Windows Phone 8, Windows Azure and the Xbox One.""

35 of 213 comments (clear)

  1. Lesson One by Anonymous Coward · · Score: 5, Insightful

    The article also reminds us that "NT's not ancient history, in spite of its age. The NT 'core' is what's inside Windows 8, Windows Server 2012, Windows Phone 8, Windows Azure and the Xbox One.

    Indeed. No matter how structurally sound your operating system may be, UI developers (receiving messages from on high) can still make it look like trash.

    1. Re:Lesson One by Anonymous Coward · · Score: 2, Insightful

      How's the kernel you wrote doing these days? Easy to criticise others i guess.

    2. Re:Lesson One by Jeremiah+Cornelius · · Score: 3, Insightful

      The kernel is not structurally flawed.

      It's just as sound as it was, the day Dave Cutler's team built an experimental port of VMS to CMU Mach. It's just as sound a kernel, as the day Microsoft ripped-off VMS from DEC.

      It is the perversion of microkernel VMS by a flawed loadable driver model, and the .DLL nightmare that really sucks, and introduces "unpredictable" behaviors.

      "Hey! PDP-11? Ask me how!"

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    3. Re:Lesson One by Anonymous Coward · · Score: 4, Funny

      How's that post you wrote criticizing the post above you these days? I bet you don't think it's so easy to criticize oth-- oh, wait.

    4. Re:Lesson One by EvanED · · Score: 5, Insightful

      You don't need to have done something better to be able to determine whether something is good or bad.

      Now that said, the NT kernel itself is pretty solid.

    5. Re:Lesson One by msobkow · · Score: 2, Informative

      VMS pre-dated BSD substantially, and NT is basically a rewrite of the VMS kernel.

      --
      I do not fail; I succeed at finding out what does not work.
    6. Re:Lesson One by epyT-R · · Score: 5, Insightful

      Actually the NT kernel is probably the most well engineered component of modern windows. hell, it is what gave windows things like preemptive multithreading, proper memory protection, and hardware abstraction. The win32 base runtime sits on top of this, and pretty much everything else microsoft has released over the years acted as a wrapper for it. Windows 95 was the attempt to squeeze win32 into 4MB of ram for consumer machines while keeping hardware ports accessible by dos applications. These two goals were fundamentally in conflict with stable and reliable software. The reason we don't have to reboot windows every few hours anymore is due to the windows NT kernel.. As bad as you may think windows to be, it's A LOT better than the days of 3.x/9x.

    7. Re: Lesson One by jeffasselin · · Score: 3, Insightful

      DLL hell wasn't as bad in 2k and XP and is almost entirely gone now since Vista thanks to SxS.

      http://en.wikipedia.org/wiki/Side-by-side_assembly

      --
      If he explores all forms and substances Straight homeward to their symbol-essences; He shall not die.
    8. Re:Lesson One by nukenerd · · Score: 2

      How's the kernel you wrote doing these days? Easy to criticise others i guess.

      Who TF modded this as "Insightful" ?

      Here is a quote (AFAIR) from the great Dr Johnson :- "I can criticise a carpenter for a badly made table, even though I could not make a table myself. It is not my job to make a table."

    9. Re:Lesson One by benjymouse · · Score: 3, Insightful

      Interactive services can expose system-level access to users - a design flaw shich should not be allowed.

      This was deprecated in Windows 2000/XP (and you had to explicitly allow a service to interact with the user) and it was disallowed in Windows Vista and has been ever since.

      The problem was that a service which typically runs with some form of elevated rights (at least to some resources) could expose those rights/permissions if there was a flaw in the interactive part that communicated with the user.

      Your complaint is interesting, because the risk is very much the same posed by sudo (and every other SUID root) utility: The user is allowed to directly interact with a process which has higher privileges than the user.

      Windows eliminated it. What about SUID root tools, which have historically *many* vulnerabilities and actual exploits and system compromises on its conscience?

      I also remember when Vista moved graphics processing into user mode, so that the usual BSOD from graphics drivers famous in XP would simply be an abnormal termination. Reading suggests this was reversed in 7 because of the slowness this added.

      Sorry, but this is BS. You need to cite sources for that "reading" you have done.

      WDDM is still very much a split driver model where the driver author has to create a (small) kernel mode part and a user model part. The graphics subsystem is still much more stable on Windows than Linux. And even when the driver or hardware fails (e.g. overheated) it merely resets and comes back up, *without* killing any processes, clipboard or services.

      If graphics - fundamentally the way the OS communicates with the user, since the command-line is supposed to be a second resort - has to be so close to the metal it can't be in user space without slowing it down, this is not good.

      Wrong on all counts. Windows allow multiple ways to "communicate with the user". Core versions of the servers, for instance, does not use GUIs. And it is your BS claim that it "is slowing it down". All benchmarks I have seen strongly suggests that Linux has a very hard time keeping up with Windows in this area - even when Windows uses a compartmentalized (and more stable) driver model.

      But if the intent is to provide a windowing environment, and the method of doing so is not secure, maybe the kernel has exceeded its usefulness.

      1998 called. This is not the 9X kernel. The Windows kernel of today runs services in a ''seperate session'' from the users session.

      I should also say that a lot of uninformed people parrot the idea that the kernel is well designed, siply because it flies in the face of all the Microsoft hate. The original nerd hipster, who likes something - or believes that something can be good - even if the masses hate it. Or just because the masses hate it.

      So far you have offered nothing but speculation and outdated myths. Talk about uninformed.

      I have personally used a Shatter attack to expose passwords masked by asterisks. There is a single byte in the window definition that says "replace every character with this one because this is a password box". If it is not filled in, the text box is normal. If it is filled in, it's a password box. Most apps that display a password set the password style (by default filling that byte with an asterisk) and put the password up.

      I don't know a single application that pre fills password boxes with the current password. Would you care to elaborate on that?

      Since Windows Vista, applications running with medium integrity level *cannot* freely send messages to other processes' windows. UAC integrity levels mandate that in order to send

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  2. NT 3.51 was the best kernel by JoeyRox · · Score: 4, Interesting

    I've seen the source and it's a work of art. Whoever they had working on NT 4 for the PnP and other additions really massacred the code.

    1. Re:NT 3.51 was the best kernel by Anonymous Coward · · Score: 4, Insightful

      I didn't see the source but could definitely tell. I remember NT 3.51 being very responsive even when a program was misbehaving. If I recall I had it run 16-bit programs in their own memory so they didn't affect each other. NT 4.0 did seem like PnP was just crammed in along with the Windows 95 interface. I feel old.

    2. Re: NT 3.51 was the best kernel by jeffasselin · · Score: 2

      Oneof the major issues wit 4.0 was how they switch the video drivers to ring 0 for better performance, but most video drivers in those days were total crap. Things have gotten better.

      --
      If he explores all forms and substances Straight homeward to their symbol-essences; He shall not die.
    3. Re:NT 3.51 was the best kernel by Hartree · · Score: 2

      We were using it for DEC Alpha servers doing credit card transactions rather than user machines. at least for that it did pretty well. We only took it down once in 3 years to upgrade the drives.

      Some form of Unix could have done the same work with half the machine, but others wrote the system before I came on the scene.

      I had Linux as one of the OS's on my workstation and liked it a lot. For the Unix servers processing check transactions and doing database work (Oracle) we used SCO instead as we were using X25 and multi-serial port cards for some of the communications and terminal serving. Linux just didn't have the drivers for them in those days.

      The place was an absolute dog's breakfast of different OS's from SCO to OS2 to every version of windows and dos you can imagine.

      It was one of those "character building experiences".

  3. It was originally a pretty good design by msobkow · · Score: 5, Interesting

    Originally it was a pretty good design, based on the concepts implemented by DEC's VMS system. It only got butchered later by people who didn't know their stuff as well as the original engineers.

    Warts and all, Windows owes it's lineage to VMS and the once mighty DEC.

    I've heard there are still places running VMS-based hardware.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:It was originally a pretty good design by Trepidity · · Score: 4, Informative

      I've heard there are still places running VMS-based hardware.

      Hell, VMS-on-VAX was Digital's replacement for the PDP line of minicomputers (phased in in 1977), and even their predecessors are still running in a few places.

  4. Here's to Kernels by lobiusmoop · · Score: 4, Funny

    The Linux kernel would have bought it a beer, but it hasn't turned 21 yet.

    --
    "I bless every day that I continue to live, for every day is pure profit."
    1. Re:Here's to Kernels by SimonInOz · · Score: 2, Interesting

      Legal drinking age is 18 in Finland (and much of the civilised world, actually. USA is kinda weird. Mind you, allowing driving and drinking at the same time, does that sound like a good idea? Maybe they are right. No, surely not).

      No, wait, Linux first release was 1991, that makes it, um, 22. What the heck is wrong with your arithmetic? What do they teach at school these days? Bah. Get off my lawn. (And yes, I did program PDP 11s back in the day. Why do you ask?)

      --
      "Cats like plain crisps"
    2. Re:Here's to Kernels by colinrichardday · · Score: 3, Informative

      Perhaps the GP meant that the NT kernel hasn't turned 21 yet.

  5. Windows NT's name by norite · · Score: 5, Interesting
    In case anyone was wondering what NT stood for

    V +1 = W
    M + 1 = N
    S + 1 = T

    --
    -- Fuck Beta
  6. Seriously? by BobNET · · Score: 4, Informative

    An article for WinNT turning 20, but nothing for Slackware when it did the same 10 days ago? What is wrong with you, Slashdot?

    Wait, don't answer that...

    1. Re:Seriously? by jones_supa · · Score: 2

      An article for WinNT turning 20, but nothing for Slackware when it did the same 10 days ago? What is wrong with you, Slashdot?

      Wait, don't answer that...

      You could have submitted it to Slashdot. That's how this place runs...

  7. Windows OS version numbers from NT4 onwards by Lieutenant_Dan · · Score: 2
    --
    Wearing pants should always be optional.
  8. I remember the good old days by WaffleMonster · · Score: 3, Insightful

    When every new release of NT brought with it new and useful features at least I was always excited to upgrade from 3.5 on till about 2K8.

    Now nobody seems to care about technology anymore... It is all politics, marketeering and guarding the table to ensure no excess value is ever left upon it. Innovation is now measured by games with shells, errecting walled gardens and fresh paint of questionable quality. Sad to see so much potential go to waste.

    1. Re:I remember the good old days by SJHillman · · Score: 3, Interesting

      2008 R2 has some nice improvements over 2008, and 2012 has a lot of nice new stuff, but I *hate* that they decided to use the Metro UI for Server 2012. I liked having the Windows Classic theme for 2003/2008. The Metro UI makes it more difficult to get to some basic settings. It's a server, make it simple and straightforward and aesthetics be damned.

  9. Re:DLL nightmare by Jeremiah+Cornelius · · Score: 2

    Debug an NT device driver.

    Hey! I recognize this!

    --
    "Flyin' in just a sweet place,
    Never been known to fail..."
  10. Re:Doesn't it go further back? by devman · · Score: 4, Informative

    DOS stopped being in the core with WinME. WinNT was based on VMS and never had DOS lineage.

  11. Last revolutionary M$ product by michaelmalak · · Score: 3, Insightful

    NT was the last revolutionary product put out by Microsoft. VB3 came out the same summer, and was also revolutionary. Excel 4.0 and Word 2.0 were the only other two revolutionary Microsoft products, and those came out the year previous.

    All of these products are essentially unchanged over the past 20 years, with even the same codebase, with the exception of VB 3.0, concepts of which continue in the 2nd generation Visual Studio product (based on the late-90's Visual Interdev platform, chucking the highly responsive 1st generation that ended with Visual Studio 6.0).

    1. Re:Last revolutionary M$ product by mlts · · Score: 4, Informative

      Being my usual devil's advocate, there have been some innovations which have been useful that MS has made. They are not revolutionary as NT (which was nice at the time because it was completely pre-emptive, while Windows and System 7/8 were cooperative multi-tasking operating systems.)

      One of the bigger ones was the jump from NT 4.0 with all its service packs to Windows 2000. The old domain structure got tossed for a new directory server model, which has proven to stand the test of time in companies. Nothing is perfect, but AD has been decently reliable and secure. I don't often hear about complete compromise of AD unless someone managed to get complete rights on an AD server.

      GPOs are another item. This is something that has zero value to all but enterprises, but are extremely useful when they come to play. The enterprise-tier management tools in Windows are not perfect, but they are extremely useful. If I want to lock access to USB flash drives to certain users, I can easily do that with security groups and OUs. This isn't flashy, but it makes life easier to turn the legal department writings into stuff I can say I can implement.

      Then, there are some cool features. Windows Server 2012 has disk deduplication. This will come in handy on VM servers. It isn't perfect deduplication, as it is a two stage thing (writes are done normally, and a background task removes the duplicated blocks with links), but it is something useful.

      There are also things that get the "A for best effort" award. .NET comes to mind because it does help with some basic security issues, and allows one to use their language of choice (I even remember visual ADA.)

      To me, MS is a mixed bag. They do some cool things in the enterprise. However, on the user front, they need some help/polish. They need to focus on developer morale so a new platform would get a critical mass of apps/games on it when it comes out.

    2. Re:Last revolutionary M$ product by mendax · · Score: 2

      I would opine that Windows 95 was actually the last innovative product that Microsoft brought out. Think about it: 16- and 32-bit program support, plug and play (or "plug and pray" as we called it early on), protected memory support, good virtual memory support, pre-emptive multitasking, networking support. Yes, as a multitasking operating system is was mediocre and its stability left little to be desired when compared to Windows NT, but compared to available alternatives (Windows 3.11 and MacOS) it was miraculous. AND it ran on just about every configuration of PC hardware imaginable.

      --
      It's really quite a simple choice: Life, Death, or Los Angeles.
  12. Re:DLL nightmare by 0123456 · · Score: 3, Interesting

    I have yet to experience this DLL nightmare you speak of. I've had way more dependency hell on Linux than anything. Say you find a great program that does exactly what you need. Well the author based it off some obscure library that needs a dozen other dependencies

    Fortunately, 'apt-get install great-program' always works for me.

    I still don't understand how VMS can be compared to NT. They don't even seem remotely similar.

    VMS
    WNT

    Just as HAL was one step ahead of IBM, Windows NT is one step behind VMS.

  13. Re:Doesn't it go further back? by SJHillman · · Score: 2

    The DOS line ended with Windows Me. For a while, MS had the home line based on DOS and the business line based on NT. At the turn of the century, they dropped the DOS lineage and just made different versions of the NT lineage (Home and Pro).

  14. Re:OS/2 was better by Anonymous Coward · · Score: 3, Interesting

    OS/2 1.x was primarily done by IBM using IBM's tools

    After v1.0. Microsoft was entirely responsible for the initial releases of OS/2.

    the 286, a processor designed by IBM for IBM

    Wrong. Intel designed the 80286. IBM (along with other chip makers) made their own version later on.

  15. Windows NT 3.51 by ta0 · · Score: 2

    Windows NT 3.51 was the most stable operating system I have ever used.
    I miss it sometimes.

  16. Re:DLL nightmare by serviscope_minor · · Score: 2

    Talk about a flawed model. Instead of dealing with the problem (reference management), Linux repositories sweeps the problem under the rug.

    I strongly suspect that you do not understand the problem fully.

    I then read your post and became convinced.

    Linux has no .SO or dependency hell as you seem to think.

    On a fine grained level, libraries support symbol versioning (e.g. libstd++) so a new libstdc++ can link against an old program, provided the versions do not drift too far. On a coarser level, you have shared object versioning, so you can have multiple different versions of a .so in a system all within the same path.

    On the coarsest level, you can override linker paths manually, so if you want to override a SO include or the other mechanisms can't cope for some reason then it still works.

    Once you understand this it is easy to package a binary that runs on basically every Linux distro out there. People who understand include Mozilla, libreOffice, OpenOffice, Mathworks and a whole slew of others. I clearly understand because I can ship binary code with cross distro compatiblity.

    Basically it works and it works well.

    The thing is that if you're not using a system library, then you need to ship the libraries you're using. This is a minor hassle (compared to the normally trivial ./configure&&make&&sudo make install) and worse it means every tiny utility loads its own copy and takes up that little bit more memory. The thing about having everything on the same .so version if possible is it is really much more efficient for memory use. To package everything separately would involve having vast numbers of duplicates of libraries and would have the lovely upgrade hell that you get on OSX and Windows where every program nags you for updates.

    --
    SJW n. One who posts facts.