It sucks, it rocks, it sucks, it rocks. What is up with this commotion and all of the arguing about how this operating system performs. Windows… its the prefix of atleast four operating systems, and has not changed since the start. Were talking about the stacking of operating systems, and adding on more and more crap to your computer. Ok, so I may not get anywhere within the first 6 sentences of this “review” but Windows Vista has the soul of Windows 98. EAT MY SHOE!

Fancy schmancy interface, a beefed up kernel with per application audio control, and by the way they just split Direct 3d in half to use it in Vista supposedly performing better… using the source instead of a seperate controler. Lets get to the roots of a publication by Microsoft’s Mark Russinovich.

Note: Instead of wasting your time reading all of these “features” of Windows Vista that supposedly were non-existant prior to Windows Vista’s release scroll to the end of the quotes for a 2 minute over-view.

CPU Cycle Counting
Windows Vista includes a number of enhancements in the area of processes and threads that include use of the CPU cycle counter for fairer CPU allocation and the new Multimedia Class Scheduler Service (MMCSS) that helps media applications deliver glitch-free playback.

Multimedia Class Scheduler Service
Users expect multimedia applications, including music and video players, to offer a seamless playback experience. However, demand for the CPU by other concurrently running applications, like antivirus, content indexing, or even the mail client, can result in unpleasant hiccups. To provide a better playback experience, Windows Vista introduces MMCSS to manage the CPU priorities of multimedia threads.

I/O Completion and Cancellation
There are a number of under-the-hood changes to the I/O system that can improve the performance of server applications. These applications commonly use a synchronization object called a completion port to wait for the completion of asynchronous I/O requests. Prior to Windows Vista, when such an I/O completed, the thread that issued the I/O would execute I/O completion work, causing a switch to the process the thread belongs to and interrupting whatever else was going on. Then the I/O system would update the completion port status to wake up a thread waiting for it to change.

Dynamic Kernel Address Space
Windows and the applications that run on it have bumped their heads on the address space limits of 32-bit processors. The Windows kernel is constrained by default to 2GB, or half the total 32-bit virtual address space, with the other half reserved for use by the process whose thread is currently running on the CPU. Inside its half, the kernel has to map itself, device drivers, the file system cache, kernel stacks, per-session code data structures, and both non-paged (locked-in physical memory) and paged buffers allocated by device drivers. Prior to Windows Vista, the Memory Manager determined at boot time how much of the address space to assign to these different purposes, but this inflexibility sometimes led to situations where one of the regions became full while others still had plenty of available space. The exhaustion of an area can lead to application failures and prevent device drivers from completing I/O operations.

Memory Priorities
Just as Windows Vista adds I/O priorities (as I discussed in the last installment), it also implements memory priorities. Understanding how Windows uses memory priorities requires grasping how the Memory Manager implements its memory cache, called the Standby List. On all versions of Windows prior to Windows Vista, when a physical page (which is typically 4KB in size) that’s owned by a process was reclaimed by the system, the Memory Manager typically placed the page at the end of the Standby List. If the process wanted to access the page again, the Memory Manager took the page from the Standby List and reassigned it to the process. When a process wanted to use a new page of physical memory and no free memory was available, the Memory Manager gave it the page at the front the Standby List. This scheme treated all pages on the standby essentially as equals, using only the time they were placed on the list to sort them.

SuperFetch
A significant change to the Memory Manager is in the way that it manages physical memory. The Standby List management used by previous versions of Windows has two limitations. First, the prioritization of pages relies only on the recent past behavior of processes and does not anticipate their future memory requirements. Second, the data used for prioritization is limited to the list of pages owned by a process at any given point in time. These shortcomings can result in scenarios like the “after lunch syndrome,” where you leave your computer for a while and a memory-intensive system application runs (such as an antivirus scan or disk defragmentation). This application forces the code and data that your active applications had cached in memory to be overwritten by the memory-intensive activities. When you return, you experience sluggish performance as applications have to request their data and code from disk.

ReadyBoost
The speed of CPUs and memory are fast outpacing that of hard disks, so disks are a common system performance bottleneck. Random disk I/O is especially expensive because disk head seek times are on the order of 10 milliseconds-an eternity for today’s 3GHz processors. While RAM is ideal for caching disk data, it is relatively expensive. Flash memory, however, is generally cheaper and can service random reads up to 10 times faster than a typical hard disk. Windows Vista, therefore, includes a feature called ReadyBoost to take advantage of flash memory storage devices by creating an intermediate caching layer on them that logically sits between memory and disks.

ReadyDrive
ReadyDrive is a Windows Vista feature that takes advantage of new hybrid hard disk drives called H-HDDs. An H-HDD is a disk with embedded nonvolatile flash memory (also known as NVRAM). Typical H-HDDs include between 50MB and 512MB of cache, but the Windows Vista cache limit is 2TB.

Now thats some of the basics they state included with the Vista Kernel. Bringing up many questions about how things work and were we able to do them before is the bigger question. It has been answered before but in a more general perspective. To show you a quick sample I have used Windows Vista in a test experiement of performance vs. latest “performing”.

I turned the computer on and let Vista boot-up. After waiting for almost nothing to load (because no extra programs are installed), I opened the task manager and went to monitor the performance tab. After letting it poll for CPU usage and Memory Usage through a 30 second period I would then take a screenshot of the window. Now, I did the same on XP and although there were just a few programs having to load during startup, you can easily see the comparison.

Free Image Hosting at www.ImageShack.us
Credits:
Microsoft; Inside Vista Kernel Part 1 & Part 2; Mark Russinovich
Java; Of TutorialNinjas (For The Comparison Image)
4 Responses to “Inside Windows Vista… You tell me!”
  1. Luciffer says:

    you can hold down Alt key and press Print Screen to capture just active image :))

  2. java says:

    Luciffer I know that. I included the start menu buttons for a reason, so you could tell which operating system i was comparing with.

  3. Dagger says:
  4. Post your desktop 2008~~! - Page 2 - Tutorial Ninjas says:

    [...] huge problems with it when I got it and now with SP1 out I would even recommend it over vista. Inside Windows Vista… You tell me! | Tutorial Ninjas __________________ DJ Java’s Mixes - Go to my personal servers home page! WATCH!!! -> Posting [...]

Leave a Reply