Slashdot Mirror


Vista's Graphics To Be Moved Out of the Kernel

Tiberius_Fel writes "TechWorld is running an article saying that Vista's graphics will not be in the kernel. The goal is obviously to improve reliability, alongside the plan to make most drivers run in user mode." From the article: "The shift of the UI into user mode also helps to make the UI hardware independent - and has already allowed Microsoft to release beta code of the UI to provide developers with early experience. IT also helps make it less vulnerable to kernel mode malware that could take the system down or steal data. In broader terms, this makes Windows far more like Linux and Unix - and even the MacOS - where the graphics subsystem is a separate component, rather than being hard-wired into the OS kernel."

35 of 555 comments (clear)

  1. The Bloat Divides? by ackthpt · · Score: 4, Insightful

    So this is like cell division. The bloat of Windows divides into the Kernel and UI pools.

    Taking this article into account, it seems clear why the massive graphics card requirement. However, if this much is being pulled from the Kernel, then why still such a massive minimum RAM?

    "if you hold down ctrl+shift+alt and tap the backspace you can watch a video of steve wrecking a chair"

    --

    A feeling of having made the same mistake before: Deja Foobar
    1. Re:The Bloat Divides? by TykeClone · · Score: 4, Informative

      Graphics were not in the kernel in NT 3.51. NT 4.0 added graphics to the kernel which added instability.

      --
      A fine is a tax you pay for doing wrong and a tax is a fine you pay for doing all right.
    2. Re:The Bloat Divides? by mmkkbb · · Score: 4, Informative

      It's funny. Microsoft already did this with printer drivers. Windows NT 3.51 lived in userspace. In Windows NT 4 they moved into the kernel. In 2000, they moved back into userspace, but with a completely different architecture from 3.51. Windows Server 2003 still supports the NT4 model of kernel mode printer graphics drivers but that might change with Vista.

      --
      -mkb
    3. Re:The Bloat Divides? by cmacb · · Score: 4, Informative

      I don't know about the printer drivers, but for the video, they claimed moving to kernel space made them faster (and did seem to), unfortunately it introduced an unenforced requirement that video drivers be fully debugged, which due to the nature of the business they never were. A once rock stable machine on 3.51 that could not be made stable on 4.00 without switching from ATI to Nvidia video cards is what first gave me doubts about whether I wanted to continue running Windows at home (or ATI video cards for that matter).

      The speed boost just wasn't worth it, in the same way that the functionality of run-on-load macros in Word documents aren't worth the trouble they cause. Maybe this is a sign that the true tech types are gaining influence over the marketing types at the company (but somehow I doubt that). For the sake of those still running Windows I hope they take all non-essentials out of kernel space and shoot for stability over speed or features.

    4. Re:The Bloat Divides? by dgatwood · · Score: 4, Interesting
      Don't confuse moving the Windows GUI to user space with moving video drivers to user space. The two are not one in the same. Even in Linux, most of the video driver bits live in the kernel. Same in Mac OS X. I'm sure the same will be true in Vista.

      Because of the nature of video, it would be impractical for video drivers to live anywhere BUT in the kernel. (See also: "microkernel".) Neither Linux nor Mac OS X puts video drivers in user space. Doing so would not be a bright idea. (I would also note that Linux and Mac OS X seem to be quite stable with ATI driver bits in their kernels.... :-)

      Drivers should be in the kernel if A. at least one of their primary clients exists in the kernel, e.g. disk controller drivers, B. they service a large number of clients directly (e.g. /dev/random), C. real-time performance is critical to the correct operation of the device (e.g. audio/video).

      Historically, video cards typically only had one client at a time. These days, the windowing system (WindowServer in Mac OS X, X11 in Linux, the Windows GUI layer) is usually the primary client, with the OS kernel being a secondary client (command-line console, panic text, boot console, etc.) Further, the graphics hardware can also be directly driven by an application for things like full-screen games. In Mac OS X, the graphics hardware is also often used for other tasks, e.g. with CoreImage. Graphics cards also depend on direct access to hardware interrupts for performance to be adequate. Moving the drivers into user space would make adequate performance for these sorts of tasks nearly impossible.

      Printers are the other extreme. They don't have their own hardware interrupts like with PCI devices, so if you're depending entirely on a faked software interrupt, the driver might as well be in user space. A printer will still print correct copy if the data arrives more slowly (up to a point, anyway). They only serve a single client (a local print spool of some sort) and cannot do more than one thing at the same time. Thus, printer drivers make no sense in the kernel.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    5. Re:The Bloat Divides? by TheNetAvenger · · Score: 5, Insightful

      NT borrowed heavily from DEC VMS, which if it were running on DOS would be like running VMS on top of RSTS.

      Just my two cents because I get sick of morons bloviating this crap...

      NT borrowed almost NOTHING from the VMS or *nix world. Culter was author of VMS and a brilliant *nix designer, but he also knew the shortcommings of both OS models. NT was designed specifically to be different and not be tied to a *nix or for that matter a VMS architecture.

      (In fact Cutler could have made NT a full *nix Windows, as Microsoft owned Xenix at the time, and was willing to go with whatever the Cutler team decided would create the next great OS architecture.)

      People can bitch about Windows and specfically Win32, but there is not a whole lof ot NT itself that is flawed or attackable in its design. It is still doing kernel and architectual concepts today that you cannot find any other consumer level OS. PERIOD.

      For graphics and sound to work best, commonly used objects are stored in memory, ideally most rapidly accessible by the chipset which makes use of it. If you can pre-load a graphics card with most of your GUI toolkit you can do some amazingly fast rendering.

      Ok, this partially true; however, the thing people seem to miss is that when Microsoft dropped Video to Ring0 with NT4 it was to improve video performance for games, specifically WinG and DirectDraw at the time. This was a major performance increase at the time because of the higher level GDI calls of Win32 that were mostly non-accelerated for gaming. ALso at the time 3D accelerated Video Cards were basically non-existent at the time, so machines didn't have a powerful GPU to utilize.

      And what this means by them moving the Video back up from Ring0 is of course more stability, so the new NVidia beta build doesn't make the Windows machine lock up when it shouldn't, as most graphic drivers are the root of 99% of all system lockups with Windows, since most users don't run MS certified drivers and are running the latest incarnations.

      Additionaly, with the new graphics subsystem concepts in Vista, having Video Drivers in Ring0 is far less important, as the entire WPF is designed to take advantage of the Video GPU from everything from off-screen buffering like OSX, to drawing the entire controls and 3D interfaces.

      In fact with the new WPF in Vista, the GPU can even be used to accelerate printing, and creation of XPS graphical/display documents.

      So there is no longer a need or reason for the small performance benefits by having the video in Ring0, since the GPU, even older GPUs by today's standards handle all the gaming and now even the new UI controls and 3D vecotoring of the UI.

      Basically MS is saying, we are moving to where the GPU will do its job, so we no longer have to compensate software rendering and no longer need Video drivers to have Ring0 access.

      Microsoft considered this move with WindowsXP, but with the driver changes needed and the UI still being GDI+ based for most applications, there was still a lot of software rendering taking place. It was only the games that it really didn't matter for as they were already doing DirectX and OpenGL for performance.

      My two cents....

      (And if you don't believe my post, please go look this stuff up - do your own reseach and not follow the rants of myself or other Slashdot Biases. - Truly, I don't profess to know everything, and my rant is short, you will probably learn more by looking up the stuff I talk about than just reading my or any post and believing it without the poster's personal basis).

    6. Re:The Bloat Divides? by Justin_Schuh · · Score: 5, Informative

      SCO didn't purchase Unix rights until 1995, and Windows NT 3.1 was released in 1993. Plus, I've never heard of any agreement that would have prevented Windows NT from being a fully compliant Unix. They even built it with swappable OS subsystems so they could go that route if the market demanded it. There was even a third party vendor that sold a really good Unix subsystem several years ago, but the name escapes me.

      As for advanced features, I think the GP is referring to things like the swappable OS subsystems; a hybrid micro-kernel; a strong and flexible access control model; a highly portable hardware abstraction layer supporting three widely different architectures; and an extremely versatile file-system. This was all really groundbreaking in the early 1990's and a lot of it is still very impressive from a design and engineering perspective. Plus this is back when MS was the versatile upstart that was challenging the clunky proprietary Unixes of its day. MS was much friendlier back in those days too, as they were doing a lot more embracing and a lot less extending.

      The tragedy of Windows NT is that MS became too dominant and its direction changed. As a result many of the kernel's greatest features were never really visible through the layers of crap piled on top. The Win32 subsystem eliminated the competition and brought us abominations like pseudo-handles and a truly evil GDI. The hybrid micro-kernel became suspiciously monolithic as it absorbed the GDI, Win32 subsystem, and anything else in the name of performance. The exceptional access control model was all but ignored by the majority of software developers, with even enterprise developers doing a poor job of supporting secure multi-user access. The hardware abstraction layer slowly evaporated as support dwindled to only x86. The advanced functionality of the file-system was never utilized much, in order to maintain parity the bastard family line known as Win9x. And so the operating system crystallized to what it is today.

      So I'm glad to see that Windows NT is finally headed back to its roots and picking up some old initiatives. Vista will finally push secure multi-user access (LUA) and kick the GDI's ass out of the kernel. I was very unimpressed by MS a few years ago, and I'm always extremely suspicious of them. But it really looks like they're headed in the right direction with respect to security and stability, and I don't think anyone should begrudge them that. That stated, I'm also very happy that we now have viable and, in some scenarios, superior and more affordable alternatives to the Windows platform. As far as I'm concerned the consumer's options are just continuing to get better.

  2. Finally, can I turn the GUI off on my server? by ejoe_mac · · Score: 5, Insightful

    Who needs the overhead of a windowing GUI on a server?

    1. Re:Finally, can I turn the GUI off on my server? by ZeroExistenZ · · Score: 5, Funny

      Who needs the overhead of a windowing GUI on a server?
      Windows(tm) administrators...

      --
      I think we can keep recursing like this until someone returns 1
    2. Re:Finally, can I turn the GUI off on my server? by whodunnit · · Score: 5, Funny

      You mean turning off the monitor doesnt do that?!?!?

    3. Re:Finally, can I turn the GUI off on my server? by nmb3000 · · Score: 5, Insightful

      Who needs the overhead of a windowing GUI on a server?

      Ah, yes. Just what we all want. Command-line administration of Active Directory and Exchange.

      Windows Server 2003's GUI overhead is extremely small in comparison to the other tasks it's performing. Besides, it's not a matter of being "scared" of a CLI, in fact pretty much all the Windows sysadmins I know (including myself) use the Windows command line on a regular basis. Believe it or not, but a GUI really can give a boost to speed and efficiency when it comes to server management, regardless of what the zealots here might say.

      --
      "What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
      /)
    4. Re:Finally, can I turn the GUI off on my server? by Necrotica · · Score: 5, Insightful

      Ah, yes. Just what we all want. Command-line administration of Active Directory and Exchange.

      Never used or seen Netware or used any UNIX, have you?

      There is no NEED for a GUI on the server. Keep the admin tools on the client! If you can't administer AD from your client, restart the AD Admin Service on the service.

      Admins should only physically touch servers when there is a hardware problem or network problem. If you are sitting on the console of your server using the GUI, I would suggest that you are not a very experienced sysadmin.

    5. Re:Finally, can I turn the GUI off on my server? by PPGMD · · Score: 4, Informative
      Why not, is there any operation about them that'd REQUIRE a "true" GUI instead of command-line tools?

      In the current versions, I don't believe so, but there are alot of complex tasks that an admin might do very rarely (ie not common enough to write a script), that just flow better using the GUI tools.

      I also highly doubt that the GUI is wasting any significant amount of resources sitting at the login screen (you are practicing physical security, no logged in users unless they are currently working on the machine).

      That being said, I can't think of the last time that I used the local console for anything other then network settings. I do most of my work via TS.

    6. Re:Finally, can I turn the GUI off on my server? by cmacb · · Score: 5, Interesting

      No, this is a classic example of an oxymoron (contradiction in terms).

      Whereas I am an example of an ordinary moron.

      I worked at a very large world-wide shop that saves a whole cycle of hardware upgrades by turning off the screen savers on their servers. Most of the admins were running the fanciest 3D CPU intensive screensavers they could find. When anyone would complain about performance they would go to the server, check task manager and come back with: "well it's only running at 20%". Finally someone thought to check the numbers remotely and discovered that the screensaver was by far the biggest hog. I don't think most Windows users, even the "pros" realize how much resource is involved in something as simple as moving the mouse, moving a window around or resizing it.

      They made Windows so "easy" that even an idiot could administer it and...

      Oh, never-mind.

  3. Now for the marketing by digitalgimpus · · Score: 4, Insightful

    You know when they market this you'll see it as

    New! - Microsoft's Exclusive Patented Technology allows for graphics outside the kernel, to provide higher stability.

    New! - Microsoft's Revolutionary Technology allows for graphics outside the kernel, to provide higher stability.

    Just wait.... they'll make it sound like a new concept. Rather than a copycat.

    1. Re:Now for the marketing by NCraig · · Score: 4, Insightful

      This is just priceless.

      Day in and day out, Microsoft takes a beating around here for putting too many irrelevant subsystems into their kernel.

      And then, when Microsoft makes a positive design change, they are attacked for HYPOTHETICAL marketing. You don't know how (or if) they'll market this.

      I can see it now: Bill Gates shows up at your front door, hands you a million dollars, and walks away. You run to your computer and submit the headline, "BILL GATES IS A TRESSPASSER."

  4. Not to forget our friends in the MPAA by isecore · · Score: 4, Interesting

    IT also helps make it less vulnerable to kernel mode malware that could take the system down or steal data.

    And it also helps with all the stupid DRM that the MPAA/RIAA wants to force down our throats! Yay, when I wanna watch DVDs on my computer in the future I have to get a new OS, new monitor, new graphics card. Thank you for that innovation!

    --
    I enjoy large posteriors and I cannot prevaricate.
  5. Open GL Drivers? by Gr8Apes · · Score: 4, Insightful

    So, does this mean that MS's stated goal of "deprecating" OpenGL in favor of DirectX is now irrelevant? If the graphics subsystem is outside the kernel, it can be replaced by another driver that does not make OpenGL play second fiddle to DirectX. Perhaps this is a good thing?

    --
    The cesspool just got a check and balance.
    1. Re:Open GL Drivers? by PhrostyMcByte · · Score: 4, Informative

      Wrapping OpenGL does suck, but they are also wrapping Direct3D 9 and lower. So it's more than just Carmack's games that won't run at top speed :(

      I havn't seen any clear stance on if they will allow hardware vendors to implement their own ICDs for fullscreen mode, but the current LDDM beta drivers from nVidia do not have OpenGL in them.

  6. just like NT 3.1, 3.5 and 3.51 by lkcl · · Score: 4, Informative

    the biggest mistake MS made was to listen to the marketing droids
    (Windows 95 ist faster! Nein!) and to move the video drivers into
    kernelspace in NT 4.0.

    to do that, they had to rip out the entire terminal server subsystem,
    to the extent that in order to fix it for NT 4.0 and NT 5.0 (aka Windows 2000) they had to _buy_ a company that had managed to do it (Citrix, i think it was - someone correct me, here).

    NT 3.5 and 3.51, the screen driver, being userspace, could crash - and leave the machine, as a server, completely unaffected. If you _did_ need to use the screen, as long as you knew what keys to press, or where to move the mouse.... :) but if it was a Terminal Server - WHO CARED! keep it running!

    Now - surprise, surprise, hardware is fast enough, memory is cheap enough, the [stupid] decision has been revisited.

    1. Re:just like NT 3.1, 3.5 and 3.51 by Anonymous Coward · · Score: 5, Informative

      MS hasn't bought Citrix. They do, however, license technology from them to provide Terminal Services/Remote Desktop.

    2. Re:just like NT 3.1, 3.5 and 3.51 by Anonymous Coward · · Score: 4, Interesting

      No. This is not true and represents a misunderstandings about how the Win32 API is implemented in NT. For legacy reasons many windows programs would use the GUI APIs for internal IPC (why oh why wasn't LPC exposed to userspace though?). Anyhow, this mean that the Win32 subsystem server (CSRSS) ran both the GUI and the rest of Win32.

      So a crash in the GUI (running inside the context of CSRSS) would result in all Win32 apps being shutdown. Perhaps the file services (part of SRV.SYS) would remain in the event of a GUI crash but any applications running under Win32 context would be lost. That was the reasoning that allowed M$ to temper DaveC's fears and move the GUI to WIN32K.SYS in NT 4.0.

      I'm not defending the approach. I disagree with the GUI-in-kernelspace idea as well. I'm merely pointing out the way things went in terms of history. Ideally the GUI services and kernel services would be separate APIs in Win32 so that server and console applications could live without the GUI. But compatability was a major goal...

      Personally, I would love to ditch the Windows GUI but keep the NT kernel. The NT kernel (despite the typical conditioned response of the average slashdotter) is quite good in many areas. The GUI API of Windows was inferior to OS/2's Presentation Manager (the big change being client area -> client window). Too bad OS/2 PM can't be run under the NT kernel. Oh well, it almost happened...

  7. BSOD by DiGG3r · · Score: 4, Funny

    Does this mean we can customize our own BSOD?

  8. History made by dada21 · · Score: 4, Funny

    Microsoft programmers found this solution by modifying a secret Vista file called WIN.INI with the following line:

    shell=command.com

    Then, they added the GUI in another secret Vista file called AUTOEXEC.BAt containing one line:

    win.com

  9. Obligitory: by mrwiggly · · Score: 4, Insightful

    Those who fail to understand UNIX are doomed to reimplement it. Poorly

  10. Apple and Microsoft by penguin-collective · · Score: 4, Interesting

    X11 was conceived 20 years ago and was an incredibly forward looking design; both Macintosh and Windows have now moved to an architecture very similar to it.

    Unfortunately, technical and historical facts won't stop people from making bogus claims about their pet architecture. There are still lots of Mac zealots going around complaining about X11's supposedly inefficient "network transparent architecture" even though the Mac has pretty much the same architecture and is, if anything, less efficient. I imagine it will be the same with Microsoft zealots, although many of them will, in addition, claim that this architecture was invented by Microsoft.

  11. Re:Reply to all future Linux-was-first comments... by Jearil · · Score: 4, Informative

    Yeah.. too bad the X Window System used in *nix has been around since 1984.

    "Those who don't understand UNIX are doomed to reinvent it, poorly."
      -- Henry Spencer

  12. Re:This is NOT a good thing. by spitzak · · Score: 4, Insightful

    You seem to be confused. Yes there is still a kernel thing that talks to the hardware. Even in non-kernel X there is something in the Linux kernel that grants this process access to certain hardware. However you have to realize that this thing is TINY compared to a graphics server. Likely the difference in size is three or four orders of magnitude. Assumming bugs are evenly spread (which is probably false, there are probably fewer bugs than that in the hardware-talking layer), what NT (and X) has done is move 99.99% of the bugs out of the kernel!

  13. OS design hokey pokey by Cyberblah · · Score: 5, Funny

    In 2013 they'll put the graphics driver back in... and shake it all about.

  14. Nothing's changed by 511pf · · Score: 5, Informative

    Microsoft has already responded to this article by saying that nothing has changed: http://www.microsoft-watch.com/article2/0,2180,190 2540,00.asp

  15. Re:This is NOT a good thing. by spuzzzzzzz · · Score: 4, Insightful

    But the vast majority of driver code lives in userspace; the size of the kernel interface is much smaller and therefore easier to debug.

    Any bugs that exist in the kernel mode driver would yield the same problems in user mode. If a video driver incorrectly configures your graphics card, you're going to get a garbled display, period.

    I don't think we're too worried about garbled displays here. If you have a kernel mode driver, it can do whatever the hell it likes with the entire kernel address space. Even if it isn't malicious, a badly written kernel driver can cause all sorts of corruption all over the place.

    --

    Don't you hate meta-sigs?
  16. Vista... by HawkingMattress · · Score: 4, Interesting
    Despite the general feeling here, i'm starting to be really interested in vista...
    It seems they have fixed almost everything that was wrong with windows. I mean:
    • Explorer rewriten from scratch. This was long, long overdue and that alone would make me interested in Vista. Explorer makes windows looks buggy sometimes but it's only explorer.exe which sucks...
    • Monad. A real shell, which could possibly be much more powerfull than say bash+ standard Unix commands (or cygwin...)
    • They're moving the graphics subsystems and all the bloody drivers in userland. That means it will be dead stable, period. 2000 and Xp are already at least as stable as Linux, and maybe more. After that i'm sorry but Linux will compare the same way to Windows that Win95 did to Linux...
    • A hardware accelerated graphic system, ala Quartz. It should rock even if They'll probably make it look and act totally stupid out of the box, overusing their new power...

    And people complain that there is nothing new in Vista, phew... I mean if they manage to do all those things, and do them the right way like they seem to be decided to (for once...) it will be damn worth a new release...
    And no, i'm not a microsoft fanboy, i've been using Linux since 97 and I really like it where it shines. But if you have even a little objectivity you can't say the stuff they're putting here is not interesting...

  17. Vista DirectX OpenGL Wrapper by TheZorch · · Score: 4, Informative

    Wrappers for other graphics protocols have been around for a long time. You can still get Glide Wrappers for games that specifically require a 3Dfx Interactive Voodoo graphics card. Most of the newest wrappers work great. eVoodoo for instance is one of the best.

    What wrappers do, in "Windows", is take the function calls ment for Glide (or whatever graphics subsystem the program needs) and translates them into function calls that DirectX can understand. I've heard of Glide wrappers for Linux that translates into OpenGL.

    Anyway, DirectX in Vista will have something like a wrapper for OpenGL since there will not be any actual OpenGL drivers in the OS. This could be good or bad but the move does make sense. Instead of having two separate graphics subsystems in Vista they are narrowing it down to just one and keeping the ability to use programs that requires OpenGL. Most game developers have left OpenGL far behind anyway including Id Software a company that used OpenGL almost exclusively for years until Doom 3 and Quake 4 arrived which use DirectX. It wouldn't be too hard to add in OpenGL Optimization into the wrapper code so programs that use OpenGL won't suffer a performance hit. I cna also understand why Vista will need high graphics and memory requirements. The whole reason why the GUI was put into the kernel for NT 4.0 was for improved speed, but at the loss of stability. Taking it out again will improve stability, something that Windows needs badly. Todays faster CPUs and graphics card GPUs shouldn't really have a problem with Vista. Builtin video on motherboards usually aren't that good, but this move might convince manufaturers to start offering builtin video that is much better quality or switch to using standard video cards instead which is what they should have been doing in the first place.

    --
    Michael "TheZorch" Haney
    thezorch@gmail.com
    http://thezorch.googlepages.com/home
    1. Re:Vista DirectX OpenGL Wrapper by Qapf · · Score: 5, Informative

      Slightly Incorrect. Doom 3 and Quake 4 both use OpenGL.

      --
      What does one cow say to the other? Moo.
  18. missing one by 955301 · · Score: 4, Funny

    In broader terms, this makes Windows far more like Linux and Unix - and even the MacOS -

    or DOS and windows 3.1.

    *ducks*

    --
    You are checking your backups, aren't you?