OS

「Windows 11」とArm版Windows--開発者のコード移行を支援するMS

マイクロソフトは「Windows 11」で、より多くの開発者にアプリを更新してもらい、Armでネイティブに実行できるようにすることに力を入れている。Armへの移植が容易になり、エミュレーションも引き続き利用可能だ。

Surface Pro X上で実行中のWindows 11とOutlookのARM64ECバージョン。
Surface Pro X上で実行中のWindows 11とOutlookのARM64ECバージョン。

 Arm版「Windows」搭載デバイスは一般的に、タブレットとして簡単に使用できる薄型軽量のPCだが(「Windows 11」の新しいタッチ機能のデモはArmベースの「Surface Pro X 2」で実施された)、Arm版Windowsはどういうものかというと、「Snapdragon Arm」プロセッサーで実行されるだけの「普通のWindows」だ。バッテリー持続時間が延びるほか、通常Windowsにできることはすべて実行可能で、たとえば幅広い種類のソフトウェアを実行できる(また、「Autopilot」や「Group Policy」での展開、「Microsoft Endpoint Manager」や「Configuration Manager」による管理、「Windows Update for Business」や「Windows Software Update Services」での更新も可能)。

 Microsoftは2020年、Arm版Windowsを「App Assure」プログラムに追加し、「Insider」ビルドで64ビットエミュレーションを有効にすることで、Arm版Windowsの互換性の重要性を示した。しかし、Windows 11で力を入れているのは、より多くの開発者にアプリを更新してもらい、Armでネイティブに実行できるようにすることだ。特に、サードパーティーのプラグインとアドオンが重要なアプリケーションに重点が置かれている。

より活発な「CHPE」

 開発者がWindowsアプリをArmにネイティブ対応させるには、さまざまなツールが必要だ。「Visual Studio」、コンパイラー、フレームワーク(より利用しやすくなっている)でのサポートから、ネイティブでのテスト用の安価な開発者ハードウェア(2021年夏に「Snapdragon Developer Kit」が提供される予定)、大規模テスト用のクラウドVM(これにはArm版「Windows Server」が必要になる見込みで、複数のオープンソースプロジェクトが今もその登場を待っている)まで、多数のツールを使用する必要がある。

 だが、アプリケーション全体を1度に再コンパイルできるとは限らない。コアアプリ以外のことも考慮しなければならない場合もある。「Microsoft Office」や「Photoshop」などのアプリケーションには、顧客にとってメインプログラムと同じくらい重要なサードパーティー製プラグインがあり、サードパーティーの開発者がプラグインをArmに移植しないことも考えられる。

 Arm版Windows 10では、CHPE(コンパイル済みハイブリッドポータブル実行可能ファイル)と呼ばれるシステムを使用する。この特別にコンパイルされたARM64コードは、32ビットと64ビットのデータ型や、IntelとArmの規約の間を頻繁に行き来することなく、x86コードで呼び出せる。そのため、良好なパフォーマンスが得られ、Armに移植されていないプラグインと移植済みのアプリケーションを連携させられるが、CHPEの構築は複雑で、Officeはこの技術を使用していたものの、サードパーティー開発者には提供されていなかった。また、CHPEは、Arm版Windowsが当初サポートしていた32ビットエミュレーション用に設計されていた。

 Windows 11では、CHPEに代わって「ARM64 Emulation Compatible」(ARM64EC)が採用される。このARM64のスーパーセットにより、開発者はこれまでと同じようにArmコードとIntelコードを組み合わせられるため(今回は32ビットだけでなく64ビットのコードにも対応)、コードを1つずつ移植していける。必要なライブラリーやフレームワーク、その他の依存関係をARM64でまだ利用できない場合、すべてのコードをエミュレーションで実行し続ける必要はない。ネイティブ実行によるパフォーマンス向上がすべてのコードに必要なわけではなく、高速化が必要なコードについては移植の作業を実施し、CPUに負荷をかけないコード(ユーザーインターフェースなど)については、移植が必要になるまでエミュレーションで実行し続けられる。

 だが、重要な変更点は、プラグインがARM64に移植されているかどうかに関係なくARM64ECコードで機能するという点と、以前のようにOfficeに限定されていない点だ。AdobeやCorel、Autodeskなど、ユーザーが自社プログラムのサードパーティー製プラグインを利用しているソフトウェアメーカーは、それらの追加機能を失うことなく、自社のアプリをArm版Windowsに移植できるようになった(また、柔軟性が向上した新しい「Microsoft Store」で公開できる)。当初はVisual Studioのプレビュー版が必要で、「Visual C++」を使用しなければならないが、Microsoftが詳細を文書化すれば、他のコンパイラーもARM64ECをサポートできるようになるだろう。

 ARM64ECコードを使用するアプリは、Windowsで何か特別なものを参照するわけではなく、通常のプログラムファイルとレジストリーを使用する。Arm版WindowsチームのPedro Justo氏はLinkedInに、「ARM64EC用にコンパイルされたコードはネイティブ速度で実行され、効率性はほぼ同じ」と記しており、開発者はArmに移植するメリットを失うのではなく、既存のx86コードやx64コードと相互運用できる利便性を得られるという。

「OS」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
PC・モバイル
新興技術
ITインフラ
クラウドサービス
OS・ミドルウェア
OS
ミドルウェア
アプリケーションサーバー
開発
データベース
運用
セキュリティ

ホワイトペーパーランキング

  1. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  2. ノートPCは従来ながらの選び方ではダメ!新しい働き方にも対応する失敗しない選び方を徹底解説
  3. 問題だらけの現場指導を効率化!「人によって教え方が違う」を解消するためのマニュアル整備
  4. 緊急事態宣言解除後の利用率は低下 調査結果に見る「テレワーク」定着を阻む課題とその対応策
  5. たしか、あのデータは、こっちのアプリにあったはず…--業務改善のためのアプリ導入がストレスの原因に?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]