Delphi Day 2009 Win7 Dev Overview

1,525 views

Published on

Slide usate al Delphi Day 2009 a Piaceza

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Delphi Day 2009 Win7 Dev Overview

  1. 1. Windows 7 (RC) Developer overview Pietro Brambati Microsoft blogs.msdn.com/pietrobr
  2. 2. Agenda Kernel Virtualizzazione & VHD API Supporto al Multi-Touch Supporto ai Ribbon Formati per i documenti Grafica Web Services Sensor & Location Platform [Altre] Tips & Tricks UI
  3. 3. Introduzione Kernel di Win7 si basa sul kernel di Win. Vista SP1 Compatibilità driver e applicazioni Nuove API native aggiunte a Windows 7 Per alcune ci sarà il porting verso Vista/Win2008/.. Alcune verranno usate come base per nuove API .NET Aggiungono funzionalità “mancanti” Ad esempio Web Service API Aggiungono funzionalità “nuove” Multi-Touch API
  4. 4. Kernel
  5. 5. Performance Riduzione di Miglioramento
  6. 6. Efficenza Energetica Idea di fondo: si cerca di mantenere in idle il processore per più tempo possibile Evitare il polling Modifiche al kernel: < 2% attività CPU in stato di idle I/O disco ridotto in idle Riduzione dell’attività in background Service Control Manager (SCM)  un servizio può essere fatto partire o fermato su specifici eventi (trigger) : meno servizi devono essere fatti partire allo start-up della macchina SCM può rimanere in ascolto tramite diversi provider: Device arrival, IP address, Domain join and leave, Group policy updates
  7. 7. Efficienza Energetica Timer Coalescing API BOOL Migliorare l’efficenza estendendo l’idle time WINAPI Le nuove coalescing API permettono al chiamante di SetWaitableTimerEx( __in HANDLE hTimer, __in specificareLARGE_INTEGER tolleranza const un tempo di *lpDueTime, __in Il kernel può ottimizzare emettendo un unico interupt LONG lPeriod, per servire più timer __in_opt PTIMERAPCROUTINE pfnCompletionRoutine, __in_opt LPVOID lpArgToCompletionRoutine, __in_opt PREASON_CONTEXT WakeContext, __in ULONG TolerableDelay ); Timer tick 15.6 ms Vista Periodic Timer Events Windows 7
  8. 8. Windows 7 e il Dispatcher Lock Problema: lo scheduler di Windows gestisce due stati stati (running / waiting) nell'accedere agli oggetti. A questo scopo acquisisce un lock globale: il dispatcher lock In presenza di un alto numero di CPU logiche ci sono molti più thread che contemporaneamente girano nel sistema Con molti thread il dispatcher lock diventa l'imbuto più importante del sistema Soluzione: in Windows 7 è stata di introdurre un nuovo stato nel modo in cui lo Scheduler accede agli oggetti kernel: pre-waiting, waiting, running. Nello stato di pre-waiting il lock viene acquisito solo sullo specifico oggetto su cui si vuole operare e non più il dispatcher lock globale
  9. 9. Windows 7 e il PFN Database Lock Problema: quando il memory manager assegna una pagina fisica di memoria al working set di un processo esegue un lock al PFN Database PFN = Page Frame Number PFN Database = la lista di pagine fisiche di memoria In presenza di un alto numero di CPU logiche, questo è il secondo lock globale per impatto sulle performance Soluzione: Windows 7 ha introdotto una serie di lock minori che permettono di non tenere bloccato tutto il database
  10. 10. Virtualizzazione e VHD
  11. 11. Windows Virtual PC [beta] Nuovo software di virtualizzazione client Supporto a USB 2.0 Richiede virtualizzazione hardware AMD-V Intel-VT
  12. 12. Windows XP Mode [beta] Si appoggia su Windows Virtual PC Macchina Windows XP SP3 scaricabile gratuitamente per le versioni Professional, Enterprice e Ultimate Per far giare applicazioni “impossibili” da aggiornare Posso anche “Virtualizzare le applicazioni” Per l’utente è come se le lanciassi da Windows 7 …
  13. 13. Supporto nativo e avvio da VHD Non è necessario uno strato di virtualizzazione per accedere ad un file VHD Facile ridimensionare i file VHD Deploy di file VHD Spostare da un computer ad un altro Posso fare il boot direttamente da un file .VHD Creo il file .VHD con i tools Installo Win 7 nel VHD Uso del tool BCDEdit per configurare il boot manager http://www.microsoft.com/italy/beit/Generic.aspx?video=a4b4a79e-7a2b-40c4-95fb- d4b82ee117c2#1
  14. 14. Tool per la gestione di VHD
  15. 15. API
  16. 16. Il Multi-Touch
  17. 17. Il Multi-touch Hardware Esistono già dispositivi in grado di gestire il Multi-touch Software Windows 7 ha delle API native .NET 4.0
  18. 18. Roadmap per il supporto al Multi-touch NET 4.0 / Surface 2.0 Release Windows 7 Release Multi-Touch Surface Controls Multi-Touch Controls & API Multi-Touch API Multi-Touch API and Controls Multi-Touch API
  19. 19. Scenic Ribbon
  20. 20. Windows Scenic Ribbon Application Menu Quick Access Tab Contextual Tab Set Help Toolbar Contextual Tab Group (aka Dialog Launcher “Chunk”) In Windows 7, ci sarà anche per Vista Win32 API, COM-based
  21. 21. Supporto ai Ribbon per piattaforma Target: Target: Target: Managed MFC native Native NET 3.5 Da Win2K Da Vista Office 2007 & Office 2007 & Windows Windows styles Windows styles1 visual style Official In Visual release in Studio 2008 Windows 7 2009 SP1 WPF MFC Win32
  22. 22. Grafica
  23. 23. Grafica – DirectX 11 DirectX è un’insieme di API, tra queste Direct3D: originariamente (1995) pensata per lo sviluppo di videogioghi e grafica 3D Windows Vista introduce un DWM che usa Direct3D Windows 7 DWM usa Direct3D10.1 Memoria per la gestione delle finestre ridotta del 50% Le nuove API sono interoperabili tra loro e con GDI Non è necessario disabilitare il DWM DirectX 11 per Windows 7 e Windows Vista
  24. 24. Direct 3D10.1 API più facili da usare che con Direct3D9 Performance migliorate nella pipeline, grazie a: Programmable shader stage immutable state objects Geometry Shader Stage eseguito interamente nella GPU Altre … Windows Advanced Rasterization Platform (WARP) Rendering software, efficente perchè in grado di sfruttare CPU multi-core (no acceleratori HW) 3D10.1 Command Remoting Accelerazione sul client di sessioni Terminal Server
  25. 25. Direct 3D11 Estende Direct3D10/3D10.1 Supporto alle nuove GPU Funziona su hardware D3D 9, 10 e 11 Estende la pipeline di D3D10 (Tassellation, etc.) Ottimizzazioni per l’uso in applicazioni multi –thread Miglioramento a HLSL Uso dei core della GPU per calcoli non di grafica (GPGPU)
  26. 26. Nuove API DirectX Direct 2D Grafica 2D accelerata, prestazioni superiori a GDI/GDI+, ma interoperabile, indipendente dalla risoluzione Direct Write Per il rendering del testo, indipendente dalla risoluzione, accelerato Supporto per ClearType, OpenType Windows Imaging Component Introdotto in Vista Framework per immagini e metadati Nuovi formati supportati
  27. 27. DxDiag.Exe WindowsSystem32DxDiag.exe
  28. 28. Web Services API
  29. 29. Windows Web Services API Consumare ed esporre servizi in codice nativo Nessuna dipendenza da .NET Interoperabilità con lo stack WS-* SOAP Windows Communication Foundation (WCF) ASP .Net XML Web Services (ASMX) Non-Microsoft stacks Parte di Windows 7 Disponibile anche per Windows XP/Vista/2003/2008
  30. 30. Performance – Memory Server Private Working Set (Kb) – Steady State 7000 6000 TCP/Binary 5000 4000 3000 Server Private Working Set (Kb) 2000 1000 WWSAPI Message Sizes (bytes) Request: 153; Reply: 89 0 RPC WWSAPI Sapphire WCF Configuration: Server: 2.2 GHz AMD (dual core), 64-bit Windows Server 2008 Clients: 2.6 GHz AMD (dual core), 64-bit Windows Vista SP1
  31. 31. Performance – TCP Throughput TCP Server Throughput (operations/sec) 80000 70000 60000 TCP/Binary 50000 40000 30000 TCP Server Throughput (Operations per sec) 20000 10000 0 RPC WWSAPI Sapphire WCF WWSAPI Message Sizes (bytes) Request: 153; Reply: 89 Configuration: CPU Utilization > 98% Server: 2.2 GHz AMD (dual core), 64-bit Windows Server 2008 Clients: 2.6 GHz AMD (dual core), 64-bit Windows Vista SP1
  32. 32. Configurazioni supportate Transports Security HTTP, TCP, UDP WS-Security 1.0 and 1.1 (partial) XML Encodings WS-Trust February 2005 Text, Binary, and MTOM and 1.3 (partial) Envelope WS-SecureConversation SOAP 1.1 and 1.2 1.1 and 1.3 (partial) Addressing Policy WS-Addressing 0.9 and WS-Policy from March 1.0 2006 and v.1.2 Metadata WS-Policy Attachment from March 2006 and 1.2 WSDL 1.1, XML Schema WS-SecurityPolicy 1.1 1.0 WS-MetadataExchange 1.1 WS-Transfer March 2006
  33. 33. Sensor & Location Platform
  34. 34. Sensor & Location Platform Oggi: diversi fornitori/diversi formati Un modello di driver unificato Sensori Fisici (e.g., GPS devices, Light Sensors) Sensori Logici(e.g., Wi-Fi triangulation resolver) Emulazione di sensori in firmare Fornisce API standard Sensor API: C++/COM / Managed code (Windows Bridge) Location API: C++/COM, Managed code (Windows Bridge) L’utente può decidere se abilitare o no un sensore http://msdn.microsoft.com/en-us/library/dd318936(VS.85).aspx
  35. 35. Formati per i documenti
  36. 36. Formati per i documenti Vista ha introdotto XML Paper Specification (XPS) e Open Packaging Convention (OPC) .NET Framework Windows 7 supporta OPC e XPS Nuove Packaging API Supporta la firma digitale via certificati X509
  37. 37. Libraries “ Libraries are destinations where users can find and organize their data as collections of items that may span multiple locations “
  38. 38. Windows 7 Library per .NET http://tinyurl.com/win7net
  39. 39. Tips & Tricks
  40. 40. Quando verrà rilasciato ?
  41. 41. “Evoluzione, non rivoluzione” Domande ? Risposte! blogs.msdn.com/pietrobr Download Windows 7 RC http://msdn.microsoft.com/it- it/evalcenter/dd353271.aspx [Scadenza Giugno 2010]
  42. 42. Altre API Reliability Access Monitor WMI Interface  Monitorare la stabilità della macchina Windows PowerShell 2.0  IDE per debugging Windows Installer  Unica transazione di più package Windows Filtering Platform  Miglioramenti per chi sviluppa firewall, antivirus, etc  Ispezione di traffico non-IP (MAC e ETHERNET filtering)
  43. 43. Altre API Media API: api di alto livello (C++) semplificano il modello di programmazione Windows Automation W3C ARIA Extending Linguistic Service Library API
  44. 44. Link utili Windows 7 Developer Guide http://msdn.microsoft.com/en-us/library/dd371748(VS.85).aspx Windows 7 (RC) SDK http://www.microsoft.com/downloads/details.aspx?FamilyID=6db 1f17f-5f1e-4e54-a331-c32285cdde0c&displaylang=en Windows Driver Kit (WDK) http://msdn.microsoft.com/en-us/library/aa972908.aspx Ribbon Guideline http://msdn.microsoft.com/en-us/library/cc872782.aspx DirectX SDK http://www.microsoft.com/downloads/details.aspx?familyid=24A5 41D6-0486-4453-8641-1EEE9E21B282&displaylang=en DirectX info http://www.xnagamefest.com/presentations08.htm
  45. 45. Link Utili Sensor API: http://msdn.microsoft.com/en- us/library/dd318953(VS.85).aspx Location API: http://msdn.microsoft.com/en- us/library/dd317751(VS.85).aspx Service Trigger Events http://msdn.microsoft.com/en- us/library/dd405513(VS.85).aspx
  46. 46. © 2008 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

×