windows subsystem for linux の簡単なはなし
TRANSCRIPT
![Page 1: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/1.jpg)
Windows Subsystem for Linuxの簡単なはなし
山本 美穂
日本マイクロソフト株式会社テクニカルエバンジェリスト Twitter: @mihochannel
Blog: http://aka.ms/miyamam
![Page 2: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/2.jpg)
Microsoft Linux
![Page 3: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/3.jpg)
Microsoft joins theLinux Foundation
![Page 4: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/4.jpg)
Azure で利用可能な技術
Applications
Clients
Infrastructure
Management
Databases &Middleware
App Frameworks& Tools
DevOps
PaaS &DevOps
![Page 5: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/5.jpg)
• PowerShell• .NET Core• Visual Studio / Visual Studio Code, Xamarin• App Services (Azure PaaS)• Virtual Machine (Azure IaaS)• SQL Server v.Next
マルチプラットフォーム対応の一例
![Page 6: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/6.jpg)
• Windows 10 Insider Preview build 14316 で初めて実装(要開発者モード)
• Windows で Bash が起動するというもの• Ubuntu 14.04.4 LTS ベース• Build 14936 から Ubuntu 16.04.1 LTS ベー
ス
Anniversary Update で追加された機能
![Page 7: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/7.jpg)
Windows NT の設計使命と目標• 他の 32 ビット アーキテクチャへの容易な移植性を提供すること移植性• 安定性およびマルチプロセッシング サポートを提供すること安定性• 分散コンピューティングをサポートし、複数のコンピュータがリソースを共有できるようにすること共有性• Portable Operating System Interface for UNIX( POSIX)が要求したアプリケーション プログラミング インターフェイス( API )をサポートすること互換性• 米国政府のクラス 2 ( C2 )セキュリティ機能を提供し、クラス B1 とそれ以降のパスを提供すること堅牢性
![Page 8: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/8.jpg)
UNIX SDK
NT-POSIX
Hardware Abstraction Layer
Windows NT Kernel
UNIX/POSIX APIs
POSIX/UNIX Subsystem
UNIXshells
UNIX, XPG, POSIX.2 command & utilities
Workshop; gcc, g++perl, Apache, Tol/Tk,
bash, etc. X11
Motif
UNIXApplications
BSDSockets
telnetd
NFSClient/Server/Gateway
Win32 Subsystem
Win32 APIs
Windows NT sysadmin, commands
& networking
Win95 GUI
Windows NTCommand Shell
WindowsApplications
X11R6.3 server
Windows Applications
winsock
![Page 9: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/9.jpg)
では、 WSL は?仮想マシンではありません! Drawbridge !
WSL
Hardware
OS
Pico process
Hyper-V
Hardware
OS/Hyper-V
Virtual Hardware
Ubuntu
VM とホストOS との間は完全に分離
コンテナに近い実装
![Page 10: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/10.jpg)
こんな構成で動いています
ユーザーモードカーネルモード
Linux (Ubuntu) インスタンス
LXCore / LXSS
Bash.exe
LX Session
manager service
init /bin/bash
syscall
fork
ioctl
COM
bus
Win32 プロセス Pico プロセス
![Page 11: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/11.jpg)
• Lxss manager関連するサービス
![Page 12: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/12.jpg)
システムコールを実装しています。
今日現在、 384 syscall あるうち 235 件対応
![Page 13: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/13.jpg)
ファイルシステムの特徴VolFS
• Linux ファイルシステム機能をフルで実装• Permission• シンボリックリンク• ファイル名特性• Windows 非互換
DriveFS
• Windows 互換• 実態は OS のフォルダをマウントしている
![Page 14: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/14.jpg)
Windows から WSL のファイルを編集しないで!
ファイルシステムの注意点
https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/
![Page 15: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/15.jpg)
• 動いた、動かない、シェル芸、なんでも OK
• UserVoice (Ideas & asks): https://aka.ms/winbashuv
• GitHub Issues: https://aka.ms/winbashgithub
フィードバックお願いします!
![Page 16: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/16.jpg)
• Microsoft ♥ Linux な話• Windows Subsystem for Linux な話• SQL Server v.Next な話
本日のアジェンダ
![Page 17: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/17.jpg)
SQL Server v.Next タイムライン
2016 年 3 月private previewをアナウンス
2016 年 11 月Public Preview @ Connect()
CY2017 (今年)一般提供開始
月次でアップデート
CTP1.2( 現在)
![Page 18: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/18.jpg)
よくある誤解Windows 版ないでしょ?
![Page 19: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/19.jpg)
あります。コンテナで提供してます。
microsoft/mssql-server-windowshttps://hub.docker.com/r/microsoft/mssql-server-windows/
![Page 20: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/20.jpg)
• RHEL, Ubuntu, Docker のサポート
• パッケージベースのインストール
• Open Shift, Docker Swarm のサポート
• Pacemaker を利用したクラスタ構成
• バックアップ & リストア
• SSMS から Linux 上の SQL Server のサポート
• コマンドライン : sqlcmd, bcp, sqlpackage• SQL Agent• レプリケーション
• ログ転送
• 透過的なデータ暗号化
• SCOM 管理パック
• 動的管理ビュー
プラットフォーム プログラミング インターフェース• 各種ドライバでの接続
• インメモリ OLTP & 列ストア
• データ圧縮
• Always Encrypted, 行レベルセキュリティ , 動的データマスク
• サービス ブローカー
• Change Data Capture• パーティション テーブル
• 監査
• CLR• JSON, XML
現在利用可能な機能
![Page 21: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/21.jpg)
SQL Server vNext on Linux の動作マルチプラットフォームで同一の機能Platform Abstraction Layer (PAL) レイヤを通じて動作既存の SQL OS layer (“SOS”) を有効にUbuntu, RHEL, OSX, Windows で動作
Connectivity and Tools
SQL Platform Abstraction Layer (SQLPAL)
Database Engine
Analysis
Services
Integration
Services
Reporting
Services
Windows
Ubuntu, Red Hat,
…
Other OS in
Future?
WindowsHost Ext.
Linux Host Extension … …
SQL Platform Abstraction Layer (SQLPAL)
Win32 APIs
Host Extension mapping to OS system calls
(IO, Memory, CPU scheduling)
SQL OS API
SQL OS v2
Non-performance critical code
Performance critical code
![Page 22: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/22.jpg)
SQL Server vNext の Drawbridge 実装Pico Process
Hardware
Host OS (Linux )
Database Engine
Library OS ( Windows 6.2 Kernel)
C:\binn\sqlserver.exe
C:\Windows\SYSTEM32\ntoskrnl.dll
var/opt/mssql/mssql.conf/var/opt/mssql/data/master.mdf/var/opt/mssql/data/mastlog.ldf/opt/mssql/bin/sqlserver
![Page 23: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/23.jpg)
TechNet Virtual Labs で操作できますよ
• https://technet.microsoft.com/en-us/virtuallabs/bb467605.aspx
![Page 24: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/24.jpg)
• Windows Subsystem for Linux Overviewhttps://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/
• Drawbridgehttps://www.microsoft.com/en-us/research/project/drawbridge/
• Do not change Linux files using Windows apps and toolshttps://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/
• Release notes for SQL Server on Linuxhttps://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-release-notes
参考 URL
![Page 25: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/25.jpg)
• Configure SQL Server on Linux with mssql-confhttps://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-configure-mssql-conf
• TechNet Virtual Labshttps://technet.microsoft.com/en-us/virtuallabs/bb467605.aspx
• Public preview of the next release of SQL Serverhttps://www.microsoft.com/en-us/sql-server/sql-server-vnext-including-Linux
• Windows Command Line Tools For Developershttps://blogs.msdn.microsoft.com/commandline/
参考 URL
![Page 26: Windows Subsystem for Linux の簡単なはなし](https://reader035.vdocuments.site/reader035/viewer/2022062401/58ecf7291a28abc7748b45eb/html5/thumbnails/26.jpg)
26
本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。 Microsoft は絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、提示された情報の信憑性については保証できません。 本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。 すべての当該著作権法を遵守することはお客様の責務です。 Microsoft の書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、機械的、複写、レコーディング、その他)、および目的であっても禁じられています。これらは著作権保護された権利を制限するものではありません。 Microsoft は、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。 Microsoft から書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。© 2017 Microsoft Corporation. All rights reserved.Microsoft, Windows, その他本文中に登場した各製品名は、 Microsoft Corporation の米国およびその他の国における登録商標または商標です。その他、記載されている会社名および製品名は、一般に各社の商標です。
YA
X B