SlideShare a Scribd company logo
1 of 48
Windows 7 (RC)
Developer overview
Pietro Brambati
Microsoft
blogs.msdn.com/pietrobr
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
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
Kernel
Performance

  Riduzione di   Miglioramento
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
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
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
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
Virtualizzazione
     e VHD
Windows Virtual PC [beta]

Nuovo software di
virtualizzazione
client
Supporto a USB 2.0
Richiede
virtualizzazione
hardware AMD-V
Intel-VT
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 …
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
Tool per la gestione di VHD
API
Il Multi-Touch
Il Multi-touch

Hardware
      Esistono già dispositivi in grado di gestire
      il Multi-touch


Software
      Windows 7 ha delle API native
      .NET 4.0
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
Scenic Ribbon
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
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
Grafica
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
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
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)
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
DxDiag.Exe
 WindowsSystem32DxDiag.exe
Web Services API
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
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
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
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
Sensor & Location Platform
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
Formati per i documenti
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
Libraries


“ Libraries are destinations where
  users can find and organize their
  data as collections of items that
  may span multiple locations “
Windows 7 Library per .NET




 http://tinyurl.com/win7net
Tips & Tricks
Quando verrà rilasciato ?
“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]
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)
Altre API
 Media API:
     api di alto livello (C++) semplificano il modello di
     programmazione
 Windows Automation
     W3C ARIA
     Extending Linguistic Service
 Library API
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
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
© 2008 Microsoft Corporation. All rights reserved.
  This presentation is for informational purposes only.
  MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

More Related Content

What's hot

Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Majong DevJfu
 
Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05Majong DevJfu
 
LUG - Logical volumes management
LUG - Logical volumes managementLUG - Logical volumes management
LUG - Logical volumes managementAlessandro Manfredi
 
Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04Majong DevJfu
 
Accesso remoto al proprio computer in una rete eterogenea
Accesso remoto al proprio computer in una rete eterogeneaAccesso remoto al proprio computer in una rete eterogenea
Accesso remoto al proprio computer in una rete eterogeneaGiacomo Antonino Fazio
 
Core Router Tw ss8-i7
Core Router Tw ss8-i7Core Router Tw ss8-i7
Core Router Tw ss8-i7Townet
 
Community Days 2012 - Tecnologie di desktop virtualization
Community Days 2012 - Tecnologie di desktop virtualization Community Days 2012 - Tecnologie di desktop virtualization
Community Days 2012 - Tecnologie di desktop virtualization Fabrizio Volpe
 
Joomla day 2010 Virtualizzare in locale pro e contro
Joomla day 2010 Virtualizzare in locale pro e controJoomla day 2010 Virtualizzare in locale pro e contro
Joomla day 2010 Virtualizzare in locale pro e controAndrea Adami
 

What's hot (12)

Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03
 
Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05Sistemi Operativi: Struttura avanzata - Lezione 05
Sistemi Operativi: Struttura avanzata - Lezione 05
 
LUG - Logical volumes management
LUG - Logical volumes managementLUG - Logical volumes management
LUG - Logical volumes management
 
Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04Sistemi Operativi: Struttura - Lezione 04
Sistemi Operativi: Struttura - Lezione 04
 
Compilazione Kernel
Compilazione KernelCompilazione Kernel
Compilazione Kernel
 
Accesso remoto al proprio computer in una rete eterogenea
Accesso remoto al proprio computer in una rete eterogeneaAccesso remoto al proprio computer in una rete eterogenea
Accesso remoto al proprio computer in una rete eterogenea
 
MPEG4 AVC-H.264
MPEG4 AVC-H.264MPEG4 AVC-H.264
MPEG4 AVC-H.264
 
Core Router Tw ss8-i7
Core Router Tw ss8-i7Core Router Tw ss8-i7
Core Router Tw ss8-i7
 
Community Days 2012 - Tecnologie di desktop virtualization
Community Days 2012 - Tecnologie di desktop virtualization Community Days 2012 - Tecnologie di desktop virtualization
Community Days 2012 - Tecnologie di desktop virtualization
 
Joomla day 2010 Virtualizzare in locale pro e contro
Joomla day 2010 Virtualizzare in locale pro e controJoomla day 2010 Virtualizzare in locale pro e contro
Joomla day 2010 Virtualizzare in locale pro e contro
 
LTSP
LTSPLTSP
LTSP
 
Cell Programming 1
Cell Programming 1Cell Programming 1
Cell Programming 1
 

Similar to Delphi Day 2009 Win7 Dev Overview

RGX Remote Graphics eXperience 1.1 Sinthera
RGX Remote Graphics eXperience 1.1 SintheraRGX Remote Graphics eXperience 1.1 Sinthera
RGX Remote Graphics eXperience 1.1 SintheraLuca Turco
 
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaDifferenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaYashi Italia
 
Smau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSmau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSMAU
 
ObserveIt -Record and replay SSH, RDP & Citrix sessions-product datasheet- It...
ObserveIt -Record and replay SSH, RDP & Citrix sessions-product datasheet- It...ObserveIt -Record and replay SSH, RDP & Citrix sessions-product datasheet- It...
ObserveIt -Record and replay SSH, RDP & Citrix sessions-product datasheet- It...ObserveIT
 
Evento 18 giugno - Demo VMP
Evento 18 giugno - Demo VMPEvento 18 giugno - Demo VMP
Evento 18 giugno - Demo VMPPRAGMA PROGETTI
 
Creazione di una partizione Linux ospitata da IBM i tramite VPM
Creazione di una partizione Linux ospitata da IBM i tramite VPMCreazione di una partizione Linux ospitata da IBM i tramite VPM
Creazione di una partizione Linux ospitata da IBM i tramite VPMS.info Srl
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraMassimoPalmisano
 
Virtualizzare Nanosoft
Virtualizzare   NanosoftVirtualizzare   Nanosoft
Virtualizzare NanosoftDario Vemagi
 
Meetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e KubernetesMeetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e Kubernetesdotnetcode
 
Vscc c6475 p
Vscc c6475 pVscc c6475 p
Vscc c6475 pGpsLazio
 
Vscc c6475 p
Vscc c6475 pVscc c6475 p
Vscc c6475 pGpsLazio
 
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...Pipeline Srl
 
La Virtualizzazione 2010
La Virtualizzazione 2010La Virtualizzazione 2010
La Virtualizzazione 2010Davide Grossato
 
Un Pinguino Nel Tuo Modem
Un Pinguino Nel Tuo ModemUn Pinguino Nel Tuo Modem
Un Pinguino Nel Tuo ModemMarco Scaloni
 
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2Yashi Italia
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxMarco Ferrigno
 
Sistemi di virtualizzazione con Linux
Sistemi di virtualizzazione con LinuxSistemi di virtualizzazione con Linux
Sistemi di virtualizzazione con LinuxTruelite
 

Similar to Delphi Day 2009 Win7 Dev Overview (20)

RGX Remote Graphics eXperience 1.1 Sinthera
RGX Remote Graphics eXperience 1.1 SintheraRGX Remote Graphics eXperience 1.1 Sinthera
RGX Remote Graphics eXperience 1.1 Sinthera
 
Sametime 8.x configurarlo ed installarlo
Sametime 8.x configurarlo ed installarloSametime 8.x configurarlo ed installarlo
Sametime 8.x configurarlo ed installarlo
 
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaDifferenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
 
Smau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSmau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazione
 
ObserveIt -Record and replay SSH, RDP & Citrix sessions-product datasheet- It...
ObserveIt -Record and replay SSH, RDP & Citrix sessions-product datasheet- It...ObserveIt -Record and replay SSH, RDP & Citrix sessions-product datasheet- It...
ObserveIt -Record and replay SSH, RDP & Citrix sessions-product datasheet- It...
 
Evento 18 giugno - Demo VMP
Evento 18 giugno - Demo VMPEvento 18 giugno - Demo VMP
Evento 18 giugno - Demo VMP
 
Creazione di una partizione Linux ospitata da IBM i tramite VPM
Creazione di una partizione Linux ospitata da IBM i tramite VPMCreazione di una partizione Linux ospitata da IBM i tramite VPM
Creazione di una partizione Linux ospitata da IBM i tramite VPM
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di Dijkstra
 
Virtualizzare Nanosoft
Virtualizzare   NanosoftVirtualizzare   Nanosoft
Virtualizzare Nanosoft
 
La Virtualizzazione
La VirtualizzazioneLa Virtualizzazione
La Virtualizzazione
 
Meetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e KubernetesMeetup ASP.NET Core e Kubernetes
Meetup ASP.NET Core e Kubernetes
 
Vscc c6475 p
Vscc c6475 pVscc c6475 p
Vscc c6475 p
 
Vscc c6475 p
Vscc c6475 pVscc c6475 p
Vscc c6475 p
 
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
Software Virtualization & Streaming: eliminare intere fasi dell’ IMAC (Instal...
 
La Virtualizzazione 2010
La Virtualizzazione 2010La Virtualizzazione 2010
La Virtualizzazione 2010
 
Android
AndroidAndroid
Android
 
Un Pinguino Nel Tuo Modem
Un Pinguino Nel Tuo ModemUn Pinguino Nel Tuo Modem
Un Pinguino Nel Tuo Modem
 
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
Yashi Enterprise e Microsoft Perchè aggiornare a windows server 2012 r2
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
 
Sistemi di virtualizzazione con Linux
Sistemi di virtualizzazione con LinuxSistemi di virtualizzazione con Linux
Sistemi di virtualizzazione con Linux
 

More from pietrobr

Azure IIoT for Manufacturing and Beyond @ IAMCP event June 2019
Azure IIoT for Manufacturing and Beyond @ IAMCP event June 2019Azure IIoT for Manufacturing and Beyond @ IAMCP event June 2019
Azure IIoT for Manufacturing and Beyond @ IAMCP event June 2019pietrobr
 
Architecting Azure (I)IoT Solutions @ IoT Saturday 2019
Architecting Azure (I)IoT Solutions @ IoT Saturday 2019Architecting Azure (I)IoT Solutions @ IoT Saturday 2019
Architecting Azure (I)IoT Solutions @ IoT Saturday 2019pietrobr
 
Android and Azure @droidconit 2015
Android and Azure @droidconit 2015Android and Azure @droidconit 2015
Android and Azure @droidconit 2015pietrobr
 
Modern IE @ CSS Day 2015
Modern IE @ CSS Day 2015Modern IE @ CSS Day 2015
Modern IE @ CSS Day 2015pietrobr
 
Il back-end unificato per la vostra applicazione iOS
Il back-end unificato per  la vostra applicazione iOSIl back-end unificato per  la vostra applicazione iOS
Il back-end unificato per la vostra applicazione iOSpietrobr
 
PHPDay 2013: Windows Azure: what's hot
PHPDay 2013: Windows Azure: what's hotPHPDay 2013: Windows Azure: what's hot
PHPDay 2013: Windows Azure: what's hotpietrobr
 
Building a unified back-end for your apps with Azure Mobile Services
Building a unified back-end for your apps with Azure Mobile ServicesBuilding a unified back-end for your apps with Azure Mobile Services
Building a unified back-end for your apps with Azure Mobile Servicespietrobr
 
Windows Azure al DrupalDay Roma 2012
Windows Azure al DrupalDay Roma 2012Windows Azure al DrupalDay Roma 2012
Windows Azure al DrupalDay Roma 2012pietrobr
 
Internet Explorer 9
Internet Explorer 9Internet Explorer 9
Internet Explorer 9pietrobr
 
WebMatrix loves WordPress
WebMatrix loves WordPressWebMatrix loves WordPress
WebMatrix loves WordPresspietrobr
 
PHP Days 2011 - Keynote: Microsoft WebMatrix
PHP Days 2011 - Keynote: Microsoft WebMatrixPHP Days 2011 - Keynote: Microsoft WebMatrix
PHP Days 2011 - Keynote: Microsoft WebMatrixpietrobr
 
PHP Day 2011 PHP goes to the cloud
PHP Day 2011 PHP goes to the cloudPHP Day 2011 PHP goes to the cloud
PHP Day 2011 PHP goes to the cloudpietrobr
 
Word press e iis
Word press e iisWord press e iis
Word press e iispietrobr
 
Ottimizzare WordPress su Windows/IIS
Ottimizzare WordPress su Windows/IISOttimizzare WordPress su Windows/IIS
Ottimizzare WordPress su Windows/IISpietrobr
 
PHP e Windows Azure, SQL Azure
PHP e Windows Azure, SQL AzurePHP e Windows Azure, SQL Azure
PHP e Windows Azure, SQL Azurepietrobr
 
Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4pietrobr
 
Keynote del phpday 2010
Keynote del phpday 2010Keynote del phpday 2010
Keynote del phpday 2010pietrobr
 
Php Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel BuioPhp Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel Buiopietrobr
 
Php On Windows For Ph Pday 2008
Php On Windows For Ph Pday 2008Php On Windows For Ph Pday 2008
Php On Windows For Ph Pday 2008pietrobr
 

More from pietrobr (20)

Azure IIoT for Manufacturing and Beyond @ IAMCP event June 2019
Azure IIoT for Manufacturing and Beyond @ IAMCP event June 2019Azure IIoT for Manufacturing and Beyond @ IAMCP event June 2019
Azure IIoT for Manufacturing and Beyond @ IAMCP event June 2019
 
Architecting Azure (I)IoT Solutions @ IoT Saturday 2019
Architecting Azure (I)IoT Solutions @ IoT Saturday 2019Architecting Azure (I)IoT Solutions @ IoT Saturday 2019
Architecting Azure (I)IoT Solutions @ IoT Saturday 2019
 
Android and Azure @droidconit 2015
Android and Azure @droidconit 2015Android and Azure @droidconit 2015
Android and Azure @droidconit 2015
 
Modern IE @ CSS Day 2015
Modern IE @ CSS Day 2015Modern IE @ CSS Day 2015
Modern IE @ CSS Day 2015
 
Il back-end unificato per la vostra applicazione iOS
Il back-end unificato per  la vostra applicazione iOSIl back-end unificato per  la vostra applicazione iOS
Il back-end unificato per la vostra applicazione iOS
 
PHPDay 2013: Windows Azure: what's hot
PHPDay 2013: Windows Azure: what's hotPHPDay 2013: Windows Azure: what's hot
PHPDay 2013: Windows Azure: what's hot
 
Building a unified back-end for your apps with Azure Mobile Services
Building a unified back-end for your apps with Azure Mobile ServicesBuilding a unified back-end for your apps with Azure Mobile Services
Building a unified back-end for your apps with Azure Mobile Services
 
Windows Azure al DrupalDay Roma 2012
Windows Azure al DrupalDay Roma 2012Windows Azure al DrupalDay Roma 2012
Windows Azure al DrupalDay Roma 2012
 
Internet Explorer 9
Internet Explorer 9Internet Explorer 9
Internet Explorer 9
 
WebMatrix loves WordPress
WebMatrix loves WordPressWebMatrix loves WordPress
WebMatrix loves WordPress
 
PHP Days 2011 - Keynote: Microsoft WebMatrix
PHP Days 2011 - Keynote: Microsoft WebMatrixPHP Days 2011 - Keynote: Microsoft WebMatrix
PHP Days 2011 - Keynote: Microsoft WebMatrix
 
PHP Day 2011 PHP goes to the cloud
PHP Day 2011 PHP goes to the cloudPHP Day 2011 PHP goes to the cloud
PHP Day 2011 PHP goes to the cloud
 
Word press e iis
Word press e iisWord press e iis
Word press e iis
 
Ottimizzare WordPress su Windows/IIS
Ottimizzare WordPress su Windows/IISOttimizzare WordPress su Windows/IIS
Ottimizzare WordPress su Windows/IIS
 
PHP e Windows Azure, SQL Azure
PHP e Windows Azure, SQL AzurePHP e Windows Azure, SQL Azure
PHP e Windows Azure, SQL Azure
 
Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4Integrazione PHP e Silverlight 4
Integrazione PHP e Silverlight 4
 
Keynote del phpday 2010
Keynote del phpday 2010Keynote del phpday 2010
Keynote del phpday 2010
 
Php Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel BuioPhp Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel Buio
 
Php On Windows For Ph Pday 2008
Php On Windows For Ph Pday 2008Php On Windows For Ph Pday 2008
Php On Windows For Ph Pday 2008
 
Linq e Ef
Linq e EfLinq e Ef
Linq e Ef
 

Delphi Day 2009 Win7 Dev Overview

  • 1. Windows 7 (RC) Developer overview Pietro Brambati Microsoft blogs.msdn.com/pietrobr
  • 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
  • 5. Performance Riduzione di Miglioramento
  • 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
  • 16. Tool per la gestione di VHD
  • 17. API
  • 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
  • 35. Sensor & Location Platform
  • 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
  • 37. Formati per i documenti
  • 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 “
  • 40. Windows 7 Library per .NET http://tinyurl.com/win7net
  • 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
  • 48. © 2008 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

Editor's Notes

  1. [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.
  2. [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