• The new
Kernel Transaction Manager enables
atomic transaction operations across different types of objects, most significantly file system and registry operations. • The memory manager and processes scheduler have been improved. The scheduler was modified to use the cycle counter register of modern processors to keep track of exactly how many
CPU cycles a thread has executed, rather than just using an interval-timer interrupt routine, resulting in more deterministic application behaviour. Many kernel data structures and algorithms have been rewritten. Lookup algorithms now run in
constant time, instead of
linear time as with previous versions. • Windows Vista includes support for
condition variables and
reader-writer locks. • Process creation overhead is reduced by significant improvements to DLL address-resolving schemes. • Windows Vista introduces a
Protected Process, which differs from usual processes in the sense that other processes cannot manipulate the state of such a process, nor can threads from other processes be introduced in it. A
Protected Process has enhanced access to DRM-functions of Windows Vista. However, currently, only the applications using
Protected Video Path can create Protected Processes. •
Thread Pools have been upgraded to support multiple pools per process, as well as to reduce performance overhead using thread recycling. It also includes
Cleanup Groups that allow cleanup of pending thread-pool requests on process shutdown. •
Threaded DPC , conversely to an ordinary DPC (Deferred Procedure Call), decreases the system latency improving the performance of time-sensitive applications, such as audio or video playback. • Data Redirection: Also known as
data virtualization, this virtualizes the
registry and certain parts of the file system for applications running in the
protected user context if
User Account Control is turned on, enabling legacy applications to run in non-administrator accounts. It automatically creates private copies of files that an application can use when it does not have permission to access the original files. This facilitates stronger file security and helps applications not written with the
least user access principle in mind to run under stronger restrictions.
Registry virtualization isolates write operations that have a global impact to a per-user location. Reads and writes in the section of the
Registry by user-mode applications while running as a standard user, as well as to folders such as "Program Files", are "redirected" to the user's profile. The process of reading and writing on the profile data and not on the application-intended location is completely transparent to the application. • Windows Vista supports the
PCI Express 1.1 specification, including PCI Express Hot Plug and
ASPM. PCI Express registers, including capability registers, are supported, along with save and restore of configuration data. If
BIOS indicates it supports PCI Express Native Control, Windows Vista will try to control features like
ASPM; otherwise such PCI Express features may be controlled by BIOS. • Native support and generic driver for
Advanced Host Controller Interface (AHCI) specification for
Serial ATA drives, SATA
Native Command Queuing,
Hot plugging, and
AHCI Link Power Management. • Full support for the
ACPI 2.0 specification, and parts of ACPI 3.0. Support for throttling power usage of individual devices has been improved. •
Windows Vista SP1 supports
Windows Hardware Error Architecture (WHEA). • Kernel-mode
Plug-And-Play enhancements include support for PCI multilevel rebalance, partial arbitration of resources to support PCI subtractive bridges, asynchronous device start and enumeration operations to speed system startup, support for setting and retrieving custom properties on a device, an enhanced ejection API to allow the caller to determine if and when a device has been successfully ejected, and diagnostic tracing to facilitate improved reliability. • The
startup process for Windows Vista has changed completely in comparison to earlier versions of Windows. The
NTLDR boot loader has been replaced by a more flexible system, with NTLDR's functionality split between two new components:
winload.exe and
Windows Boot Manager. A notable change is that the Windows Boot Manager is invoked by pressing the
space bar instead of the F8
function key. The F8 key still remains assigned for advanced boot options once the Windows Boot Manager menu appears. • On
UEFI systems, beginning with Windows Vista Service Pack 1, the x64 version of Windows Vista has the ability to boot from a disk with a
GUID Partition Table. • Windows Vista includes a completely overhauled and rewritten
Event logging subsystem, known as
Windows Event Log which is
XML-based and allows applications to more precisely log events, offers better views, filtering and categorization by criteria, automatic log forwarding, centrally logging and managing events from a single computer and remote access. • Windows Vista includes an overhauled
Task Scheduler that uses hierarchical folders of tasks. The Task Scheduler can run programs, send email, or display a message. The Task Scheduler can also now be triggered by an
XPath expression for filtering events from the
Windows Event Log, and can respond to a workstation's lock or unlock, and as well as the connection or disconnection to the machine from a
Remote Desktop. The Task Scheduler tasks can be scripted in
VBScript,
JScript, or
PowerShell. •
Restart Manager: The
Restart Manager works with Microsoft's update tools and websites to detect processes that have files in use and to gracefully stop and restart services to reduce the number of reboots required after applying updates as far as possible for higher levels of the software stack. Kernel updates, logically, still require the system to be restarted. In addition, the Restart Manager provides a mechanism for applications to stop and then restart programs. Applications that are written specifically to take advantage of the new
Restart Manager features using the API can be restarted and restored to the same state and with the same data as before the restart. Using the
Application Recovery and Restart APIs in conjunction with the
Restart Manager enables applications to control what actions are taken on their behalf by the system when they fail or crash such as recovering unsaved data or documents, restarting the application, and diagnosing and reporting the problem using
Windows Error Reporting. • When shutting down or restarting Windows, previous Windows versions either forcibly terminated applications after waiting for few seconds, or allowed applications to entirely cancel shutdown without informing the user. Windows Vista now informs the user in a full-screen interface if there are running applications when exiting Windows and allows continuing with or cancelling the initiated shutdown. The reason registered, if any, for cancelling a shutdown by an application using the new
ShutdownBlockReasonCreate API is also displayed. •
Clean service shutdown: Services in Windows Vista have the capability of delaying the system shutdown in order to properly flush data and finish current operations. If the service stops responding, the system terminates it after 3 minutes. Crashes and restart problems are drastically reduced since the Service Control Manager is not terminated by a forced shutdown anymore.
Boot process Windows Vista introduces an overhaul of the previous
Windows NT operating system loader architecture
NTLDR. Used by versions of
Windows NT since its inception with
Windows NT 3.1, NTLDR has been completely replaced with a new architecture designed to address modern firmware technologies such as the
Unified Extensible Firmware Interface. The new architecture introduces a firmware-independent data store and is backward compatible with previous versions of the Windows operating system. • Lazy initialization of heap initializes only when required, to improve performance. • The Windows Vista memory manager does not have a 64 kb read-ahead cache limitation unlike previous versions of Windows and can thus improve file system performance dramatically.
File systems •
Transactional NTFS allows multiple file/folder operations to be treated as a single operation, so that a crash or power failure won't result in half-completed file writes. Transactions can also be extended to multiple machines. • Image Mastering API (
IMAPI v2) enables
DVD burning support for applications, in addition to CD burning.
IMAPI v2 supports multiple optical drives, even recording to multiple drives simultaneously, unlike IMAPI in Windows XP which only supported recording with one optical drive at a time. In addition, multiple filesystems are supported. Applications using
IMAPI v2 can create, and burn
disc images—it is extensible in the sense that developers can write their own specific media formats and create their own file systems for its programming interfaces. and is also scriptable using
VBScript. With the Windows Feature Pack for Storage installed,
IMAPI 2.0 supports Recordable Blu-ray Disc (
BD-R) and Rewritable Blu-ray Disc (
BD-RE) media as well. •
Common Log File System (CLFS) API provides a high-performance, general-purpose log-file subsystem that dedicated user-mode and kernel-mode client applications can use and multiple clients can share to optimize log access and for data and event management. • File encryption support superior to that available in
Encrypting File System in Windows XP, which will make it easier and more automatic to prevent unauthorized viewing of files on stolen laptops or hard drives. •
File System Mini Filters model which are kernel mode non-device drivers, to monitor filesystem activity, have been upgraded in Windows Vista. The
Registry filtering model adds support for redirecting calls and modifying parameters and introduces the concept of altitudes for filter registrations. •
Registry notification hooks, introduced in Windows XP, and recently enhanced in Windows Vista, allow software to participate in registry related activities in the system. • Support of UNIX-style
symbolic links. Previous Windows versions had support for a type of cross-volume
reparse points known as
junction points and
hard links. However, junction points could be created only for directories and stored absolute paths, whereas hardlinks could be created for files but were not cross-volume.
NTFS symbolic links can be created for any object and are cross-volume, cross-host (work over
UNC paths), and store relative paths. However, the cross-host functionality of symbolic links does not work over the network with previous versions of Windows or other operating systems, only with computers running
Windows Vista or a later Windows operating system. Symbolic links can be created, modified and deleted using the
Mklink utility which is included with Windows Vista. Microsoft has published some developer documentation on symbolic links in the MSDN documentation. The self-healing behavior can be turned on for a volume with the fsutil repair set C: 1 command where C presents the volume letter. • New /B switch in
CHKDSK for NTFS volumes which clears marked bad sectors on a volume and reevaluates them. • Windows Vista has support for hard disk drives with large physical
sector sizes (> 512 bytes per sector drives) if the drive supports 512-bytes logical sectors / emulation (called Advanced Format/512E). Drives with both 4k logical and 4k physical sectors are not supported. • The NLS casing table in NTFS has been updated so that partitions formatted with Windows Vista will be able to see the proper behavior for the 100+ mappings that have been added to
Unicode but were not added to Windows. • Windows Vista Service Pack 1 and later have built-in support for
exFAT.
Drivers Windows Vista introduces an improved driver model, Windows Driver Foundation which is an opt-in framework to replace the older
Windows Driver Model. It includes: •
Windows Display Driver Model (WDDM), previously referred to as Longhorn Display Driver Model (LDDM), designed for graphics performance and stability. • A new
Kernel-Mode Driver Framework, which will also be available for Windows XP and Windows 2000. • A new user-mode driver model called the
User-Mode Driver Framework. In Windows Vista, WDDM display drivers have two components, a kernel mode driver (KMD) that is very streamlined, and a user-mode driver that does most of the intense computations. With this model, most of the code is moved out of kernel mode. The audio subsystem also runs largely in user-mode to prevent impacting negatively on kernel performance and stability. Also, printer drivers in kernel mode are not supported. User-mode drivers are not able to directly access the kernel but use it through a dedicated API. User-mode drivers are supported for devices which plug into a USB or FireWire bus, such as digital cameras, portable media players, PDAs, mobile phones and mass storage devices, as well as "non-hardware" drivers, such as filter drivers and other software-only drivers. This also allows for drivers which would typically require a system reboot (video card drivers, for example) to install or update without needing a reboot of the machine. If the driver requires access to kernel-mode resources, developers can split the driver so that part of it runs in kernel-mode and part of it runs in user-mode. These features are significant because a majority of system crashes can be traced to improperly installed or unstable third-party device drivers. If an error occurs the new framework allows for an immediate restart of the driver and does not impact the system.
User-Mode Driver Framework is available for Windows XP and is included in Windows Media Player 11. • Kernel-mode drivers on 64-bit versions of Windows Vista must be digitally signed; even administrators will not be able to install unsigned kernel-mode drivers. A new setting in
Device Manager allows deleting the drivers from the Driver Store when uninstalling the hardware. • Since Windows Vista, there has a "delete the driver software for this device" clickbox in confirmation dialog when uninstalling a hardware device in Device Manager. • The
kernel mode drivers access to user mode memory is usually restricted; also, the
user mode drivers access to kernel mode memory is restricted. • Support for
Windows Error Reporting; information on an "unknown device" is reported to Microsoft when a driver cannot be found on the system, via Windows Update, or supplied by the user. OEMs can hook into this system to provide information that can be returned to the user, such as a formal statement of non-support of a device for Windows Vista, or a link to a web site with support information, drivers, etc.
Processor Power Management Windows Vista includes the following changes and enhancements in processor
power management: • Native operating system support for PPM on multiprocessor systems, including systems using processors with multiple logical threads, multiple cores, or multiple physical sockets. • Support for all ACPI 2.0 and 3.0 processor objects. • User configurable system cooling policy, minimum and maximum processor states. • Operating system coordination of performance state transitions between dependent processors. • Elimination of the processor dynamic throttling policies used in Windows XP and Windows Server 2003. • More flexible use of the available range of processor performance states through system power policy. • The static use of any linear throttle state on systems that are not capable of processor performance states. • Exposure of multiple power policy parameters that original equipment manufacturers (OEMs) may tune to optimize Windows Vista use of PPM features. • In-box drivers for processors from all leading processor manufacturers at that time. (Intel, AMD, VIA) • A generic processor driver that allows the use of processor-specific controls for performance state transitions. • An improved C3 entry algorithm, where a failed C3 entry does not cause demotion to C2. • Removal of support for legacy processor performance state interfaces. • Removal of support for legacy mobile processor drivers.
System performance •
SuperFetch caches frequently used applications and documents in memory, and keeps track of when commonly used applications are usually loaded, so that they can be pre-cached and it also prioritizes the programs currently used over background tasks. SuperFetch aims to negate the negative performance effect of having anti-virus or backup software run when the user is not at the computer. Superfetch is able to learn at what time of a given day an application is used and so it can be pre-cached. •
ReadyBoost, makes PCs running Windows Vista more responsive by using
flash memory on a
USB drive (USB 2.0 only),
SD card,
Compact Flash, or other form of flash memory, in order to boost system performance. When such a device is plugged in, the Windows
Autoplay dialog offers an additional option to use it to speed up the system; an additional "ReadyBoost" tab is added to the drive's properties dialog where the amount of space to be used can be configured. •
ReadyBoot uses an in-RAM cache to optimize the
boot process if the system has 700MB or more memory. The size of the cache depends on the total RAM available, but is large enough to create a reasonable cache and yet allow the system the memory it needs to boot smoothly. ReadyBoot uses the same ReadyBoost service. •
ReadyDrive is the name Microsoft has given to its support for
hybrid drives, a new design of
hard drive developed by
Samsung and Microsoft. Hybrid drives incorporate
non-volatile memory into the drive's design, resulting in lower power needs, as the drive's spindles do not need to be activated for every write operation. Windows Vista can also make use of the NVRAM to increase the speed of booting and returning from hibernation. • Windows Vista features
Prioritized I/O which allows developers to set application I/O priorities for read/write disk operations, similar to how currently application processes/threads can be assigned CPU priorities. I/O has been enhanced with I/O asynchronous cancellation and I/O scheduling based on thread priority. Background applications running in low priority I/O do not disturb foreground applications. Applications like Windows Defender, Automatic Disk Defragmenter and Windows Desktop Search (during indexing) already use this feature. Windows Media Player 11 also supports this technology to offer glitch-free multimedia playback. • The
Offline Files feature, which maintains a client-side cache of files shared over a network, has been significantly improved. When synchronizing the changes in the cached copy to the remote version, the
Bitmap Differential Transfer protocol is used so that only the changed blocks in the cached version are transferred, but when retrieving changes from the remote copy, the entire file is downloaded. are synchronized on a per-share basis and encrypted on a per-user basis and users can force Windows to work in offline mode or online mode or sync manually from the Sync Center. The Sync Center can also report sync errors and resolve sync conflicts. Also, if network connectivity is restored, file handles are redirected to the remote share transparently. •
Delayed service start allows services to start a short while after the system has finished booting and initial busy operations, so that the system boots up faster and performs tasks quicker than before. •
Enable advanced performance option for hard disks: When enabled, the operating system may cache disk writes as well as disk reads. In previous Windows operating systems, only the disk's internal disk caching, if any, was utilised for disk write operations when the disk cache was enabled by the user. Enabling this option causes Windows to make use of its own local cache in addition to this, which speeds up performance, at the expense of a little more risk of data loss during a sudden loss of power. ==Programmability==