Datasheet
SYSTEM OVERVIEW
13
Windows Server 2008 SP1 and the 64-Bit Architecture
Microsoft has said on several occasions that Windows Server 2008 is the last version of the Windows
operating system that would be designed in a 32-bit version. Therefore, if you aren’t supporting an
older application or some specialized hardware, installing the 64-bit version of Windows Server
2008 is a more forward-looking decision. Rumor is that Microsoft will release some service packs
for its 32-bit server, but how long that version will continue to be supported is somewhat vague.
You can run 32-bit programs on 64-bit Windows Server 2008 in emulation. An emulator called
WoW64 (Windows-on-Windows 64-bit) that runs in user mode interfaces between the 32-bit ver-
sion of
NTDLL.DLL
and the kernel, intercepting kernel calls and redirecting them. WoW64 provides
core emulation for
NTOSKRNL.EXE
. The
WOW64.WIN.DLL
performs memory management for 32-bit
Windows programs, “thunking” data. Thunking data means that there is either a delayed compu-
tation or a mapping of machine data from one system form to another for compatibility. In this case,
it is the latter. WoW64 maps 32-bit calls to 64-bit addresses, analyzes the returned data, and maps
the data back to the 32-bit application running on Windows Server 2008. Support for 32-bit programs
on Vista or Windows Server 2008 is good but not perfect, and with all emulations performance suffers.
Native 64-bit programs almost always run faster because the code is optimized for higher throughput.
Virtualization and the Hypervisor
Most studies of network computing have consistently shown that the majority of servers operate
with very low CPU utilization rates. If nearly 80 percent to 90 percent of your processing power is
idle, you have not gotten your money’s worth and there’s an opportunity to realize considerable
value. That’s why virtualization is a hot topic; virtualization saves you money across the board
with machines, plant costs, software, and personnel costs.
One of Microsoft’s major project goals for Windows Server 2008 was to deliver a virtual machine
technology that was bulletproof, highly compatible with the array of Windows software, and
robust. The theme of virtualization is a common one, and is applied to the concept of dynamic allo-
cation of resources. Virtualization abstracts physical hardware through a programmed reference
system that dynamically points to and manages available assets. Physical memory is always virtu-
alized with swap files on disk, and storage can be virtualized through RAID and across systems
with a volume-based namespace.
Microsoft’s goals were to virtualize CPU, memory, storage, and even network interfaces, and
thus to be able to hot-swap virtual machines across hardware even as they are running. (The ability
to hot-swap an entire operating system instance is something that is called Live Migration, but that
is one feature that didn’t make the first release of Microsoft’s Windows Server 2008 virtualization
package and will ship in a later version.) Imagine being able to run several operating systems or
instances of an operating system, all isolated in their own virtual machine. You simply assign pro-
cessors from a pool to an application instance upon demand. Virtualization is very powerful.
Windows Server virtualization is the result of a project that was code-named Viridian, and is an
ongoing project at Microsoft. The group formed shortly after Microsoft acquired Connectrix and
their Virtual PC program. Windows Server virtualization achieved some of these goals, and surely
there is more to come. Microsoft System Center Virtual Machine Manager 2007, part of the
Microsoft System Center family of system management products, permits you to define policies
about resources and performance and lets you control all these features from a single console.
Virtualization is achieved using a program called a hypervisor. A hypervisor acts as an I/O
redirector. Depending on the type of hypervisor you have, it is possible to run virtual machines that are
compatible with any operating system that is compatible with the platform. For the x86 architecture,
74593.book Page 13 Wednesday, January 9, 2008 4:11 PM