Thoughts on the Longhorn Driver Model

The x64 launch aside, we have heard about some very interesting hardware refinements that Microsoft wants to see happen by the time we reach Longhorn availability. As Gates mentioned in his keynote, the Longhorn driver model is finished. This means that hardware vendors can begin making sure their hardware will run smoothly under Longhorn today. It also means that we are able to catch a glimpse of what things will be like when Longhorn finally comes along.



One of the most interesting things to us is the Longhorn Display Driver Model (LDDM). Under the new display driver model, Microsoft wants to more closely integrate the graphics hardware with the operating system. In order to do this, a couple things are going to happen. First, graphics drivers will give up management of graphics memory to Windows. Windows will then handle the complete virtualization and management needs of graphics memory. This will have a large impact on the way graphics hardware vendors approach driver writing. In spite of the simplification windows memory management will bring to the graphics subsystem, different management techniques may lend themselves more readily to one hardware architecture or another. Right now, we are hearing that ATI and NVIDIA are both playing nice with Microsoft over what will happen when they lose the full control of their own RAM, but we will be sure to keep abreast of the situation.

In addition to the above issues with the LDDM (i.e. Windows sometimes has problems managing system RAM, and now they're going to manage VRAM?), Windows can't manage memory that is taken up by the video bios. There has been a push towards UEFI (Unified Extensible Firmware Interface) as a replacement to the archaic BIOS, and Microsoft would like to see the video BIOS become more entwined with the operating system. The plan right now is to make use of ACPI in order to facilitate this, but we may see even more advancements when we have UEFI hardware. Maintaining a higher level of integration on all fronts with the OS should help make more display options automatic and highly accessible.

Even if UEFI makes it into all hardware platforms by the end of 2006 and graphics hardware vendors take up the cause, we will still need to have legacy BIOS and VGA firmware support in all computers in order to run older (i.e. non-Longhorn) Operating Systems. AMD likens this transition to the current x86-64 transition. Hardware will support legacy and advanced functionality for some time until the user install base is such that legacy support can be dropped.

More On Longhorn Hybrid Hard Drives
Comments Locked

36 Comments

View All Comments

  • JarredWalton - Saturday, April 30, 2005 - link

    KHysiek - part of the bonus of the Hybrid HDDs is that apparently Longhorn will be a lot more intelligent on memory management. (I'm keeping my fingers crossed.) XP is certainly better than NT4 or the 9x world, but it's still not perfect. Part of the problem is that RAM isn't always returned to the OS when it's deallocated.

    Case in point: Working on one of these WinHEC articles, I opened about 40 images in Photoshop. Having 1GB of RAM, things got a little sluggish after about half the images were open, but it still worked. (I wasn't dealing with layers or anything like that.) After I finished editing/cleaning each image, I saved it and closed it.

    Once I was done, total memory used had dropped from around 2 GB max down to 600 MB. Oddly, Photoshop was showing only 60 MB of RAM in use. I exited PS and suddenly 400 MB of RAM freed up. Who was to blame: Adobe or MS? I don't know for sure. Either way, I hope MS can help eliminate such occurrences.
  • KHysiek - Friday, April 29, 2005 - link

    PS. In this case making hybrid hard drives with just 128MB of cache is laughable. Windows massive memory swapping will ruin cache effectiveness quickly.
  • KHysiek - Friday, April 29, 2005 - link

    Windows memory management is one of the worst moments in history of software development. It made all windows software bad in terms of managing memory and overall performance of OS. You actually need at least 2x of memory neede by applications to work flawlessly. I see that saga continues.
  • CSMR - Thursday, April 28, 2005 - link

    A good article!

    Regarding the "historical" question:
    Strictly speaking, if you say "an historical" you should not pronounce the h, but many people use "an historical" and pronounce the h regardless.
  • Pete - Thursday, April 28, 2005 - link

    That's about how I reasoned it, Jarred. The fisherman waits with (a?)bated breath, while the fish dangles from baited hook. Poor bastard(s).

    'Course, when I went fishing as a kid, I usually ended up bothering the tree frogs more than the fish. :)
  • patrick0 - Wednesday, April 27, 2005 - link

    If Microsoft manages graphics memory, it will sure be a lot easier to read this memory. This can make it easier to use the GPU as a co-processor to do non-graphics tasks. Now I could manage image-processing, but this doesn't sound like a no-graphcs task, does it? Anyways, it is a cpu task. Neither ATI nor nVidia has made it easy so far to use the GPU as co-processor. So I think ms managing this memory will be an improvement.
  • JarredWalton - Wednesday, April 27, 2005 - link

    Haven't you ever been fishing, Pete? There you sit, with a baited hook waiting for a fish to bite. It's a very tense, anxious time. That's what baited breath means.... Or something. LOL. I never really thought about what "bated breath" actually meant. Suspended breath? Yeah, sure... whatever. :)
  • Pete - Wednesday, April 27, 2005 - link

    Good read so far, Derek and Jarred. Just wanted to note one mistake at the bottom of page three: bated, not baited, breath.

    Unless, of course, they ordered their pie with anchovies....
  • Calin - Wednesday, April 27, 2005 - link

    "that Itanium is not dead and it's not going anywhere"

    I would say "that Itanium is not dead but it's not going anywhere"
  • JarredWalton - Tuesday, April 26, 2005 - link

    26 - Either way, we're still talking about a factor of 2. 1+ billion vs. 2+ billion DIMMs isn't really important in the grand scheme of things. :)

    23 - As far as the "long long" vs "long", I'm not entirely sure what you're talking about. AMD initially made their default integer size - even in 64-bit mode - a 32-bit integer (I think). Very few applications really need 64-bit integers, plus fetching a 64-bit int from RAM requires twice as much bandwidth as a 32-bit int. That's part one of my thoughts.

    Part 2 is that MS may have done this for code compatibility. While in 99% of cases, an application really wouldn't care if the 32-bit integers suddenly became 64-bit integers, that's still a potential problem. Making the user explicitly request 64-bit integers gets around this problem. Things are backwards compatible.

    Anyway, none of that is official, and I'm only partly sure I understand what you're asking in the first place. If you've got some links for us to check out, we can look into it further.

Log in

Don't have an account? Sign up now