Windows 10でLinuxを使う(その1)

【連載】

にわか管理者のためのLinux運用入門

【第99回】Windows 10でLinuxを使う(その1)

[2017/11/07 10:30]後藤大地 ブックマーク ブックマーク

サーバ/ストレージ

MicrosoftがWindowsでLinuxバイナリを実行するための互換レイヤを追加すると発表したとき、本連載では5回に渡って開発版にインストールして利用する方法を取り上げた。あれから開発が進み、2017年10月に公開された「Windows 10 Fall Creators Update」ではついに、この機能が取り込まれた。これからは、Windowsでも大手を振ってUNIX系コマンドが利用できる。もうmacOSをうらやまなくてもいいのである!

手っ取り早く実感するには、アプリストアを開いて「Linux」というキーワードで検索をかけてみるといいだろう。「Ubuntu」「SUSE Linux」「Enterprise Server」「openSUSE」がアプリとして登録されていることを確認できる。

ストアにUbuntu、SUSE、openSUSEが登録されている

ストアアプリ - Ubuntu

ストアアプリ - SUSE Linux Enterprise Server

ストアアプリ - openSUSE

本連載では、もう一度この機能についておさらいすると共に、インストールして利用する方法を取り上げる。どちらかと言うと開発者向けの機能だが、運用担当や一般ユーザーも使えるようになれば便利な環境だ。以下の画面が使いこなせるようになれば大満足である。

Windows 10で実行するUbuntu

Windows Subsystem for Linux(WSL)の概要

まずは、この新機能がどのようなものであるかを説明しておこう。Microsoftはこの技術を「Windows Subsystem for Linux」と呼んでおり、短縮して「WSL」と表記されることもある。WSLは、LinuxカーネルシステムコールをWindowsカーネルシステムコールに差し替えるもので、互換レイヤ技術ということになる。

現在、VMwareやVirtualBoxといった仮想化ソフトウェア、XenやKVM、Hyper-V、bhyveなどのハイパーバイザが存在する。これらの技術を大雑把に説明するなら、「ソフトウェアでPCをエミュレートして、その上で別のOSを実行するもの」だ。だが、WSLはこれらとは違う。

LinuxにしろWindowsにしろ、現在主流のOSではプロセスはカーネルに対してシステムコールを呼ぶことで機能を依頼している。プロセスからのシステムコールがシステムに対する仕事の依頼になっているわけだ。つまり、この部分さえ用意されていれば、そこから先はプロセス側は関与しないので、入れ替えが可能なのである。

ちょっとわかりにくいかもしれないが、要するに申請書類を提出した際、ちゃんと結果が返ってくるのであれば、誰が処理をしていようと申請者は気にしなくてよいということだ。WSLはこれを実現するのである。

Linuxのプログラムは、向こう側にいるのはLinuxカーネルだと想定して処理を申請するが、WSLを経由すると翻訳が行われた後、Windowsカーネルで処理が行われる。結果は、Linuxシステムコール風になって返っていく。このように、WindowsカーネルでLinuxカーネルのシステムコールを実行する仕組みがWSLである。

一見、画期的な技術だと思うかも知れないがそういうわけでもなく、こうした仕組みは結構古くから存在している。WindowsアプリケーションをUNIX系OSで実行するためのソフトウェアである「Wine」はこうした技術の実装系だし、UNIX系OSにはWSLのような機能が大体実装されている。FreeBSDではLinuxバイナリをネイティブスピードで実行できるが、これはWSLと同じようなことをしているためだ。

WSLのような互換レイヤと仮想化ソフトウェアとの大きな違いをざっくり言うとすれば、仮想化ソフトウェアではゲストOSが箱庭的な状態になりやすいのに比べ、WSLのほうはホストと地続きになりやすいといったところだろう(実行速度や消費リソース量にも違いは出るのだが、こちらは徐々に重要度が下がっているように見える。実装によってはWSLのアプローチは高速になりやすいが、WSLの場合はOSのセマンティックの違いがあって逆に遅い部分も目立ってしまっている)。

要するに、Linux環境からそのままWindowsの環境を扱える。macOSではネイティブにUNIX系コマンドが実行できるのでフラットに利用できるが、WSLだと(1枚挟まるものの)これとかなり近い感じになるということだ。

そして、最大の注目ポイントはMicrosoftがこれを開発したということである。Microsoftは営利企業であるため、この機能が使われなければそのうちなかったことにされてしまうかもしれない。しかし、利用するユーザーが多ければ今後も開発を継続し、新しいシステムコールの開発なども行っていくだろう。Linuxユーザーとして、ここはぜひとも頻繁に使って、Microsoftに開発継続のプレッシャーをかけていきたいところである。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
3232
2
【連載】にわか管理者のためのLinux運用入門 [99] Windows 10でLinuxを使う(その1)
MicrosoftがWindowsでLinuxバイナリを実行するための互換レイヤを追加すると発表したとき、本連載では5回に渡って開発版にインストールして利用する方法を取り上げた。あれから開発が進み、2017年10月に公開された「Windows 10 Fall Creators Update」ではついに、この機能が取り込まれた。本連載では、今回から数回に渡ってもう一度この機能についておさらいすると共に、インストールして利用する方法を取り上げていく。
https://news.mynavi.jp/itsearch/assets_c/2017/11/Linu99_001-thumb-300xauto-15310.jpg
MicrosoftがWindowsでLinuxバイナリを実行するための互換レイヤを追加すると発表したとき、本連載では5回に渡って開発版にインストールして利用する方法を取り上げた。あれから開発が進み、2017年10月に公開された「Windows 10 Fall Creators Update」ではついに、この機能が取り込まれた。本連載では、今回から数回に渡ってもう一度この機能についておさらいすると共に、インストールして利用する方法を取り上げていく。

会員登録(無料)

セキュリティ・キャンプ2017 - 精彩を放つ若き人材の『今』に迫る
ぼくらのディープラーニング戦争
クラウドアンケート
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
人事・経理・総務で役立つ! バックオフィス系ソリューション&解説/事例記事まとめ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る