64bit化でiPhoneはこう変わる(?)
ハードウェアとしての64bit環境は、肝心の本体を入手しなければ検証しようがないが、アプリ実行環境は経験則である程度推測できる。システムおよびアプリの64bit化がどのような変化をiPhoneにもたらすか、ざっくりまとめてみよう。
まずは互換性の問題だが、これは心配無用だろう。OS Xのバイナリフォーマット「Mach-O」(マーク・オー)は、単一ファイルに異なるアーキテクチャの命令を収録でき、実行環境に応じて使い分けられる(ユニバーサルバイナリ)。LeopardやSnow Leopardのときは、PowerPCからIntelアーキテクチャへの移行期と重なったため、PowerPCのサポートを継続しつつ64bit化を推進する(計4アーキテクチャ)という離れ業をやってのけたが、ユニバーサルバイナリなのでユーザーの目には単一のファイル/アプリにしか映らなかった。Apple A7は32bitバイナリーをそのまま実行できるため、大半のアプリはユニバーサルバイナリの体裁をとる必要はなさそうだが、パフォーマンスを落とさず互換性を維持できる心強い機構がiOSにはあるのだ。
システムメンテナンスも、おそらく従来どおりだ。OS Xが32bit環境から64bit環境へ移行するときには、ドライバ類(KEXT)とシステムフレームワーク(ライブラリ)をユニバーサルバイナリ化することから始まった。カーネルもユニバーサルバイナリ化されていたが、システムの安定性を重視するAppleは、ドライバ類の64bit対応が落ち着くまで32bitモードをデフォルトとしていた。しかし、iOSではすべての開発リソースをAppleが抑えているわけだから、そのような移行期間は必要ないうえ、端末ごとに専用のインストールイメージを用意することも可能だ。おそらくiPhone 5sでは、最初から64bitモードのカーネルが動作するのだろう。32bitアプリの実行に備えフレームワークはユニバーサルバイナリだろうが、ドライバや標準装備のアプリは64bitバイナリのみと考えられる。
App Storeで配布されるアプリだが、パフォーマンスを重視するアプリはApp Store内部に32bit版と64bit版を用意しておく方法も考えられる。しかし、アプリ容量におけるバイナリファイルの占める割合の低さ(大半は画像などのリソースファイルだ)からすると、そのようなアプリはユニバーサルバイナリで対処するはず。実際のところ、Appleがどのような形式を採用するかはわからないが、ユーザが32bitアプリか64bitアプリかを意識する場面は少ないのではないだろうか。
この連載の記事
-
第187回
iPhone
NFCの世界を一変させる!? iOS 11「Core NFC」の提供開始が意味するもの -
第186回
iPhone
Appleと「4K HDR」 - iOS 11で写真/動画を変える「HEIF」と「HEVC」 -
第185回
iPhone
iPhone 7搭載の「A10 Fusion」「W1」は何を変えるか -
第184回
iPhone
オープンソース化された「PowerShell」をMacで使う -
第183回
iPhone
アップル製デバイス連携の鍵、「Continuity」とは? -
第182回
iPhone
DCI-P3準拠へと歩むiPhone/iPad - WWDC基調講演で秘められた新技術は、ここにある(2) -
第181回
iPhone
WWDC基調講演で秘められた新技術は、ここにある(1) -
第180回
iPhone
WWDC直前、買い替え前にマイMacのココをチェック -
第179回
iPhone
私がiTunesを使わなくなった5つの理由 -
第178回
iPhone
今あえてiPhone「Live Photos」を知る -
第177回
iPhone
「Windows Subsystem for Linux」はOS Xのライバルとなるか? - この連載の一覧へ