Snow Leopardの技術解説
Snow Leopardについて、Ars Technicaに情報が出ていた。相変わらず凄い情報量なので、ざっと全体を眺めてみる。ユーザーインターフェースの変更箇所については国内のニュース系サイトにも載るけれど、技術的にコアな情報を入手するためにはやっぱり海外のサイトをチェックするしかない。
- Page.1 Mac OS X 10.6 Snow Leopard; the Ars Technica review
- Snow Leopardの概要、MacOS Xの歴史など。
Version 10.1 had a similar no-frills focus but took a heck of a lot less time to arrive.
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
なんて軽く書かれているけど、最近のMacユーザは、そもそも10.1がリリースされた当時のことを知らない人が多いのではないだろうか。新宿高島屋のパブリックベータは遠くになりけり。
- Page.2 The price of entry
- $29という価格設定について。
- Page.3 Installation
- インストールについて。Snow Leopardでは、ハードディスクの容量が少なくて済む。その理由の一つはもちろんPowerPC用コードの削除だけど、他にもファイル圧縮処理が行われていると言う。ここは面白そうなので、また別途取り上げてみたい。
In Snow Leopard, other kinds of files climb on board the compression bandwagon. To give just one example, ninety-seven percent of the executable files in Snow Leopard are compressed.
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
- Page.4 Snow Leopard's new looks
- GUIデザインの変更について。デスクトップピクチャ、ドックのメニュー、歴代のCD/DVDのレーベルなど。
- Page.5 Warning
- internals ahead:64bit対応について。Tiger, Leopard, Snow Leopardの各バージョンで、カーネル、ドライバ、フレームワークのどこまでが64bit化されて来たのか一目で分かる。
Despite Leopard's seemingly impressive 64-bit bona fides, there are a few more steps before Mac OS X can reach complete 64-bit nirvana. The diagrams below illustrate.
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
QuickTime X also supports GPU-accelerated playback of H.264, but, in this initial release, only on Macs equipped with an NVIDIA 9400M GPU (i.e., some 2009 iMacs and several models of MacBooks from 2008 and 2009).
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
In Snow Leopard, Apple has created a new, unified, comprehensive set of file system APIs built around a single data type: URL
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
GCC 4.2 is still the default compiler in Snow Leopard, but this is a transitional phase. Clang is the recommended compiler, and the focus of all of Apple's future efforts.
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
- Page.10 Blocks
- 新しく導入されたBlocksについて。C言語の拡張という位置付けなので、Objective-C/C++でもclosures、anonymous functionsが使える。
Apple has introduced a C language extension called "blocks." Blocks add closures and anonymous functions to C and the C-derived languages C++, Objective-C, and Objective C++.
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
- Page.11 Concurrency in the real world; a prelude
- Concurrency(並行処理)について。BeOSという懐かしい名前も出てくる。(未だにBeOSの亡霊から逃れられないのか)
BeOS created instant converts out of hundreds of technology enthusiasts, many of whom maintain that today's desktop computing experience still doesn't match the responsiveness of BeOS. This is certainly true emotionally, if not necessarily literally.
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
- Page.12 Grand Central Dispatch
- Grand Central Dispatch (GCD) の仕組み、原理について。C言語由来の機能という位置付けなので、結果的にObjective-C/C++、C++でも同じように使える。
There's no need to link in a new library to use GCD in your program. Just #include
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technicaand you're off to the races. The fact that GCD is a C library means that it can be used from all of the C-derived languages supported on Mac OS X: Objective-C, C++, and Objective-C++.
- Page.13 Asynchronicity
- Asynchronicity(同期性)について。ボタンアクションに結びつけられた「ドキュメント解析処理」において、2行追加するだけでGCD対応になる例が説明されている。メインスレッドで処理しなければならないGUIと、別スレッドで処理したい他の処理(ドキュメント解析等)との連携は、一般に面倒なものだけど、その辺の橋渡しを簡単にやってくれるのがGCDのメリット。だから、こんな結論になる。
Simple, elegant, and effective. And for developers, no more excuses.
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
OpenCL is a lot like CUDA. It uses a C-like language with the vector extensions, it has a similar model of memory hierarchy, and so on.
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
- Page.15 The OpenCL difference
- OpenCLの続き。OpenCLの位置付けは、複数CoreのCPUやGPUをまとめて扱うためのもの。CPUで実行されるかGPUで実行されるか、動作環境に応じて適切にリソースが配分される。また、SSEやCUDAとの関係も説明されている。
Apple's key decision in the design of OpenCL was to allow OpenCL programs to run not just on GPUs, but on CPUs as well. An OpenCL program can query the hardware it's running on and enumerate all eligible OpenCL devices, categorized as CPUs, GPUs, or dedicated OpenCL accelerators (the IBM Cell Blade server―yes, that Cell―is apparently one such device).
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica
- Page.16 QuickTime Player
- QuickTime Playerについて。インストーラのオプションで選択できるのは"QuickTime Player 7"であり、"QuickTime 7"自体は必ずインストールされる。
- Page.17 The Dock
- Dockについて。(主にGUI面での機能、ユーザーインターフェース等)
- Page.18 The Finder
- Finderについて。コラムビューでも並び替え順序の変更が可能になった。
- Page.20 Performance
- パフォーマンスについて。
- Page.21 Grab bag
- その他の情報。「開く/保存」ダイアログのでの表示項目追加、スキャナサポートの改善、32bitプラグインを開けないシステム環境設定、Safariプラグイン、解像度非依存表示(悪くなった)、Terminalの画面分割、システム環境設定でのアイコン配置(また変わった)、Core location(iPhoneから持ってきた)、キーボードマジック(テキストの置換)
- Page.23 The future soon
- MacOS Xの将来について。いわゆるインテルの"tick-tock"型リリースと同様に、大きな機能変更が入る10.7と、それを洗練させる10.8(今回のSnow Leopardのような形)が続くのではないかと予想している。
As for the future, it's tempting to view Snow Leopard as the "tick" in a new Intel-style "tick-tock" release strategy for Mac OS X: radical new features in version 10.7 followed by more Snow-Leopard-style refinements in 10.8, and so on, alternating between "feature" and "refinement" releases. Apple has not even hinted that they're considering this type of plan, but I think there's a lot to recommend it.
Mac OS X 10.6 Snow Leopard: the Ars Technica review | Ars Technica