MicrosoftはWindows 10 Fall Creators UpdateからWSL (Windows Subsystem for Linux)を導入した。このため、WindowsでもUbuntuやopenSUSEといったLinuxが利用できるようになったが、同社はWSLのみならず、ネイティブにもUNIX系ツールやAPIの導入を進めている。この流れは今後しばらく続くものと見られ、今後のリリースでさらに利用できるコマンドが増えるのではないかと見られる。

同社は2017年12月19日(米国時間)、コマンドとして新しくbsdtarとcurlを導入したこと、および、プロセス間通信機能としてUNIXソケット(AF_UNIX)を導入したことを伝えた。

これまで同社はbsdtarおよびcurlに相当するコマンドをネイティブに提供してこなかった。bsdtarはさまざまな種類のアーカイブおよび圧縮に対応したコマンド。Windowsで同等の処理をする場合これまでは別途アプリケーションやツールの導入が必要だったが、bsdtarを使うことでデフォルトで可能になる。

curlはデータ転送やリクエスト送信に使われるコマンド。ファイルのダウンロードといった使い方からWebアプリケーションの開発、リクエストと処理の自動化など多種多様な利用が可能で、利便性の高いコマンドとしてユーザや開発者に愛用されている。

  • Windows 10で動作するbsdtarコマンド - 資料: Microsoft提供

    Windows 10で動作するbsdtarコマンド - 資料: Microsoft

  • Windows 10で動作するcurlコマンド - 資料: Microsoft提供

    Windows 10で動作するcurlコマンド - 資料: Microsoft

UNIX系のオペレーティングシステムはプロセス間通信の機能としてUNIXソケットと呼ばれる機能をサポートしている。Windowsにも似たようなことを実現する機能として名前付きパイプという機能が用意されているが(なお、この機能はUNIXにおける名前付きパイプとは別もの)、セマンティックスが異なっている。このため、UNIXソケットを使っているコマンドをUNIX系オペレーティングシステムからWindowsに移植するには該当部分の書き換えが必要だった。

今回、WindowsがUNIXソケットに対応したことで、UNIXソケットを使っているUNIX系オペレーティングシステムのコマンドの移植が簡単になる。Microsoftは今後、ユーザーや開発者の要望を受けて対応する機能を定めていくとしており、今後も今回のようなAPIの導入とコマンドの移植が行われていくものと見られる。