このページの本文へ

前へ 1 2 3 次へ

Macはもう不要!? - "UNIX使い"狙い撃ちの「Windows Subsystem for Linux」を検証する(後編)

2016年09月05日 10時00分更新

文● 海上忍(@u_shinobu)、編集●ハイサイ比嘉

  • この記事をはてなブックマークに追加
  • 本文印刷

 『Macはもう不要!? - "UNIX使い"狙い撃ちの「Windows Subsystem for Linux」を検証する(前編)』に続き、Windows 10で追加された「Windows Subsystem for Linux」(WSL)の試用レポートをお送りする。CygwinやMSYS2、(Hyper-Vなどの)仮想Linuxマシンと比較しつつお読みいただきたい。

「Windows Subsystem for Linux」の特徴

 Windows Subsystem for Linuxは、Ubuntu開発チーム(Canonical)協力のもと開発されたWindowsサブシステム。LinuxのシステムコールをWindowsのそれへリアルタイム変換するため、高速かつシームレスに動作する。Windowsのバイナリフォーマット(PE)ではなく、Linuxで用いられるELFバイナリをそのまま — Linuxインスタンス下のPicoプロセスとして — 実行できるのだ。

「Ubuntu On Windows」のコマンドはELF64bitバイナリ、WindowsのコマンドはPEバイナリとフォーマットが異なる

 用意される「Ubuntu Linux」(「Ubuntu On Windows」、Ubuntu 14.04 LTSベース)はユーザー空間のみで、カーネル空間はサポートされない。だからデバイスドライバやカーネルモジュールの類いは動作しない。ユーザー空間では扱えないKVMなどの仮想化環境も動作の対象外だ。見方を変えれば、LinuxカーネルにあるがWindowsにない機能は利用できないともいえる。

 ただし、procファイルシステム(システムリソースに関する情報をファイルの形でリアルタイムに出力する一種のインターフェース)はサポートされるし、「/dev/null」や「/dev/random」などデバイスファイルもわずかながら存在する。

 CPUやメモリは、Windowsの状態そのままで認識される。Intel Core i7-3537U(4コア@2.0GHz)と物理メモリ4GBを積むマシンでテストしたが、/proc/cpuinfo/proc/meminfoはWindowsコントロールパネルに表示される情報と同じだった。

procファイルシステムを(一部)サポート、数は少ないがデバイスファイルにもアクセスできる

 「/」以下のディレクトリ構造はFilesystem Hierarchy Standard(FHS)に準拠しており、各種コマンドは/bin/usr/binといったお決まりのディレクトリに置かれている。マウントポイントは「/mnt」と「/media」のふたつがあり、Windowsの論理ボリューム(Cドライブ)は「/mnt/c」として自由にアクセスできる。ただし、リムーバブルメディアは自動検出されず、/dev以下にデバイスファイルが見つからないことからしても、現在のところ外部ドライブはサポートされていないようだ。

Windowsの論理ボリューム(Cドライブ)は/mnt/cとしてマウントされている

 実行中のプロセスをpsコマンドで確認すると、init(Linuxの起動後最初に実行されるプロセス)とbashしか存在しないことがわかる。「service --status-all」を実行しても、ファイルサーバなどのサービス/デーモンはまったく稼働していない。ベータ版という事情もあるのか、必要最低限の機能で動作していると考えていいだろう。

topコマンドの動作中にタスクマネージャーを確認したところ、Windows側にもプロセスとして認識されていた

前へ 1 2 3 次へ

カテゴリートップへ

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン