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. 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
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. 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. 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. 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
11. Windows Virtual PC [beta]
Nuovo software di
virtualizzazione
client
Supporto a USB 2.0
Richiede
virtualizzazione
hardware AMD-V
Intel-VT
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.
14.
15. 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
19. Il Multi-touch
Hardware
Esistono già dispositivi in grado di gestire
il Multi-touch
Software
Windows 7 ha delle API native
.NET 4.0
20. 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
22. 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
23. 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
25. 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
26. 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
27. 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)
28. 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
31. 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
32. 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
33. 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
34. 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
36. 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
38. 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
39. Libraries
“ Libraries are destinations where
users can find and organize their
data as collections of items that
may span multiple locations “
43. “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]
44. 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)
45. Altre API
Media API:
api di alto livello (C++) semplificano il modello di
programmazione
Windows Automation
W3C ARIA
Extending Linguistic Service
Library API
46. 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
47. 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
[TDM. DEV][High level overview of the Windows 7 improve performance and main talking points]Windows 7 maximizes hardware energy efficiency and scalability while maintaining high performance. Energy efficiency is improved through reduced background activity and new support for the trigger starting of system services. Windows 7 also offers improvements in the Windows kernel that enable applications and services to scale efficiently between platforms. Performance of many features and APIs is improved in Windows 7 versus Windows Vista. For example, driver performance on servers is optimized by new user-mode and kernel-mode topology APIs. Graphics rendering is considerably smoother and faster. Accessibility performance is also significantly faster than before.
[DEV][Power Drilldown - a setup slide for the power demo]Timer Resolution15.6ms is system default for platform timerLower intervals can impact battery life by 20%Lower then 10ms rarely requiredUser Powercfg to ensure your application is not increasing timer resolutionAvoid Periodic Disk activity8% of power usedRegistry Activity == Disk ActivityUse Animations only when appropriateAdjust to power environment