Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Sieglinde Stram Geändert vor über 10 Jahren
1
Portierung von Applikationen auf 64 Bit Windows
Mike Becker, Microsoft Deutschland GmbH Senior Consultant Microsoft Services, Custom Development Vortragstitel STC 02. – 03. Juni 2004
2
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
3
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
4
<Vortragstitel>
64 Bit Hardware CPU Intel Itanium Architektur (IA64) Itanium 2 (1,5 GHz, 6MB L3C) Montecito, Deerfield… Extended Architecture AMD x86-64 Athlon 64 (1,6 GHz, 1MB L2C) Athlon 64 FX Opteron (1,4 – 2,2 GHz, 1MB L2C) Athens, Egypt, San Diego, Toledo, Trinidad… Intel Xeon, Prescott... Rechner Dell, IBM, HP, Unisys, Angstrom Microsystems, NEC, RackSaver, HPC Systems,… Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
5
Microsoft 64 Bit Produkte
<Vortragstitel> Microsoft 64 Bit Produkte Betriebssysteme Microsoft Windows XP 64 Bit Edition Microsoft Windows Server Bit Editions (SP1) Enterprise Edition Datacenter Longhorn, … WOW64 für Win32 Applikationen Datenbank Microsoft SQL Server Enterprise Edition (64 Bit) 64-Bit Edition Version 2003 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
6
Microsoft Windows 64 und 32 Bit
<Vortragstitel> Microsoft Windows 64 und 32 Bit Address Space 64-bit Windows 32-bit Windows Virtual Memory 16 TB 4GB Paging File 512 TB 16TB Paged Pool 128 GB 470 MB Non-Paged Pool 256 MB System Cache 1 TB 1 GB Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
7
Unterstützt in 64 Bit Windows
<Vortragstitel> Unterstützt in 64 Bit Windows Funktionalität und Produkteigenschaften Installation Internet Information Server, Clustering, Active Directory, Terminal Server, etc. Win32 Applikationen und Komponenten werden unterstützt Multilingual User Interface für deutsch, französisch, spanisch, italienisch, japanisch and koreanisch OEM Pre-Installation Kit, WinPE SDK (Software Development Kit) DDK (Driver Development Kit) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
8
Nicht unterstützt in 64 Bit Windows
<Vortragstitel> Nicht unterstützt in 64 Bit Windows Subsysteme: DOS, 16-Bit, POSIX, OS/2 .NET Framework, CLR, ASP.NET (ab Whidbey) Windows Product Activation Jet RED Netmeeting, Windows Media Player, Windows Media Server Power Management System Restore Fax Information: “Features unavailable on 64-bit versions of the Windows Server 2003 family” (TechNet, ProdInfo) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
9
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
10
<Vortragstitel>
Gründe zur Portierung Mehr Speicher 4GB Grenze -> 16 TB Grenze Mehr Präzision Fließkomma Kalkulationen Bessere Performanzwerte Durch neue Prozessoreigenschaften VLIW, EPIC auf Itanium x64 auf Extended Architecture Intelligente Befehlausführung „High-End“ Rechner erreichen Massenmarkt 64 Bit Softwarestrategie von Microsoft Synchrone Auslieferung von 32 und 64 Bit Versionen Eine Codequelle für beide Plattformen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
11
Kandidaten zur Portierung
<Vortragstitel> Kandidaten zur Portierung CRM, ERP Wissenschaftliche Anwendungen mit Fließkommakalkulationen Datenmodellierung Systememulation CAD Ton-, Bild- und Videobearbeitung “Data mining”-basierte Software Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
12
<Vortragstitel>
Portierungswege Generelle Portierung für monolytischen Anwendungen für Anwendungen, wo alle Komponenten portiert können (technisch und wirtschaftlich) Inkrementelle Portierung Win32 und Win64 Komponenten arbeiten zusammen: WOW64 Nicht alle Komponenten/Dienste sind verfügbar für Win64 Quellcode verloren, Bibliotheken fehlen etc. Wichtig: ein Quellcodebasis für alle Plattformen! Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
13
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
14
Microsoft Windows SDK (32+64)
<Vortragstitel> Microsoft Windows SDK (32+64) Werkzeuge: Compiler (C++) Linker Profiler Debugger Hilfswerkzeuge Bibliotheken CRT, MFC, ATL Dokumentation +Beispiele Entwicklungsumgebungen für alle unterstützte Plattformen: Windows 2000, Windows XP, Windows Server 2003 Debug und Release, 32 und 64 Bit (außer Windows 2000) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
15
<Vortragstitel>
Visual Studio 6.0 C++ Unterstützung SDK vorausgesetzt Zielplattform wählen VS Integration msdev.exe starten Beide Plattformen unterstützt: Win32: Windows 2000, Windows XP, Windows Server 2003 Win64 (WOW64): Windows XP 64 Bit Edition 2003, Windows Server Bit Editions Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
16
<Vortragstitel>
Visual Studio .NET C++ Unterstützung SDK vorausgesetzt Zielplattform wählen Pfadanpassungen erforderlich devenv.exe starten Nur auf Win32 Plattform kann nicht auf Win64 installiert werden erstellt Win32 und Win64 Komponenten Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
17
<Vortragstitel>
Whidbey (2004) C++ Support .NET Support .NET Framework 2.0 Voraussetzung Beide Plattformen unterstützt Win32: Windows 2000, Windows XP, Windows Server 2003 Win64 (native): Windows XP 64 Bit Edition 2003, Windows Server 2003 Editions Native und plattformunabhängige (.NET) Softwaremodule Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
18
Softwareentwicklung mit Whidbey
<Vortragstitel> Softwareentwicklung mit Whidbey IA64 x86 Quellcode In MSIL kompilieren AMD64 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
19
64 Bit Zeitplan für Entwickler
<Vortragstitel> 64 Bit Zeitplan für Entwickler SQL Server bit Edition SQL Server “Yukon” DB Visual Studio 6.0/.NET Visual Studio “Whidbey” Werkzeuge Platform SDK .NET Framework 1.1 .NET Framework “Whidbey” API Windows API (Win32/Win64) Windows XP, Windows Server bit editions OS Aktuell “Whidbey” Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
20
64-bit Entwicklungsszenarien
<Vortragstitel> 64-bit Entwicklungsszenarien Entwicklungsumgebung Entwicklungs-plattform Zielplattform 32-bit IPF x64 Command Line SDK SDK SP1 Visual Studio 6 w/Service Pack 5 with SDK SP1 Visual Studio .NET 2003 SP3 + SDK SP1 Visual Studio .NET 2005 (future) As can be seen in this chart, using the currently available SDK, and the current incarnations of VisualStudio (.NET 2003, and 6 with SP5) you can deploy applications for any version of windows on any processor family. The only limitation is that the original Windows 64-bit Platform SDK without a servicepack does not support development for the AMD opteron. Supported Scenarios Vortragstitel STC 02. – 03. Juni 2004 Unsupported TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
21
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
22
<Vortragstitel>
Datenmodell (1) Win32: ILP32 32 Bit: Integer, Long, Pointer (plus Derivate: HANDLE, HMODULE etc.) Win64: LLP64 64 Bit: LongLong, Pointer (plus Derivate: HANDLE, HMODULE etc.) 32 Bit: Integer, Long Neue Datentypen in Win64 fixed precision: DWORD32, INT64, … pointer precision: DWORD_PTR, LONG_PTR, … specific pointer precision: POINTER_32, POINTER_64 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
23
<Vortragstitel>
Datenmodell (2) Einige Datentypen waren 32 Bit, jetzt 64 Bit LRESULT HANDLE LPARAM WPARAM size_t intptr_t uintptr_t Neu sind SIZE VARIANT Typen INT_PTR (“an INT the size of a Pointer”) Also: UINT_PTR, DWORD_PTR, LONG_PTR ULONG_PTR, etc. Tip: Identifizieren Deklaration von Typen, die sich geändert haben Neudeklarieren als SIZE VARIANT Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
24
<Vortragstitel>
Konstanten Hexadezimale Konstanten 0xFFFFFFFF ist nicht mehr -1 0xFFFFFFFF ist nicht mehr INVALID_HANDLE_VALUE 0x ist keine Maske mehr für Systemadressen #define – Compiler kann Typen nicht prüfen Bitoperationen, Bitmasken Tip: const statt #define Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
25
<Vortragstitel>
Pointer (1) DAS PROBLEM ! Win32 – 32 Bit, Win64 – 64 Bit plus Derivate: HANDLE, HMODULE, HWND, … „Truncation“ Problembereich: Cast: int x; x = (int) &y; SendMessage ( a, b, wParam, (LONG) hWnd ); Assignment: int iSize = cArray.GetSize(); // GetSize() liefert intptr_t Tip: Alle Casts zwischen POINTER und INT, LONG etc. – implizit oder explizit – entfernen unions, structs überprüfen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
26
<Vortragstitel>
Pointer (2) Fixed byte offsets: int * pThree; struct { int iCount; int * iArray [ 6 ] } ptrS; pThree = (char*)ptrS + 16; // faktisch pTwo // Alignment!!! Sized offsets: pThree = ( char* ) ptrS.iArray * sizeof ( int ); Tip: Immer sizeof(), offsetof() benutzen. Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
27
<Vortragstitel>
Alignment CPU erwartet Daten „ausgerichtet“ im Speicher Win64: Ausrichtung auf 64 Bit Grenzen Alternativ: „data packing“: Probleme mit Disk I/O, IPC, … _unaligned: macht Code langsam ohne – Exception!!! Tips: auf _unaligned und #pragma pack verzichten TYPE_ALIGNMENT(type) nutzen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
28
<Vortragstitel>
Alignment Beispiel struct node { char *l; char s; struct tnode *prev; int i; struct node *next; } Win32 4 8 12 16 20 padding Win64 4 8 12 16 20 24 28 32 36 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
29
<Vortragstitel>
Windows API (1) Geringe Änderungen Kompatibilität zu Win32 Get/SetClassLongPtr() zusätzlich zu Get/SetClassLong() Get/SetWindowLongPtr() zusätzlich zu Get/SetWindowLong() Einige Konstanten wurden angepasst Typen beachten: HWND ist nicht DWORD* Tip: SIZE VARIANT verwenden: LONG -> LONG_PTR Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
30
<Vortragstitel>
Windows API (2) Umgebungserkennung IsWow64Process() – läuft Prozess in WOW64? GetNativeSystemInfo() – welche Architektur hat der Rechner: 32 / 64 Bit CPU Type: x86, IA64, AMD64, … CPU Zusatzinfo: prozessor-spezifisch (Revision etc.) Ab Windows XP – GetProcAddress() benutzen Tip: Für Win32 Applikationen, die auf 32 Bit und (diversen) 64 Bit Plattformen laufen sollen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
31
InterProcess Communication (IPC)
<Vortragstitel> InterProcess Communication (IPC) Win32 und Win64 Code – nicht in einem Prozess! COM: 32 64: nur out-of-process Win32 COM Objekte für Win64: Portieren auf Win64 COM+ OOP Applikationen Unterstützt: Sockets, SyncObjs*, Windows Messages*, Files, Shared Memory* *Pointerkalkulationen beachten! Tip: Portierung oder OOP COM Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
32
Weitere Portierungsaspekte
<Vortragstitel> Weitere Portierungsaspekte #ifdef Win32 früher für Win16 Code Abgrenzung #ifdef ALPHA für 64 Bit Code printf(…) Formatspezifikationen %p - pointers, %x – 32 Bit %I (polymorph) und %I64 (64 Bit) Inline Assembly Code Alle Bibliotheken und Komponenten prüfen Win64 oder Win32, keine Mischung Dateisystem und Registrierungsdatenbank für Win32 unter WOW64 c:\windows\syswow64 als c:\windows\system32 HKLM\Software\Wow6432Node Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
33
<Vortragstitel>
.NET auf Windows 64 Bit .NET Framework 2.0 (Whidbey) aktuell Mai `04 Beta (MSDN) Plattform: ab Windows Server 2003 SP1 VisualStudio „Whidbey“ 64 Bit – native 32 Bit – in WOW64 Assemblies markiert für „Bitness“ 32 Bit, 64 Bit (ia64 oder amd64), Neutral („portable code“) .NET Framework 1.1 ab VS.NET SP3 in WOW64 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
34
<Vortragstitel>
Portable Managed Code Verifizierbar Nur MSIL Code (kein native Code) Keine Pointerkalkulationen Interop-Regeln Signaturen, System.IntPtr, StructLayoutAttribute, Marshal.SizeOf Architekturunabhängig: ia64, amd64 Keine Fließkommaoperationen Bitoperationen vermeiden Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
35
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
36
Treiberportierung von 32 Bit auf 64 Bit
<Vortragstitel> Treiberportierung von 32 Bit auf 64 Bit Windows 64 Bit - NUR 64 Bit Treiber ! IA64, AMD64 – architekturabhängig Microsoft Windows DDK Treibermodel hat sich nicht geändert (W2K) 64 Bit Treiber muss signiert werden 64 Bit Treiber muss PnP sein 64 Bit Treiber muss u.U. 32 Bit Anwendungen unterstützen: IOCTL / FSCTL I/O Puffer enthält Pointer oder Derivate DriverVerifier geprüft Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
37
Treiberentwicklung für 64 Bit
<Vortragstitel> Treiberentwicklung für 64 Bit Neue Datentypen (LLP64 Datenmodell) Viele neue Funktionen DMA Zugriff (+ neue Konventionen) IoIs32bitProcess(), … Alignment wie in User-Level Anwendungen TYPE_ALIGNMENT() Kernel SPI: ProbeForRead(), ProbeForWrite() STATUS_DATATYPE_MISALIGNMENT Kernel Kernel, Kernel User (32/64) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
38
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
39
Portierung von UNIX auf Win64
<Vortragstitel> Portierung von UNIX auf Win64 Schlüsselpunkte Zugriffe auf OS Funktionen Zugriffe auf OS Eigenschaften Zugriffe auf Komponente von Drittanbieter Evtl. Abweichungen vom C++ Standard Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
40
<Vortragstitel>
Portierungsbereiche Speichermodell Unix32 -> ILP32, Unix64 -> LP64, Win64 -> LLP64 Prozesse und Threads Unix –> Prozesse, Windows -> Threads System calls, APIs Treiber, Signale, … GUI Windows, .NET Makefiles Projektaufbau, Komponenten, … Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
41
Weitere Portierungsaspekte
<Vortragstitel> Weitere Portierungsaspekte Semantik von Dateideskriptoren Unterstützung für Peripheriegeräte Pfadnamen: UNIX -> Windows UNIX Namensgebung UNIX ids vs. Windows SIDs UNIX Fifo's Abweichungen vom C++ Standard UNIX Sicherheitsmodell Interpretierung von Makros Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
42
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
43
<Vortragstitel>
Produktinformation Microsoft SQL Server Bit Edition Enterprise Edition 64-bit SQL Server, 64-bit SQL Server Agent, und 64-bit analysis server 64 Bit Datenmodell Bis 18 Exabytes adressierbarer Speicher Getestet mit 512 GB Virtueller Speicher 8 TB Basiert auf SQL Server 2000 Quellcode Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
44
<Vortragstitel>
Portierungsaspekte Aufwand minimal Skripte werden weiterhin unterstützt Extended Stored Procedures müssen neu kompiliert werden: 64-bit Compiler von Platform SDK Dateiformat ungeändert Datenbank vom 32 Bit Server trennen (DETACH) Dateien auf 64 Bit Server kopieren Datenbank auf 64 Bit server einbinden (ATTACH) Interoperabilität mit anderen SQL Server Installationen Enterprise Manager ist Win32 Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
45
Nicht vorhandene Funktionen
<Vortragstitel> Nicht vorhandene Funktionen Migration von SQL Server 6.5 und 7.0 Remote Installation English Query Jet engine Einige Module sind noch 32 Bit: EM, QA, DTS Designer, Wizards, Development Tools Man kann aber vom 32 Bit Client den 64 Bit Server verwalten Weitere DBLib ESQL Alle Access-basierte Provider und Treiber Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
46
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
47
Portierungsorganisation (1)
<Vortragstitel> Portierungsorganisation (1) „Single codebase“ Eine Codequelle für alle Plattformen Ablauf 64 Bit Plattform kennen lernen Projekt analysieren (was, wann und wie portiert werden soll) Quellcode überprüfen (Teil)Projekt erstellen Fehler und Warnungen beheben Testen: beide Plattformen getrennt Stabilisieren / Optimieren Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
48
Portierungsorganisation (2)
<Vortragstitel> Portierungsorganisation (2) x86 Rechner 64 Bit Rechner Entwicklung, erste Tests Kompilieren für 32 Bit und 64 Bit Erstellte Projektkomponenten auf 64 Bit Rechner übertragen Projekt testen Restliche Fehlerbehebung Optimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
49
Portierungsorganisation (3)
<Vortragstitel> Portierungsorganisation (3) Wichtige Projekteigenschaften: Konfigurationen zum Erstellen Umgebung Konfigurationen Werkzeuge (mit Versionen!) Argumente für Aufrufe von Werkzeugen Anforderungen zum Starten von 64 Bit Komponenten (+Abhängigkeiten) Komponenten von Drittanbieter Interaktionen mit 32 Bit Komponenten Auf Warnungen von Compiler / Linker achten! Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
50
<Vortragstitel>
Agenda 64 Bit Plattform Portierungsziele und -wege Entwicklungswerkzeuge Portierung von Win32 auf Win64 Portierung von Treiber Portierung von UNIX auf Win64 MS SQL Datenbankportierung Portierungsorganisation Softwareoptimierung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
51
<Vortragstitel>
Softwareoptimierung Optimierung von portierten Komponenten und Projekten Quellcode Konventionen, Checklisten FxCop für .NET Compiler, Linker neue Funktionen LTCG (Link Time Code Generation) PoGO (Profile Guided Optimization) Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
52
Optimierungsschlüssel
<Vortragstitel> Optimierungsschlüssel Compiler /Wp64 – 64 Bit Portierungswarnungen (!) /O1 – Größeoptimierung /O2 – Geschwindigkeitsoptimierung /GL – Globale Optimierung Linker /OPT:REF – Entfernen der nicht-referenzierten Funktionen und Daten inkl. /OPT:ICF /OPT:ICF – Zusammenführen von Funktionsduplikaten Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
53
Link Time Code Generation
<Vortragstitel> Link Time Code Generation Wichtig für Projekte mir mehreren Modulen Compiler generiert IL in .obj-Datei (kein .NET!) Link ruft Codegenerierung beim Linken auf Behält Daten womöglich in Registers Optimierte Speichernutzung Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
54
Profile Guided Optimization
<Vortragstitel> Profile Guided Optimization Ablauf Code Instrumentieren Kompilieren Ausführen Information sammeln Neu kompilieren Iterativ Optimiert: „switch“, „inline“, „block layout“, „dead blocks“ Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
55
Portierungswerkzeuge
<Vortragstitel> Portierungswerkzeuge Microsoft SDK, DDK, Debugger, VS6.0, VS.NET .NET Fx, Whidbey, FxCop Intel Compiler, Optimierungswerkzeuge AMD Compuware DevPartner64: Treiberentwicklung Sysinternals Filemon, Regmon OSR Bibliotheken, Werkzeuge Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
56
<Vortragstitel>
Mehr Informationen Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
57
Vielen Dank für die Aufmerksamkeit!
Fragen Vielen Dank für die Aufmerksamkeit! Haben Sie noch Fragen? Vortragstitel STC 02. – 03. Juni 2004
58
Wie geht es weiter auf der STC…?
Vortragstitel STC 02. – 03. Juni 2004
59
<Vortragstitel>
© 2002, Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Vortragstitel STC 02. – 03. Juni 2004 TechNet Roadshow zum Windows Server System: Migration, Deployment und Sicherheit
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.