![Page 1: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/1.jpg)
![Page 2: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/2.jpg)
Interoperability and the SQL Platform Abstraction Layer
Argenis Fernandez
Principal Program Manager, Azure Data
![Page 3: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/3.jpg)
Agenda
议程安排
1. In The Beginning, There Was
Drawbridge
2. Enter SQL Server
3. Into Big Data Clusters, Azure
Arc, and Beyond
4. The Interop Story for SQLPAL
![Page 4: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/4.jpg)
In The Beginning, There Was Drawbridge
![Page 5: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/5.jpg)
Pico Processes in Context
![Page 6: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/6.jpg)
• NT process with modified service handler• All 1200+ system calls blocked from user-mode (NTOS and win32k)
• Enforced by 35-line change to KiSystemServiceHandler
• No perf impact to other processes—leverages “slow path” used by UMS
• 50 new system calls added to process (Drawbridge system calls)• Even hard-coded traps can’t break out
![Page 7: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/7.jpg)
Microsoft Products Built on Drawbridge’s Legacy
▅ SQL Server on Linux (SQLPAL)
▅ Windows Subsystem for Linux (WSL)
▅ Modern Windows CE (CEPAL)
![Page 8: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/8.jpg)
Enter SQL Server
![Page 9: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/9.jpg)
Host Extension
ABI (Memory, Scheduling, Synchronization, I/O)
Storage
Manager
Network
Manager
Resource
Manager
Process
ManagerSecurity
Manager
Availability
Manager
Config.
Manager
Hosted Windows APIs
SQL Server
Platform-Optimized APIs
![Page 10: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/10.jpg)
SQL Server on Linux: A Story in 4 Numbers
5 3 24 20Estimated number
of years to port SQL Server to Linux natively
Weeks to working prototype using
SQLPAL
Months to release, including support
for containers
Million Docker container pulls
![Page 11: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/11.jpg)
Using SQLPAL, SQL Server Went From...
Only on Virtual Machines
![Page 12: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/12.jpg)
On both virtual machines and containers
To Being Available Across ALL Of These
![Page 13: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/13.jpg)
![Page 14: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/14.jpg)
SQL Server on Linux: Highlights ▪ Linux experience end-to-end
▪ Runs under systemd
▪ Supports EXT4, XFS and NFS v4.2
▪ Performance on par with Windows
▪ All editions available from a single
download, including our FREE
Developer Edition
![Page 15: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/15.jpg)
Into Big Data Clusters, Azure Arc, and Beyond
![Page 16: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/16.jpg)
After SQL Server on Linux Was Released ▅ Cognitive Services
▅ Speech Server
▅ Azure SQL Database Edge
▅ Big Data Clusters
▅ Azure Arc (Azure Data Services
Anywhere)
▅ Stuff we can’t tell you about yet
![Page 17: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/17.jpg)
![Page 18: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/18.jpg)
![Page 19: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/19.jpg)
![Page 20: Interoperability and the SQL Platform Abstraction Layer · Windows Subsystem for Linux (WSL) Modern Windows CE (CEPAL) Enter SQL Server. Host Extension ABI (Memory, Scheduling, Synchronization,](https://reader033.vdocuments.pub/reader033/viewer/2022042913/5f4a43a9f266310b3465caa3/html5/thumbnails/20.jpg)