convergence · developer platform xbox: .netcf/xna on win2k fork server and cloud os: windows nt...
Post on 17-Aug-2020
4 Views
Preview:
TRANSCRIPT
Convergence
One
Universal
Summary
Agenda
Mobile
OS: WinCE
Developer platform: .NetCF, Win32CE, OpenGL
PC OS: Windows NT
Developer platform: Win32, .NET, Silverlight, XNA, DX
TV
OS (Media Center): Windows NT
OS (Xbox): NT-mutant
Developer platform Xbox: .NetCF/XNA on Win2K fork
Server and cloud
OS: Windows NT and Azure
WHY
Convergence
Consistent developer story (internal/external)
No porting costs
Allow product groups to focus on customer value
Increased Agility Innovation and bug fixes flow more rapidly
Engineering efficiency Opportunity for improvements/cleanup
BENEFITS
Convergence
OS
Convergence
Windows Servers (Enterprise, Data Center etc)
Products
MinServer
WinPE &
FriendsEV
DNS
/
DHC
P
File
Serv
er
Presentation (DxCore, MFCore, etc)
Windows Mobile
Mobile
Core
Server
Core
Client
Core
Windows Clients (Home, Ultimate etc)
Core System
Minwin
MincoreMincore
PSPs
Minwin
PSPs
Converged OS
WHAT
One
Refactored a common subset of the OS
Build all of our products with that common subset on Win10
Properties of this subset:
Common codebase
Mostly the same binaries (e.g. same kernel)
Exposes a subset of the Win32 API surface
Kernel mode DDIs are the same as Desktop
Common API Surface
Universal App Platform (UAP)
Common Driver Surface
Universal Driver
OneCore
WHAT
One
Xbox
SystemOS
OneCoreUAP
Desktop
& ServerWindows
Mobile
IoT Athens
Supports
Universal Drivers
& Universal Apps
Sakura
Edition (WIM, VHD, FFU, etc.)
Optional packages
0
T Test packages; ex. VM drivers, tools
Product specific packages
Required packages
UAP = Universal App Platform
OneCoreUAPTest
WHAT
One
Kernel HALCore
Networking
File System
Support
C/C++
Runtime
ETW &
Telemetry
CryptoUsermode PnP
Usermode
Power Infra
Servicing
StackAuthStorage
Resource
Manager
OneCore - Required
Hyper-V
COM
Mobile
Broadband
Voice Cellular
Stack
PowerShell
Dev. Tools &
Transports
IIS
DX
Minuser
& win32k
Input mgmt.
& routing
Compositor
XAML
IE Core
WWA
OneCore-AppRuntime – Required by all MSFT OS-es that support
universal apps and
universal driversCortana
CoreCLR
Networking
Extended
NUI
OneCore – Optional Packages
Management
Cmd.exe
Product Specific Out of box experience (OOBE)UI (Shell)
Edition (WIM, VHD, FFU, etc.)
Optional packages
0
T Test packages; ex. VM drivers, tools
Product specific packages
Required packages
Microsoft-OneCore-AppRuntime package
DriversConnection
Sharing
Network
Data Usage
Low Power
Buses
WLAN
NFC
USBBluetooth
Sensors
OneCore-DeviceRuntime
WHAT
One
1. Universal driver developers
2. System code devs (GPU perf tool)
WinRT APIsWin32 APIs
onecoreuap.lib
Overlappin
g API
surface
WinRT
Classes
Universal app developers
kernel32.lib & advapi32.libFull Win32
devs
windowsapp.lib
Based on OneCore
Kernel/User mode driver
Installed as part of a Universal Driver Package.
WHAT
Universal
WHAT
Universal
Runs on all Windows editions that includes the Windows Universal Platform (WUP) Desktop, mobile, IoT
All converged device driver stacks are included
Value Proposition: Write 1 driver binary per architecture works on desktop, mobile, IoT
Single API surface from drivers and apps using WUP
Any Windows edition can be used as a driver test platform
Sell components to desktop as well as mobile OEMs/ODMS without needing a different driver
DO
Universal
1. Install Visual Studio
2. Install WDK Includes all headers and libs needed for driver development
3. Select Universal Driver as Target
4. Select architecture (ARM, x86, x64)
5. Add your code, headers, libs, etc
6. Compile / debug / etc. Loop until done
7. Deploy to target machine (dev board)
8. Run available tests
VALIDATION TOOL
Universal
Included in the WDK
"C:\Program Files (x86)\Windows Kits\8.2\bin\x86\apivalidator.exe“
Runs as a post build process for Universal Drivers
Also can be run on command line
Flags APIs used in the driver project that aren’t part of the Windows Universal Platform
IMPACT
Universal
Kernel mode drivers
Mostly backwards compatible
Minimal changes needed
User mode drivers and services
Not all Win32 APIs are available as part of Windows Universal Platform
A binary (DLL, EXE) linked with missing APIs will not load
Replacement APIs may be available in some cases
Re-design/re-implementation will be required if APIs are not available
PORTING
Universal
The developer: Developer launches VS and opens existing driver project written for win8
The project get upgraded as part of WDK by default
Changes TargetPlatform settings from “Desktop” to “Universal”
Builds the driver
May get build errors because the driver is making calls to APIs not available for universal drivers Remove/replace API calls
Builds driver clean, and deploys
Summary
ON
E
PC
TV
MOBILE
SERVER/CLOUD
UNIVERSAL
(c) 2015 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views
expressed in this document, including URL and other Internet Web site references, may change without notice. You
bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any
Microsoft product. You may copy and use this document for your internal, reference purposes.
Some information relates to pre-released product which may be substantially modified before it’s commercially
released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
top related