2001年3月24日、Mac OS X 10.0が正式に発売された。1984年にMacintoshが発売されたときに搭載されたSystem 1.0から、脈々とバージョンを重ねて最新版としてはMac OS 9.1まで進化したMac OS(Classic Mac OSと呼ぶ)からは大きな転換となる。Mac OS XはClassic Mac OSとはまったく違うところをベースにして開発された新しいOSである。2000年9月にMac OS X Public Betaとして、公開ベータ版が出荷され、一般ユーザからのフィードバックを集め、ある意味での完成版が、3/24に発売された「Mac OS X 10.0」である。日本語版を含む各国語版が1つのCD-ROMに組み込まれた完全に国際化されたOSである。 Classic Mac OSは、非常に限られたメモリしかもち得なかった初期のMacintoshの環境に、ある意味では最適化されていた。しかしながら、メモリの大容量化、ハードディスクの登場、カラー機能やマルチメディアといったさまざまな環境の変化に、それなりには追随していたが、ソフトウエアを安定して稼動させるという点においては、やはりその土台が単一のアプリケーションを動かすという初期のMac OSの基盤をそのまま引きずっていたと言える。複数のアプリケーションを切り替えて使うのが当たり前の現在においては、これ以上の安定性の確保やあるいは発展性という点では頭打ちとも言える状況であった。もちろん、Appleはそうした状態を今までなおざりにしていたわけではない。古くはCoplandなどOSの基盤をより強固にするという試みは行われたが、伝えられるところによればそうした試みはとん挫している。そして、1996年末紆余曲折の上、NeXT Computerを買収して吸収する形で、そのときのNeXT社のOSであるOPENSTEPをベースに次世台OSを作り上げるという基本方針を打ち立てた。その後、新しいOSはRhapsodyというコード名でデベロッパーに配付されるものの、Classic Mac OSとの互換性が低く、既存のアプリケーションはまったく0から書き直さないといけないという状況がデベロッパーの不評を買った。そこで、1998年にCarbonという枠組みをAppleは提示し、従来のアプリケーションを最小限の労力で新しいOSに十分に対応したと言える状況に持ち込むことを約束したのである。そうして、2000年9月にPublic Beta、2001年3月に正式発売へと漕ぎ着けたのが「Mac OS X 10.0」ということだ。Public Beta以降、デベロッパーの対応も活発化したが、正式発売でさらにそれは加速することは間違いはない。なお、2001年夏(間違いなく7月)におそらくは改定されるであろうMacintoshのハードウエア製品から、Mac OS Xが標準でバンドルされるようになる。Mac OS XはMac OS 9.1を、その中で動かすことができる。また、Mac OS 9.1だけを起動するということも可能である。ユーザのニーズに応じて、Classic OSについてもさままな利用ができるようになっている。
□Mac OS XがMac OSと違うところ Mac OS Xは今までのMac OSとどこが違うのだろうか。いちばん大きな違いは、OSの土台部分である。OPENSTEPは古くから、Machというカーネル(ソフトウエアを動かす基盤になる部分)を持ち、オペレーティングシステムとしての機能を実現するBSDを組み込んでいた。それを引き継ぎ、より新しいバージョンにするなどして、Mac OS XのベースになるOSを作り上げている。その部分はDarwinと呼ばれ、ソースコードが公開されている。この部分は「コアOS」とも言われる。いずれにしても、Mach、BSDにより、UNIXとして知られているOSと同様な基盤を持つことになる。UNIXはさまざまな方向に進化を遂げ、よく名前が知られているところではLinux、FreeBSD、SolarisなどのOSがある。いずれも、効率的なメモリ利用や複数のソフトウエアを並行的に実行処理、同時実行しているソフトウエアの分離等の機能を擁しており、安定した稼動を実現すると言うのが大きな特徴となっている。Mac OS Xによって、そうした特徴がMacintoshでも利用できるのである。 Mac OSでは、複数のアプリケーションが稼動できたが、協調的なマルチタスクと言い、それぞれのアプリケーションが適当に他のアプリケーションなどにも実行の機会を与えるという方式であった。そのため、アプリケーションが不安定になるとシステム全体が利用できなくなることもあったし、実行の機会を与える処理が後回しになると、事実上は複数のアプリケーションが稼動しているとは言えない状況にもなり得たのである。さらにソフトウエアは、一般にはメモリに展開して稼動するが、ソフトウエアごとに利用するメモリ空間は分離されていなかった。そのため、あるソフトウエアの不具合により別のソフトウエアにまで影響が波及する。また、やはり単一アプリケーションしか稼動しなかった時代の名残りとも言えるのが、アプリケーションが利用するメモリをあらかじめ指定するという必要がある点だ。一般にはそこで確保したメモリ以上のデータ領域を取れないためにメモリ不足ということが発生する。一方、その領域はアプリケーションが独占的に使うため、余分に確保すると使わない領域が増え、同時に利用できるアプリケーションも限定されてくるなど、メモリ利用効率は決して高いとは言えない状態であった。 一方、Mac OS Xは、複数のソフトウエアの稼動を、OSによってスケジューリングして稼動する。こうした方式を「プリエンティティブマルチタスク」と呼んでいる。そのため、1つのソフトウエアの都合で他のソフトウエアが稼動する機会が失われるということは論理的にはなくなる。従って、複数のソフトウエアをよりスムーズに動かすということが期待できるのである。また、「メモリ保護」としてソフトウエアが使うメモリを、OSのレベルで完全に分離し、相互干渉が起きないようにもなっている。あるソフトウエアが完全にフリーズしても、そのままシステムは使い続けることができるほどの堅牢さを持つということだ。また、メモリ管理も洗練された。Mac OSでは、システムが利用できるメモリを指定し、さらにアプリケーションでのメモリを指定するということになっていたが、そうした考え方はMac OS Xでは存在しない。もちろん、物理メモリを数多く積む程処理に対しては有利になるのは変わらないが、システムあるいはアプリケーションの上限ということに対してはほとんど自動的に効率的に処理され、利用者が過度に気にする必要はなくなったと言えるだろう。 また、UNIXというOSは、ネットワーク機能はインターネットと相性が良い。相性が良いというよりも、UNIXのネットワーク機能がインターネットになったわけだ。Mac OSもWindowsも独自のネットワーク機能を持っていたが、今ではTCP/IPを中心とした機能が主流である。Mac OSでもOpen Transportとして強固なネットワーク機能は構築してきたが、Mac OS XではコアOS自体にインターネットの機能が組み込まれている。 (続く) |