Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Windows Operating Systems Software Programming IT Technology

Vista's Graphics To Be Moved Out of the Kernel 555

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

Vista's Graphics To Be Moved Out of the Kernel

Comments Filter:
  • by TykeClone ( 668449 ) * <TykeClone@gmail.com> on Friday December 16, 2005 @03:18PM (#14273576) Homepage Journal
    Graphics were not in the kernel in NT 3.51. NT 4.0 added graphics to the kernel which added instability.
  • by lkcl ( 517947 ) <lkcl@lkcl.net> on Friday December 16, 2005 @03:19PM (#14273585) Homepage
    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.
  • by Thalagyrt ( 851883 ) * on Friday December 16, 2005 @03:24PM (#14273638)
    Windows NT has never been an OS that sits on top of DOS. That was the WFW 3.11, 95, 98, and ME line which is now completely unsupported.
  • by Anonymous Coward on Friday December 16, 2005 @03:26PM (#14273651)
    MS hasn't bought Citrix. They do, however, license technology from them to provide Terminal Services/Remote Desktop.
  • by Anonymous Coward on Friday December 16, 2005 @03:28PM (#14273681)
    You don't need a really great video card to run Vista... we run it here on machines with basic Intel integrated video... it just doesn't have all the bells and whistles... in other words, Vista scales its graphics to run well on computers even made over a year ago.
  • by mmkkbb ( 816035 ) on Friday December 16, 2005 @03:29PM (#14273693) Homepage Journal
    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.
  • Re:Open GL Drivers? (Score:5, Informative)

    by PhrostyMcByte ( 589271 ) <phrosty@gmail.com> on Friday December 16, 2005 @03:31PM (#14273714) Homepage
    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.
  • by oGMo ( 379 ) on Friday December 16, 2005 @03:38PM (#14273764)
    I know it makes you all hip and tres cool to bash Microsoft, but they actually had this design wa-a-a-y back in NT 3.5/3.51. That would be in the mid/late 1990s for you youngsters in the audience. They made the change to the current model in NT 4.0.

    Yeah well, where the drivers reside aside, is the OS still based on the assumption it's a GUI? Specifically, do we still have the idiotic and juvenile system architecture that specifies window parameters to low-level system calls? Like say, CreateProcess taking window parameters [microsoft.com]?

    Or have they actually revamped the kernel no longer requires or assumes a GUI at all? Have they finally caught up to 1970?

  • by Jearil ( 154455 ) on Friday December 16, 2005 @03:39PM (#14273776) Homepage
    Yeah.. too bad the X Window System used in *nix has been around since 1984 [wikipedia.org].

    "Those who don't understand UNIX are doomed to reinvent it, poorly."
      -- Henry Spencer
  • by slipnslidemaster ( 516759 ) on Friday December 16, 2005 @03:44PM (#14273803)




    Everything old is new again!

    Here is a link to an article on Microsoft's Technet discussing the benefits of moving it from userspace to kernelspace.

    http://www.microsoft.com/technet/archive/winntas/p lan/kernelwp.mspx [microsoft.com]

    Here is the overview:

    Microsoft® Windows NT® Workstation 4.0 and Windows NT Server 4.0 include a change in the implementation of Win32® graphics-related application programming interfaces. These changes are transparent to applications and users, yet they result in a variety of improvements to graphics performance and memory requirements, as well as to simplify the design of the Windows NT Win32 subsystem. The improvements result from the move of certain operating system modules from a user-mode application process into a subsystem within the privileged portion of Windows NT, known as the Executive.

    Changes to the code that operates in the kernel or privileged mode of any operating system can be of concern to application designers and system architects. Because such changes potentially affect the operating system's compatibility with existing applications, as well as its portability and reliability, such changes should be explained and justified.




  • by tjstork ( 137384 ) <todd DOT bandrowsky AT gmail DOT com> on Friday December 16, 2005 @03:47PM (#14273828) Homepage Journal
    In Windows 3.5, the graphics subsystem was outside of the kernal, then they moved it in for 4.0, and now, they are undoing that.
  • by cmacb ( 547347 ) on Friday December 16, 2005 @03:49PM (#14273845) Homepage Journal
    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.
  • by PPGMD ( 679725 ) on Friday December 16, 2005 @03:54PM (#14273879) Journal
    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.

  • by dlcarrol ( 712729 ) on Friday December 16, 2005 @03:54PM (#14273883)
    Longhorn server will be able to run without the GUI (announced at PDC).

    So yes, you will.
  • by bored ( 40072 ) on Friday December 16, 2005 @04:01PM (#14273932)
    Repeat after me, the GDI is not part of the kernel, it simply runs in kernel space (AKA higher privledge). Unlike, linux where everything in kernel space is basically compiled against the kernel headers and is bound to a kernel version, NT has both user and kernel mode API's. To say the graphics system is hard wired to the kernel is like saying my hello-world program is part of libc. Moving it back to userspace should be about as hard as it was back in the NT 3.51 timeframe to move it into kernel space.

  • by Anonymous Coward on Friday December 16, 2005 @04:02PM (#14273937)
    Later the GUI system was moved into the NT kernel for performance reasons.
  • Nothing's changed (Score:5, Informative)

    by 511pf ( 685691 ) on Friday December 16, 2005 @04:05PM (#14273959)
    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 [microsoft-watch.com]
  • by oGMo ( 379 ) on Friday December 16, 2005 @04:20PM (#14274081)

    I didn't say window handle parameter, i said window parameters:

    lpStartupInfo

    [in] Pointer to a STARTUPINFO structure that specifies the window station, desktop, standard handles, and appearance of the main window for the new process.

    Even if this is "just kept" by the kernel, it's still a non-abstracted design. The kernel "knows about" the GUI. It shouldn't. If someone wants window information about a process, it should ask the GUI, not the kernel.

  • Yeah no.. (Score:1, Informative)

    by Anonymous Coward on Friday December 16, 2005 @04:24PM (#14274103)
    Linux when given the same UI abilities (desktop, -graphical- file system browsing, etc) as Windows, becomes extremely bloated. One needs to use Elightenment just to keep the bloat down. Then of course, you don't have the same UI options available. From what I've seen in forum posts, KDE needs 600 mhz+ to be usable where Windows XP checks in at 300mhz.
  • Re:Open GL Drivers? (Score:2, Informative)

    by julesh ( 229690 ) on Friday December 16, 2005 @04:29PM (#14274136)
    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.

    It always could be. If your vendor's driver supports it, you can talk to the hardware with whatever API you choose. But you do need driver support for it, and few vendors release drivers that support any API other than DirectX these days.
  • by TheZorch ( 925979 ) <thezorch@gmail. c o m> on Friday December 16, 2005 @04:32PM (#14274160) Homepage
    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.
  • Re:Vista... (Score:1, Informative)

    by Anonymous Coward on Friday December 16, 2005 @04:47PM (#14274341)
    Explorer rewritten from scratch? Are you referring to Internet Explorer or to the Windows Explorer? And can you please provide me with a reliable link that supports your claim of it being rewritten from scratch? Because about IE i know that it's not rewritten from scratch, see for instance http://blogs.msdn.com/ie/archive/2005/07/29/445242 .aspx [msdn.com] --> "In IE7, we will fix as many of the worst bugs that web developers hit as we can"

    Monad: i remember reading on slashdot that Monad was NOT gonna be included in Vista. Do you have a recent & reliable link to support your claim that it will?

    Thank you.
  • by Qapf ( 661291 ) on Friday December 16, 2005 @04:48PM (#14274360) Homepage
    Slightly Incorrect. Doom 3 and Quake 4 both use OpenGL.
  • by Octorian ( 14086 ) on Friday December 16, 2005 @05:13PM (#14274689) Homepage
    Actually, it is possible to run an OSX server (Xserve anyways) with a pure serial console, believe it or not.
  • by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Friday December 16, 2005 @05:16PM (#14274727) Homepage Journal
    You can do most of it with perl if you know enough about the registry. Perl is able to not only change anything in the registry (visible or no) but it can also handle user management on local machines or on domains and a bunch of other fun NT-related stuff. With that said, why would you want to? Unless you're doing batch operations (which is mostly what I've used perl for on NT, besides mangling ASCII) the GUI is probably faster and certainly easier.
  • Actually, you are leaving out some important details. First of all, we're not talking about Win9x, which bounces between real and protected mode so that it can execute 16 bit code, which is pretty abundant in Win9x itself, let alone anything else you might run. You don't have to be in the kernel to destroy kernel memory when you're in real mode.

    In the NT world, however, the Kernel and GDI spaces were merged when NT got the Windows 95 shell, in NT 4.0. This was very unfortunate because as many (or perhaps all of us) who worked with NT noticed the reliability of NT, which wasn't too hot to begin with, went directly into the toilet. This was done to improve graphics speed, which it certainly did. NT4 was a forced upgrade from 3.51 because that version only supported ~4GB filesystems, no AGP, et cetera. NT4 added the AGP and large filesystem support. (AGP cards are cheaper than PCI these days, and onboard video is much more likely to be AGP than PCI, even on servers, probably mostly due to the availability of fast shared memory on the AGP bus.)

  • Re:Open GL Drivers? (Score:3, Informative)

    by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Friday December 16, 2005 @05:42PM (#14275044) Homepage Journal

    few vendors release drivers that support any API other than DirectX these days

    Except that NT provides only software OpenGL, and if you have hardware OpenGL on NT, you have a driver from the vendor.

    Given that all of the leading graphics card manufacturers provide OpenGL support (Matrox, nVidia, ATI, S3, Intel...) your statement is not only not deserving of informative mods, but utterly incorrect. Anyone who makes a 3D accelerator worth using provides OpenGL drivers, at least for current operating systems.

  • Re:Yeah no.. (Score:2, Informative)

    by dreemernj ( 859414 ) on Friday December 16, 2005 @06:02PM (#14275310) Homepage Journal
    To take that further, Windows XP can run quite nicely on P2 233s. I worked in an office full of Digital comps with P2 233s and 128megs of PC100 ram. They ran Windows XP (mostly using Office XP) quite admirably. The slowest computer I've personally used WinXP on is a Pentium Pro 233. That did not run very well at all, but it also only had 64 megs of ram.
  • Remote Desktop is Microsoft's VNC competitor. It hooks more deeply into the OS, that's the only reason why it's better. Heck, Ultr@VNC hooks nearly as deep into the OS, so it's almost as good, and it's FOSS...
  • by Christian Smith ( 3497 ) on Friday December 16, 2005 @09:16PM (#14277020) Homepage

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


    Microsoft had a contract with SCO that they specifically would NOT enter the UNIX market, in return for SCO supporting Xenix.

    So MS couldn't do a full UNIX Windows even if they wanted to.


    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.


    What concepts?

    I notice that OS such as Linux, *BSD, or any UNIX for that matter (expect, perhaps, MINIX:) can beat Windows in performance and resource usage on low end hardware. Linux and Solaris will have the legs of it at least on high end hardware. And the kernel is nothing without the user tools on top, and Windows must use Win32 for almost eveything. From what I've studied, it's not a radical kernel in any way.
  • by MCSEBear ( 907831 ) on Friday December 16, 2005 @10:28PM (#14277363)
    I can tell you that one thing I have always advocated on a MS Windows Server box is using the generic VGA drivers for video. You aren't going to be playing games on a server, and you do want the best uptime you can get. Using generic VGA drivers gave me awesome uptime even back on NT 4.
  • Comment removed (Score:5, Informative)

    by account_deleted ( 4530225 ) on Friday December 16, 2005 @10:32PM (#14277376)
    Comment removed based on user account deletion
  • by orasio ( 188021 ) on Saturday December 17, 2005 @10:55AM (#14279501) Homepage
    First you should echo $GREP_OPTS , because at least once i saw a GREP_OPTS=-i or something like that, in a server I didn't administer.

This file will self-destruct in five minutes.

Working...