• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

今さら聞けない Windows版Linuxの疑問

Windowsで動くLinux、プログラムの互換性は大丈夫か

高橋 秀和=ITpro 2017/10/12 ITpro

 Windows 10でLinuxのプログラムが改変なしにそのまま動かせるLinux互換環境「Windows Subsystem for Linux(WSL)」。Linuxプログラムに対してWindowsカーネルをあたかもLinuxカーネルのように見せる仕組みだ。その互換性は、WSLがどこまでLinuxカーネルとして振る舞えるかにかかっている。

 WSLは、Linuxの実行ファイルをWindowsで直接実行する。WSLで動作するLinuxディストリビューションの「Ubuntu」や「openSUSE」を構成するプログラムは、オリジナルのそれと同じだ。

 しかし当然、Linuxの実行ファイルが呼び出すOSの機能、いわゆるシステムコールは、Windowsのそれとは異なる。そこでLinuxプログラムによるシステムコールの呼び出しを検知し、Linuxプログラムが要求する形式で処理結果を返す仕組みがWindows側に必要になる。

 このシステムコールの違いを吸収するのが、WSLの実体と言える「lxss.sys」だ。

Windows Subsystem for Linuxのシステムコール(公式ブログ記事を基に作成)
[画像のクリックで拡大表示]

 WSLを有効にしたWindows 10上でLinuxプログラムを実行すると、Windowsカーネルはそのプログラムが要求するシステムコールをlxss.sysドライバに渡す。lxss.sysは、Windowsカーネルが持つ同等のシステムコールを呼び出すか、自身が持つLinux互換のシステムコールで処理する。

ここから先はITpro会員(無料)の登録が必要です。

次ページ 実際にどの程度の互換性が保たれているのか。マイク...
  • 1
  • 2
  • 3

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る