Download presentation
Presentation is loading. Please wait.
1
64bit Development Overview March 28 Microsoft
2
Objectives Learn about the current 64-bit platforms from a hardware, software and tools perspective Review the 64-bit Windows operating system choices Explore the main differences between 32-bit and 64-bit environments Understand the support for 64-bit development in Visual Studio 2005 Options for configuring development environments
3
Agenda Introduction 64-Bit Hardware 64-Bit Windows 64-Bit Development Summary
4
What is 64-Bit? Term used to describe processor architecture A 64-bit processor generally has: 64-bit wide registers 64-bit wide integer data path Significantly affects a number of factors Maximum size of memory address space Maximum size of values used in computations Jump from 32-bit to 64-bit is huge 32-bit maximum is 2 32 = 4,294,967,296 64-bit maximum is 2 64 =18,446,744,073,709,551,616
5
64-Bit For Developers Visual Studio 2005 includes 64-bit support Runs on and targets 32-bit and 64-bit platforms Provides cross architecture remote debugging Supports cross compilation 64-bit.NET Framework and SDK Will ship with Visual Studio 2005 It Just Works (IJW) Fully managed applications will just work No recompilation necessary Other 64-bit tools are also available Platform SDK (PSDK) and DDK
6
Agenda Introduction 64-Bit Hardware 64-Bit Windows 64-Bit Development Summary
7
64-Bit Processors Advanced Micro Devices AMD Athlon Designed for desktops and laptops AMD Opteron Designed for servers and workstations Intel Corporation Intel Xeon with Extended Memory 64 Technology Designed for small servers and workstations Intel Itanium 2 Designed for high-end servers
8
Processor Architectures Windows supports two 64-bit architectures Pure 64-bit processors Explicitly Parallel Instruction Computing (EPIC) Run 32-bit code using IA-32 Execution Layer Intel Itanium Processor Family (IPF) Hybrid 32/64-bit processors Extensions of 32-bit x86 processors Can operate in 32-bit and 64-bit modes Run 32-bit code natively at machine speed AMD Athlon and Opteron Intel Xeon Extended Memory 64 Technology
9
Agenda Introduction 64-Bit Hardware 64-Bit Windows 64-Bit Development Summary
10
Product Roadmap Product 32-Bit64-Bit x86Itaniumx64 Windows XP 64-Bit Edition N/A Q2 2005 Windows Server 2003 Web Edition Windows Server 2003 Standard Edition Q2 2005 Windows Server 2003 Enterprise Edition Q2 2005 Windows Server 2003 Datacenter Edition .NET Framework H2 2005 SQL Server H2 2005
11
Latest update List of releases tied to 32bit and x64 and IA64 versions of Win2k03 SP1 and Win2k03 x64 Editions and Itanium Editions with SP1... 32-bit (x86): - Microsoft® Windows Server™ 2003, Web Edition with Service Pack 1 - Microsoft® Windows Server™ 2003, Standard Edition with Service Pack 1 - Microsoft® Windows Server™ 2003, Enterprise Edition with Service Pack 1 - Microsoft® Windows Server™ 2003, Datacenter Edition with SP1 x64 - Microsoft® Windows Server™ 2003, Standard x64 Edition - Microsoft® Windows Server™ 2003, Enterprise x64 Edition - Microsoft® Windows Server™ 2003, Datacenter x64 Edition Itanium - Win2k03, Enterprise Edition with SP1 for Itanium-based Systems - Win2k03, Datacenter Edition with SP1 for Itanium-based Systems
12
64-Bit Memory Limits 64-bit Windows can support 16TB of virtual address space 8TB for system and up to 8TB per 64-bit process 4GB per Large Address Aware 32-bit process 2GB per standard 32-bit process Physical memory support is product specific Windows XP 64-Bit Edition Currently 16GB increasing to 32GB with SP1 Windows Server 2003 64-Bit Editions Standard:32GB Enterprise:64GB Datacenter:512GB
13
64-Bit Processor Limits 64-bit Windows supports up to 64 processors Windows XP 64-Bit Edition Supports 1 to 2 processors Windows Server 2003 64-Bit Editions Standard:1 to4 processors Enterprise:1 to8 processors Datacenter:1 to64 processors
14
Agenda Introduction 64-Bit Hardware 64-Bit Windows 64-Bit Development Summary
15
64-Bit Tool Support Visual Studio 2005 Target any platform from any platform Includes native and cross compilers Local and remote platform debuggers Supports cross platform debugging 64-bit.NET Framework and SDK Same functionality as 32-bit.NET Framework 64-bit Common Language Runtime (CLR) 64-bit Class Library including Windows Forms, ADO.NET, ASP.NET and Web Services Other 64-bit tools are also available Platform SDK (PSDK) and DDK
16
Targeting 64-Bit Platforms ManagedNative 32-bit64-bit32-bit64-bit Visual C++ Visual C# Visual Basic Visual J# Different ways to target 64-bit platforms Choice of managed or native code Choice of 32-bit or 64-bit Choice of language
17
Agnostic Code Platform neutral code is said to be agnostic Runs natively on 32-bit and 64-bit platforms Most managed code is agnostic Runs without modification No recompilation necessary Includes: Visual Basic code Visual C# code Verifiable Visual C++ code ( /clr:safe ) Does not include code marked “32-Bit Required” Unverifiable Visual C++ code ( /clr:pure ) Visual J# code
18
Determining Code Type Code type can be determined using ILDASM Look for.corflags entry in assembly manifest
19
Configuring 64-Bit Projects
20
WOW64 32-bit code runs on WOW64 Windows 32 compatible emulation layer Supports 32-bit code on 64-bit Windows Called Windows 32 On Windows 64 or WOW64 Installed as part of 64-bit Windows Primary goal of binary compatibility Works by intercepting 32-bit system calls Switches to 64-bit mode Converts 32-bit data structures to 64-bit aligned Issues native 64-bit system call Writes back any output from 64-bit system call Returns to 32-bit mode
21
WOW64 Separation Native files and WOW64 files are separated System files %windir%\system32%windir%\SysWOW64 Program files %SystemDrive%\Program Files %SystemDrive%\Program Files (x86) Parts of system registry are also separated Applies to two main keys HKEY_CLASSES_ROOTHKEY_LOCAL_MACHINE\SOFTWARE Each has a new Wow6432Node for 32-bit entries
22
File System Redirection Ensures 32-bit applications work as expected Redirects %windir%\system32 file access requests from 32-bit applications to %windir%\SysWOW64 Allows backward compatible side-by-side system Some folders are bit neutral and are exempt CatRoot, CatRoot2, drivers\etc and spool Enabled by default for all WOW64 processes Controlled via Wow64EnableWow64FsRedirection() Facilitates access to ‘real’ system32 if needed // Enable or disable file system redirection BOOL Wow64EnableWow64FsRedirection( BOOL Wow64FsEnableRedirection ); BOOL Wow64FsEnableRedirection );
23
Registry Redirection Also for backward compatibility with 32-bit Redirects 32-bit access to Wow6432Node subkeys Allows side-by-side registry entries Transparent to 32-bit applications Applies to all WOW64 processes Any process can access any registry entry via RegCreateKeyEx() and RegOpenKeyEx() flags KEY_WOW64_64KEY specifies a 64-bit key KEY_WOW64_32KEY specifies a 32-bit key WOW64 includes a 32-bit only registry editor %windir%\SysWOW64\regedit.exe -m
24
64-Bit Development Environment #1 Dual computers 32-Bit Development Computer Develop and test as 32-bit code Cross compile for 64-bit target Transfer to test computer Tools Visual Studio 2005 64-Bit Test Computer Execute 64-bit code Remote debug Correct any remaining problems Tools Remote Debugger
25
64-Bit Development Environment #2 Single computer 64-Bit Development Computer Develop and test as 64-bit code Execute 64-bit code Remote debug (WOW64 to 64-bit) Correct any remaining problems Tools Visual Studio 2005 Remote Debugger
26
Agenda Introduction 64-Bit Hardware 64-Bit Windows 64-Bit Development Summary
27
Summary Learn about the current 64-bit platforms from a hardware, software and tools perspective Reviewed the 64-bit Windows operating system choices Explored the main differences between 32-bit and 64-bit environments Understood the support for 64-bit development in Visual Studio 2005
28
© 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.