2画面折りたたみタブレットに対応した「Windows 10X」とはWindows 10 The Latest(2/2 ページ)

» 2020年02月28日 05時00分 公開
[塩田紳二]
前のページへ 1|2       

アプリケーションは原則1画面を専有

 アプリケーションは、原則、1画面を専有して起動する。他のアプリと1画面を2分割して同時に表示させたり、2画面にまたがって表示させたりすることは可能だ。

 ただ、Microsoftストアアプリの場合、ウィンドウ表示は行われず、1/2画面、1画面、2画面といった単位でしか表示ができない。2画面で最大4アプリを同時に表示することは可能だ。

Microsoftストアアプリの画面表示 Microsoftストアアプリの画面表示
Microsoftストアアプリは、画面分割で最大4アプリの表示が可能になっていた。

 また、Win32アプリのウィンドウが動作している場合、Microsoftストアアプリは暗転表示される。しかし、暗い部分をクリックすることでMicrosoftストアアプリがアクティブになる。これは、ウィンドウを際立たせて背後にあるMicrosoftストアアプリの画面と混同しないようにという配慮のように思える。

Win32アプリを起動した際の挙動 Win32アプリを起動した際の挙動
Win32アプリ(「メモ帳」アプリ)を起動し、ウィンドウ表示するとMicrosoftストアアプリは暗転し、ウィンドウ境界をはっきりさせる。暗い部分をタッチすることで該当のMicrosoftストアアプリがアクティブになる。

 Microsoftによれば、Win32アプリの実行に関しては、現在のWindows 10よりも多くのリソースの割り当てが可能だという。こうしたことを考えると、Microsoftストアアプリはグレー表示のときには完全に停止されているのではないかと考えられる。

既に「メール」アプリがDual-screen対応済み

 現在のプレビュー版では、標準搭載の「メール」アプリが、Dual-screen対応しているようだ。「メール」アプリを2つの画面にまたがる「スパン」表示すると、左側にメッセージリスト、右側にメッセージ本文が表示されるようになる。Windows 10上では、メールのウィンドウが一定幅以上の場合にこの表示方法となり、分割位置を自由に動かせる。しかし、Dual-screen対応している「メール」アプリは、分割位置が「ギャップ」と一致するようになり、動かすことができない。

「メール」アプリの画面構成 「メール」アプリの画面構成
Windows10Xプレビュー版に付属するアプリのうちメールだけが、Dual-screenアプリっぽい動作をし、2画面で「スパン」表示すると左側にメッセージリスト、右側にメッセージ本文を表示するようになる。

Windows 10XのベースはWindows 10ビルド19563

 調べたところ、Windows 10Xのベースになっていたのは、ビルド19563だ。このビルド自体は、Windows Insider Programでは配布されておらず、ファストリングで直後のビルド19564が2020年2月12日(米国時間)に配布されている(ビルド19564については、Windows Blog「Announcing Windows 10 Insider Preview Build 19564」[英語]参照のこと)。

Windows 10Xは既存のWindows 10と何が違う?

 Windows 10Xは、Windows10をベースに、シェル(Explorer.exe)を「Composable Shell」または「CSHELL」と呼ばれる新しい柔軟性の高いものに置き換え、コンテナを導入したものだ。Windows OSで最も複雑なExplorer.exeを廃し、アプリケーションを全てコンテナ内で動作させることで、ベースとなるWindows 10(「Core Windows」と呼ばれる)と完全に分離した。これにより、高いセキュリティ、持続可能な性能、ユーザーの望むソフトウェアの動作、高速アップデートといった特徴を持つという。

Win32アプリケーションはコンテナ内で動作する

 まず、Win32アプリケーションを含め全てのアプリケーションが、コンテナ内で動作することで、ベースとなるCore Windowsと完全に分離され、アプリケーション側からCore Windows側への書き込みは一切不可能になる。これにより、高いセキュリティが保たれる。

 また、Win32アプリケーションを動作させるWin32コンテナは、レジストリアクセスを仮想化し、テンポラリファイルなどのアプリケーションのプライベートファイルも分離する。このため、Core Windows側のレジストリが、アプリケーションの追加項目などで肥大することもなく、パフォーマンスの低下を招かない。これが持続可能な性能の意味である。

 Win32アプリケーションをコンテナ内で動作させるため、Windows 10S(Sモード)のようにアプリをMicrosoftストアアプリに限定する必要もなくなった。ユーザーはアプリケーションをインターネットからダウンロードしてもいいし、外部記憶やLAN経由でインストールして、起動しても構わない。全てコンテナ内での実行になるため、Core Windowsへのアクセスはできず、多数のテンポラリファイルをシステムフォルダに残すこともない。

Windows 10Xの3つのコンテナ

 Windows10Xには、以下の3つのコンテナがある。

  • ネイティブコンテナ
  • MSIXコンテナ
  • Win32コンテナ
Windows 10Xのコンテナ Windows 10Xのコンテナ
Windows 10Xには、ネイティブ、MSIX、Win32の3つのコンテナがあり、全てのアプリがコンテナ内で動作する。そのため、ホストとなるWindows 10Xコア側と完全に分離され、アプリケーション側からのOSへのアクセスが困難なだけでなく、アプリケーションの実行中にコアWindows側を段階的にアップデートしていくことも可能になるという。

ネイティブコンテナとは

 ネイティブコンテナは、Microsoftストアアプリの実行環境である。Microsoftは、コンテナだと主張するが、おそらく従来のMicrosoftストアアプリの実行環境とほぼ同じものだと考えられる。もともとMicrosoftストアアプリは、OSや他のアプリとの干渉を起こさないように分離されていたからだ。ただし、ネイティブコンテナからは、ユーザーフォルダ以外は見ることもアクセスすることもできなくなった(プライベートファイルの作成やアクセスは可能)。

MSIXコンテナとは

 「MSIX」とは、Microsoft Storeで配布できるようにしたWin32アプリのパッケージ技術の名称である。MSIXコンテナとは、現在のMicrosoft Store版Win32アプリ(Desktop Bridgeアプリ)の実行環境であり、これも現在のWindows 10にあるMSIX実行環境と同じである。MSIX実行環境では、レジストリとファイルアクセスが仮想化され、別ファイルに保存される(この挙動が既にコンテナといえる)。

Win32コンテナとは

 最後のWin32コンテナは、Windows 10Xでは「Centinel Container」と呼ばれている。これは、Windows Subsystem for Linux 2(WSL 2)と同じ「軽量ユーティリティー仮想マシン」環境で作られたコンテナだ。その意味では一般に言うコンテナではなく、仮想マシン環境である。このようにMicrosoftは、仮想マシン環境をコンテナと呼ぶことが多い。

 なお、CentinelとはDesktop Bridgeの開発プロジェクト名「Project Centinel」と同じで、Classic Windows Applicationの「C」に関連する単語として選ばれた。Win32コンテナは、Desktop Bridge技術の延長上にある「仮想マシン」環境ということなのであろう。

 このWin32コンテナは、Windows 10と同じ環境を作り出す。また、MSIXコンテナと同様、ここで実行されるWin32アプリのレジストリとプライベートファイルアクセスは仮想化される(MSIXコンテナはWin32コンテナの中にある)。Win32コンテナの中では、ファイルシステムが現在のWindows 10と同じように見え、Windows標準添付のツール類にもアクセスが可能だ。このため、アプリ内から標準のWindowsツール(例えば、「メモ帳」アプリ)を呼び出すようなことも可能と思われる。これは、Win32コンテナ内だけで、ネイティブコンテナからは、[C:\Windows]フォルダや[C:\Windows\System32]フォルダを見ることができなくなっている。

 Win32コンテナが、起動されるWin32アプリ(exeファイル)を管理することで、アプリケーション管理に関わる一切がコンテナ内に閉じ込められる。イメージ的には、Windows 10の中でHyper-Vによる仮想マシンやWindows Sandboxを動かして、その中でアプリを実行しているのと同じだ。

Windows 10Xの機能アップデートにかかる時間は90秒未満

 最後の高速アップデートだが、Microsoftによれば「Windows 10Xの機能アップデートは90秒未満で行えるようにする」という。おそらく、実行中にバックグラウンドでCore Windows側の実行ファイル(exeやdll)を段階的に差し替えていき、最後に再起動してカーネルを切り替えるという手法になると考えられる。アプリケーションは、全てコンテナ内で動作しているため、Core Windows側はこれを必要なときに止めることができ、作業が終わったら再開できるようになるからだ。

MicrosoftのWindows 10Xの紹介ビデオ MicrosoftのWindows 10Xの紹介ビデオ
Microsoftのビデオによれば、アップデートは90秒未満で行うとしている。

 そもそも、Windows OSのアップデートに時間がかかっていたのは、機能アップデート時にWindows OSを再インストールし、ゼロからWindows OSを起動させて、ハードウェアを認識、ドライバの組み込みなどを行うからである。

 Microsoftは、Windows 10の登場以来、アップデートで内部を段階的に変更してきた。当初は、毎月の品質アップデートでも再起動が必要だった。初期のWindows 10では、席を離れて戻ってくると再起動していて作業がパー、という事態を多くのユーザーが経験したものだ。それが最近では、.NET Frameworkの差し替えなどの複雑なアップデートでなければ、品質アップデートで再起動が要求されることは少なくなっている。

 これは同社が、Windows 10を構成しているソフトウェアモジュールの差し替えを「オンライン」(Windows 10が起動している状態)でも可能にしつつあるからだ。2019年秋のアップデート(Windows 10 November 2019 Update、バージョン1909)では、機能アップデートでありながらも、複数の品質アップデートで段階的にWindows 10を更新、最後に機能を有効化するという方法を取った。

 今から考えると、これはWindows 10Xの高速アップデートと同じやり方で、その実験をしていたのではないか、とも思える。November 2019 Updateでも最後に再起動して眠らせていた機能を有効化したが、その再起動時間は、従来の機能アップデートに比べれば格段に短かった。Microsoftの言う「90秒以下」という数字の根拠は、Windows 10を止め、カーネルなどの最低限のファイルのみを書き換え、再起動する時間なのだろう。

Explorer.exeの置き換えも高速アップデートに貢献

 シェルを置き換えたことも、高速アップデートに関連しているともいえる。Exploer.exeは、デスクトップを構成し、さまざまな外部モジュール/サードパーティーモジュールでファイルのプロパティを表示したり、特殊なフォルダを構成したりするなどWindows 10付属のアプリケーションの中で最も複雑なプログラムだ。

 Windows 10ではWin32アプリが起動すれば、当然何らかのリソースを利用するため、Windows 10側はリソース関連の情報を保持する必要がある。例えば、ネットワークを使えば、利用しているポートや到着するパケットの振り分けなどのため、全てのセッションを管理していなければならない。

 また、ウィンドウを表示すれば、その位置やサイズを管理し、マウスやキーボード、各種のイベントなどをウィンドウに対して送る必要がある。このため、プログラムの実行中には、情報を保持しているせいで、終了して差し替えることができないファイルモジュールが存在してしまう。Explorer.exeは複雑なプログラムであり、これが動作していると、Windows 10の多くの部分が「使用中」になる。これを置き換えた意味は大きなものがあると思われる。

Win32アプリの画面表示はRDP経由

 Win32コンテナ内のアプリの画面は、ネイティブコンテナ内で動作するRDP(Remote Desktop Protocol)クライアントが表示を行う。Windows 10でもHyper-Vのデスクトップを表示するのにRDPを使っているのと同じだ。

従来のアプリを実行できるものの一部に非互換性あり

 Windows 10Xは、従来のほとんどのアプリケーション(MicrosoftストアアプリやWin32アプリ)を動作させることができる。ただし、コンテナ内の実行になるため、一部APIに制限ができる。例えば、Windows 10のイベントの伝達経路が挟まるため、イベントを処理する「フック」と呼ばれるような機能は利用できない。

Windows 10Xで再びタブレット市場に切り込めるのか?

 Windows 10Xの印象は、Windows 8の初期バージョン(Windows 8.0)と似ている。Windows 8.0もタブレットを想定して作られた。このため、現在のMicrosoftストアアプリのベースになったWindowsストアアプリ(モダンアプリ)は、全画面を専有するか分割してのみ表示された。[スタート]メニューも全画面を専有するものだった。

 しかし、Windows 8の評判はよくなかった。タッチ機能のないデスクトップやラップトップでは、そのメリットを感じられなかっただけでなく、全画面の[スタート]メニューの評判は最低だった。

 そのため、Windows 8は段階的にWindows 7のように従来型のデスクトップに戻っていった。モダンアプリにも[最小][最大][終了]の各ボタンが付きウィンドウ表示も可能になった。[スタート]メニューは、Windows 10のような形でタイルとリストを併用する構造になった。おそらくWindows 8の最大の問題は、タブレットでないハードウェアでもタブレットに最適化したユーザーインタフェースを使わせようとしたことだろう。

 Windows 10Xは、Dual-screenデバイス専用とすることで、Windows 10とは異なる製品とした。また、AndroidやiOSなどを使うカジュアルなユーザーを想定して、単純なユーザーインタフェースとしながらも、Windows 10としてのメリットを最大限に発揮できるようにWin32アプリケーションをほぼ完全な形でサポートした。ユーザーがWebブラウザで見つけたフリーソフトウェアをダウンロードしてインストール、実行しても、原理的にはOSが影響されることがない。開発者も、Microsoft Storeの審査などを待たずにすぐに自身のサイトでソフトウェアを公開できるのだ。

 タブレット市場において、MicrosoftはAndroidやiOSに大きく水をあけられている。Windows 10XとDual-screenデバイスの組み合わせによってその差を縮めることはできるのだろうか。また、Windows 10Xの技術が、本流のWindows 10に反映されていくことになるのか、今後の動向にも注目だ。

前のページへ 1|2       

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。