|
|
Microsoft Windows Services for UNIX(以下SFU)は、Windows環境とUNIX環境の相互運用を支援するソフトウェアである。Windowsシステムに追加インストールすることで、UNIXシェルや各種UNIXコマンドの利用、NFS(Network File System)ファイル共有サービス、UNIXアプリケーションの互換環境をサブシステム・レベルで提供するInterixサブシステムが利用可能になる。マイクロソフトは、このSFUの最新版である3.5を2004年1月20日に発表した(マイクロソフトのニュース・リリース)。
SFUはこれまで、有償製品として販売されてきた(前バージョンであるSFU 3.0の推定小売価格は1万9800円)。しかし最新のSFU 3.5は、誰でも自由にダウンロードして使える無償ソフトウェアとされた。この大きな方針転換の背景には、UNIXやLinuxといった非Windows OSを含む異種OS混在ネットワーク環境の存在自体は認めたうえで、将来のダウンサイジングの流れをLinuxではなくWindowsに振り向けようとする狙いがあるようだ。本稿では、SFU 3.5をめぐるマイクロソフトのマーケティング戦略について見ていくことにしよう。
SFU 3.5はマイクロソフトの以下のページからダウンロードできる。
SFU 3.5の概要については、以下の記事で紹介しているので併せて参照されたい。
また先ごろマイクロソフトは、SFU 3.5のホワイトペーパー(日本語版)を公開した。
- Windows Services for UNIX 3.5入門
- Windows Services for UNIX 3.5 新機能ガイド
- Windows Services for UNIX 3.5ホワイトペーパー
SFUの用途
本Windows Server Insiderフォーラムでは、旧版であるSFU 2.0とSFU 3.0に関する記事を公開している。SFUの過去の経緯などについてはこちらを参照されたい。
販売実数は明らかにしていないが、マイクロソフトの担当者によれば、特に日本において、SFUは「隠れたヒット商品」とのことであった。大学などの教育機関、製造業、金融業など、UNIXベースのネットワークがあるが、クライアント・コンピュータにはWindowsを使っているという学校や企業での利用が多かったという。具体的には次のような場面だ。
■Windows向けの安価なNFSクライアント
UNIXサーバ側で提供されるNFSを、Windowsクライアントから利用するための安価なNFSクライアントとして活用するケースである。これによりユーザーは、OfficeなどのリッチなWindowsビジネス・アプリケーションを使いながら、同時にUNIXファイル・サーバを利用できる。
すでに述べたとおり、今回のSFU 3.5が無償化されたことで、例えばNFSサーバが利用できるネットワークにいるなら、すべてのWindowsクライアントにSFU 3.5をインストールして、無償でそれらをNFSクライアントとして機能させることが可能になった。
■使い慣れたUNIXシェル、コマンド
SFUにより、UNIXシェル(Korn shell、B shell、C shell)と350種類を超えるUNIXコマンド(gcc、grep、ftp、prなど)が利用可能になる。UNIX環境に慣れ親しんだ管理者なら、これらのシェルやコマンドは手放せないツールになっているはずだ。Windows向けのUNIX互換ツールなどはいくつか提供されているが、利用可能オプションやコマンド・シンタックスなどの互換性は必ずしも高くなく、思ったように使えないという問題があった。
こうしたUNIX管理者にとっても、Windows上のビジネス・アプリケーション群は魅力的である。しかしWindowsクライアントに移行してしまうと、手になじんだツールを手放さなければならない。SFUは、こうした管理者の悩みに応えてくれる。SFUが提供するシェルやコマンドの互換性は非常に高く、UNIX管理者がWindowsクライアントに移行する際のハードルを低くする。
■UNIXアプリケーションの移行を促すInterix
SFU 3.0より、UNIX互換環境をサブシステム・レベルで提供するInterixがサポートされるようになった。Interixは、UNIXアプリケーション/スクリプトを実行可能にするWindows
NTサブシステムで、従来のようなWin32サブシステム内でのエミュレーションではなく、独立したOSのサブシステムとしてこれらを実行する。アプリケーションから見れば、よりリアルなUNIXに近い環境が提供されることになり、移植が容易になる。特に今回のSFU
3.5では、pthread対応が追加され、マルチスレッド対応のUNIXアプリケーションの移植が容易になった(詳細は後述)。SFUが対象とするようなUNIXのアプリケーションは、複雑なGUIを利用しているものは少なく、POSIXレベルのライブラリが用意されていればわずかな修正でそのままコンパイルして利用できるものが多い。そのようなアプリケーションの移行を促すのがこのSFUの目的である。
高価なUNIXワークステーションから、コストパフォーマンスの高いIAサーバに移行するダウンサイジングが進んでいるが、UNIXアプリケーションをWindows環境(Win32 API)に移植するのは容易ではない。だがInterixを利用すれば、より少ない工数でUNIXアプリケーションをWindows環境に移植し、エミュレーションではなくネイティブ環境でそれを実行できるようになる。
SFU 3.5対応のXサーバ
SFU 3.5の標準機能ではないし、無償ソフトウェアでもないが、SFU 3.5に対応したXサーバ(Desktop-X)がIBSジャパンから発売されている。SFUは標準ではXサーバ機能を持っていないが、これによりX Window SystemをInterix上で構築できる。メインフレームなどのフロントエンドとして、UNIX系システム(+Xサーバ)を利用しているような場合には、SFU上でもそのまま利用することができるだろう。このXサーバは推定価格は1万9800円と安価でありながらも、OpenGLもサポートされている。評価版も用意されているので、気になるユーザーはダウンロードして試用してみるとよいだろう。
SFU 3.5で何が変わるのか
3.0から3.5ということを見ても分かるとおり、今回のバージョンアップは、あくまでもマイナーバージョンアップである。前バージョンのSFU 3.0からの新機能追加はそう多くなく、パフォーマンスの改善など、ブラッシュアップが中心である。ここでは簡単に、SFU 3.5の新機能、機能強化点を概観してみよう。
■pthread対応
数少ない新機能の1つ。これは主にUNIXアプリケーションをInterix環境に移植するプログラマ向けの新機能である。
従来のSFU 3.0のInterixでは、UNIXアプリケーションからマルチスレッドを利用するためのpthreadライブラリがサポートされていなかった。このためSFU 3.0でマルチスレッド対応のUNIXアプリケーションを移植するには、GNU Pth(GNU Portable Threads)のようなユーザーレベルのスレッドライブラリを使う必要があった。これでソース・コードはコンパイルできるようになるが、あくまでOSから見れば、マルチスレッド対応アプリケーションとしては扱われない。つまり、OSレベルではシングルスレッド・アプリケーションとして実行されるため、本当の意味でのマルチスレッドのメリットを享受できなかった。
特に多数のトランザクションを効率的に処理する必要があるサーバ・アプリケーションでは、マルチスレッドが利用できないのは深刻な問題だった。どうしてもマルチスレッドが使いたければ、プログラムをWin32に移植するしか道がなかった。
これに対しSFU 3.5ではpthread対応が追加されたため、マルチスレッドを利用するUNIXサーバ・アプリケーションをInterixサブシステム内で実行可能になった。
■パフォーマンス・チューニング
SFU 3.5では、NFSクライアントやInterixサブシステムの実行性能が大幅に改善された。
NFSクライアントでは、クライアント側のディレクトリ・キャッシュを利用することで、従来版から30%以上も実行性能が向上したとしている。NFSクライアントとしてSFUを利用しているユーザーは、より快適な共有ファイル・アクセスが可能になるだろう。
またInterixサブシステムは、fork/execによるプロセスの生成・実行で30%、pipeによるデータ送受信で30%、ファイルI/Oで50%、fstatの遅延は150%もパフォーマンスが改善されたとしている。前述したp-threadのマルチスレッド対応も含め、Interix上のアプリケーションの実行環境は大幅に改善されている。
■パスワード同期
UNIXとWindowsの混合環境を管理する管理者は、ユーザー認証に利用するパワードを両環境で共通化させたいと考えるだろう。従来からSFUには、パスワード同期の機能が提供されていたが、いかんせん対応しているUNIX環境のバージョンが古く、実用性は十分ではなかった。SFU 3.5では、さらに新しいバージョンへの対応が追加された。SFU 3.5がパスワード同期機能でサポートするUNIX/Linux環境は以下のとおり。
HP-UX 11i
Sun Solaris 7/Solaris 8
IBM AIX 5L 5.2
Red Hat Linux 8.0以上
■付属ユーティリティのバージョンアップ
SFU 3.5では、各種付属ユーティリティのバージョンがアップされた。例えばC++言語コンパイラのgccは、2.7.2(SFU 3.0)から3.3にバージョンアップされた。またX11R6にも対応したので(SFU 3.0ではX11R5対応)、現在一般的に広く利用されている環境に対応している。
ダウンサイジングの流れをWindowsへ
マイクロソフトは、なぜ隠れたヒット商品であるSFUを無償化したのか。
現在、高価なUNIXワークステーションから、安価なIAサーバに移行する、いわゆるダウンサイジングの流れが加速している。この場合ユーザーは、Windowsか、LinuxのいずれかをOSとして選択することになる。一般論からいえば、よりUNIXに近いとされるLinuxに移行するのが自然に思える。オープンソースであるLinuxは、基本的に無償か、非常に安価に入手できるため、ソフトウェアにかかるコストの面ではWindowsよりも圧倒的に有利である。
しかし企業の情報システムのコストを考えるうえでは、単にハードウェアとソフトウェアの価格だけでなく、日々の運用管理や、ヘルプデスクなどのサポート・コストをトータルで考える必要がある。いわゆるTCO(Total Cost of Ownership)である。TCOの観点に立てば、LinuxよりもむしろWindowsの方が有利な場面がある。このことを主張するマイクロソフトのキャンペーンが「Get The Factキャンペーン」だ。このキャンペーンでマイクロソフトは、第三者機関による評価検証の結果を元に、TCOの観点から見たWindowsの優位性を強く主張している(マイクロソフトのGet The Factキャンペーンのページ)。このキャンペーンに関しては、Linuxを推進する開発者やユーザーを中心にさまざまな議論があるが、目先のハードウェア/ソフトウェア購入のコストだけでなく、運用や管理、将来のスケールアップなども視野に入れてシステムを評価することは必要である。
SFU 3.5は無償化されたが、マイクロソフトの担当者によれば、有償製品とまったく変らず、契約すれば有償サポートを受けられるという。またセキュリティ・ホールが発見されれば、ホットフィックスも提供される。自社で運用管理の全責任を負える場合は別として、運用管理面で外部のサポートを期待する多くの企業ユーザーは安心できるだろう。
たとえコンピュータ・システムはUNIXワークステーションからIAサーバにダウンサイジングしたとしても、一部にはUNIXワークステーションが残されているかもしれない。また、これまでUNIX環境に慣れ親しんできたスキルやノウハウはそうそう捨てられるものではない。Windows環境に移行したとしても、残されたUNIX環境とWindowsの間でより快適な相互運用を可能にすること、またUNIXで培ったユーザーのスキルやノウハウをWindows環境でもできるだけ使えるようにすること、SFU 3.5の狙いはそこにある。
少なくとも、これらWindowsへの移行を阻害する障害をできるだけ小さくして、ダウンサイジングの流れをLinuxではなく、Windowsに振り向けたい。このためには、SFUの売上を捨てても構わない。唯一ではないだろうが、これが無償化を決断した大きな理由の1つであることは間違いなさそうだ。
![]() |
「Insider's Eye」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
![]() |
|
|
|
![]() |