41←  home  →43
42 2000年2月17日

UNIXだよ、おっとさん。(2)Mac OS XのUNIX度
 
 

以前この雑記で「MacOSをオープンソースにして」とか書きましたが、私が無知蒙昧なだけで、すでにMa c OS X Serverは一部オープンソースになっていたのでした。

それを引き継ぐコンシューマー用のMac OS Xもオープンソースを受け継ぎます。
 

で、まあこの「オープンソース」の内実は?という話になるのだが・・・まず、
 

MacOSXのベースになるServerはいかなるものか?
(Mac Power '99年3月号(p.110))
 

・OPENSTEPをPowe PCに移植したもの

・カーネルはMach 2.5

・ファイルシステムはUFS(Unix File System)が起動用というか本来の形式

・他にHFS Plus(Macの拡張ファイルシステム)、NFS(Network File System:UNIX標準のネットワーク経由ファイルフォーマット)、ISO9660(CDのフォーマット)、AFP(Apple Filling Protocol:MacOSのフォルダー共有で使用)をサポート

他に

・NeXT社のWebObjectという「インターネット/イントラネット向けアプリケーションを簡単かつ効果的に開発・メンテナンス・運用できる製品」がついている

・NetBootといってネットワークにつないであるMacをServerからブートできるという機能

という売りがあるらしい。

でまあ、まずOPENSTEP。

これは、Appleを追い出されたジョブズがNeXT STEPを発表するが、これはハードソフト一体型の製品。真っ黒の筐体がかっこいい(中古で見ました:思ってたより小さかった)。

で、そのNeXT があんまり売れなくて、ソフト単体で売り出したのがOPENSTEP。(なお、UNIXのWindow ManagerのAfter StepがNeXTのディスクトップを模した物。)

カーネルのMachは、どうもNeXTの時代から使われていたようです。OPENSETPでは明らかに使われていて、OPENSETP for Machという表記もあります。

でこの正体は何ぞ?となると、これは、カーネギーメロン大学が国防総省の資金援助を受けて開発したUNIX系互換OS。これも当初はAT&Tの権利問題があったらしいが、それをクリアーして、オープンソース化されているらしい。

「らしい」が多くてすみません、なのであるが、私が無知なのと、UNIXが本家・分家・長い歴史の中でのバージョンの違いとかがあって、参考とする書物によって微妙に違うのあって、読んでいて面白くないっす、っていう声が聞こえてきそうだが、まあ勉強、勉強。
 

さて、立ち読みしたMac OS X Serverの解説によると、Machは本当に基幹部分だけだそうで、その上に「キャラクター」を乗せるのだそうです。

つまりMkLinux(Macで動くPC-UNIXの一つ)はMach (Version 3.0)の上にLinuxのキャラクターを乗せている。

Mac OS X ServerはMachの上にBSD4.4のキャラクターを乗せている。

ということだそうです。
 

BSDとはBerkeley  Software Distributionの略で、ええい!知りもしないのにUNIXの歴史に突入!
 

1965年。AT&T, GE, MIT共同でMultics (Multiplexed Computer Information System)の開発を開始(するもその後頓挫)。
1970年。AT&TのK Thompson、Multicsの簡略版をUnicsと命名。71年にUnix First Editon完成
1973年。C言語の開発者のDennis RichieがカーネルをC言語で書き直す。(5th Edition)

とこの第5版でUNIXが確立した、といえるそうです。この後、K. Thompsonがカリフォルニア大学バークレー校の客員教授に招かれて、そこで分家的な発展を遂げます。分家と言いましたが、権利を持っているAT&Tから分かれたから分家ですが、開発者という観点からは「本家」と言えましょう。この系統がBerkley Software Distributionで、この4.2BSDで前回の話題になった、TCP/IPが実装されたそうです。(他に仮想記憶もこれが元祖だそうだ)

さて、ここでお家騒動、というか権利問題。BSDはAT&T社の著作権侵害となるコードソースを含んでいた。で、Version 4.4の時に、著作権に問題のある部分を除いたものが4.4BSD Liteとしてフリーウエアとして配布されました。PC-UNIXのFreeBSDはこの系列に当たります。Linuxに押されてマスコミ的な話題には乗らないFreeBSDですが、血筋はピカイチですね。
 

さて、Mac OS Xの話に戻ります。

米アップルのページのOS Xのページ(http://www.apple.com/macosx/)には、(http://www.apple.com/macosx/inside2.html)
 
 
Open Source Development―Another First from Apple

Apple is the first major computer company to make open source development a key part of its ongoing software strategy. In 1999, Apple announced its participation in the open source community by releasing the source code to most of the core components of Mac OS X Server. The core OS was quickly followed by new components like the Darwin Streaming Server, OpenPlay, and NetSprockets. By participating in the open source community, Apple partners with external developers to create leading-edge products and technologies for our users.

 

って記述があって、英語読むのが面倒な方のために要約すると、「アップルはメジャーな会社の中で初めてMac OS X Server の基幹部分のソースをオープンにして、外部の協力者と共に開発を始めた」というような内容ですが、あ〜た!

基幹となるMachや4.4BSDはもともとが「オープンソース」じゃないんですかあ、アップルさ〜ん?

と、Power Mac誌1999年5月号に「オープンソースに込められたアップルの思惑」という記事がありました。

それによると、オープンソース化されているのはDarwinと呼ばれる核となる部分で(Apple のサイトにはDarwin OSという表現があるがMac OSとDarwin OSの2種類、ではなくMacOS のコアー部分をDarwin OSと呼んでいるようである)それによるとアップルが公開したのは、ネットワーク管理システムのNetinfo, ファイルシステムのHFS Plus, AFP(Apple Filing Protocol)などで、以後公開予定なのが、システム起動プログラムのboot、デバイスドライバー作成キットのDriveKitなどで、アップル及びネクストが開発したライブラリー群は非公開となっているそうである。

結局のところ、基幹部分のMach, BSD4.4がオープンソースだったから、それをマックに移植する際の基幹部分を含めてオープンソース化した。そしてそれをDarwinと名付けて、「Darwinをオープンソース化した」というような紛らわしい表現をしているけれど、アップル独自の技術はしっかり非公開、という理解でいいと思うのですが・・・。
 

ここら辺、アップルの「商魂」を感じます。アップルを貶す癖がついてしまった私ですが、貶しているうちに思ったのは「私はアップルを過大評価していた」ということで、結局アップルはアップルIIとMacの成功で食べてきた中小企業なんですね。OS騒動もラプソディーになるのかガーシュインになるのか覚えていないのですが、自社開発が頓挫して、出来合いの技術を買ったわけでしょ。

ジョブズを呼び戻したのも、別にiMacというヒット商品を開発して貰いたかったのではなく、安定したOSを買うためだったそうじゃないですかあ。そのOS(OPENSTEP)の基盤がMachであり4.4BSDなら、「借り物」の技術じゃないですか?それを流行の「オープンソース」を全面に出してイメージアップ。

アップルってイメージ戦略はお上手です。

同じ号のMac Power誌に

オープンソースの先駆者リチャード・ストールマン氏も(略)、「アップルはオープンソース化でソフト開発を促進するという唯物論的な目的だけがあり、自由なコミュニティー、あるいは協調性や社会性といった概念を理解していない」とコメントしている。
という記事が乗っていましたが、一般マックユーザに、何か今度のMac OSは基本は「借り物」なんだって、などとはつゆ思わせず、今度のマックは「オープンソース」なんだって何かよく分からないけどすごそう、と思っていただいたら、それだけでもアップルは幸せ、ってのは考えすぎで、まあ普通のユーザはアクアはかっこいい!で十分でしょうね。

さて、次なる話題に移る前に、何でも、Machを開発した中心人物がアビー・テバニアンという人で、この人が、アップル上級副社長となってMac OS X Serverを開発したんだそうです。ということは「人物的」には借り物じゃなくて「自分のもの」ってことになるなあ。ややこし世の中よ〜。
 
 

@@@@@








さてServerとOS Xとどこが違うのか?となると技術的にはMachなどのバージョンが上がるらしいとかいう細かい部分を除けば、Classic Macとの互換性の強化、およびアクアの採用、の2点になるであろう。

ついさっき、Darwinとかいうネーミングしてイメージを作るのがうまい、と誉めたばっかですが、いや、しかし、全体としてはMac OS Xは用語が多すぎて、すぐ理解できる人は少ないのでは?

というとこで頭の整理整頓。
 
 







これってわかりにくい、です。8つも名前を使わないで〜。層は3層ぐらいにして〜。

一番上のアクアはこれは、表面的なユーザインターフェイス。「見てくれ」は私は好きです。

新ファインダーは、以前この雑記に出てきた、Greg's Browserに似てます。操作性もそのままなら、いまいちだなあ〜。このタイプはNeXT, OPENSTEP由来の伝統的なものです(と言っても実物を使ったことはないですが、外見はそっくり)。一工夫はしてあるのでしょうが、もっと斬新で「ほほ〜」と感心させてくれるのを期待していたので正直がっかりしてます。
 

次の階層のCLASSIC。これはCLASSIC APPLICATION用のエミュレーターですね。アップルは互換性高い、と言っているようですが、あまり期待しない方がいいとは思います。動いても動作が遅かったりして・・・。なおClassic環境でクラッシュしたソフトはClassicで動くソフトをまきぞえにすることはあるそうですが、OSそのものを巻き添えにしてクラッシュすることは無くなるそうです。

ここでの問題はMac Peopleに書いてありましたが、周辺機器がUSBとFirewireの汎用ドライバーしか用意しないんだそうです。ということはG3の初期型マシンにはOSは入っても周辺機器はキーボードまで含めて全滅ってことなんでしょうか?イーサネット経由で旧式Macにつないだプリンターとかも使えなくなるのでしょうか?

ま、このClassic部分にはあまり期待しないほうがいいような。。。予想を裏切ってくれる方がいいですが・・・。
 
 

次のCarbon。これは現行のMac OS 9にも入っていて、Carbon対応のソフトなら9でもXでも動く、ということで、しかし、今のところCarbon対応のアプリはまだ出ていないし〜。ということで、これも未知数。Carbonに対応したアプリがMac8以下で動かないんだったらソフト屋さんは積極的に対応してこないと思うんだが、どうなんでしょね?

なお、アップルによれば現行のソフトのプログラムの10%ぐらいを書き換えればCarbonに対応する、んだそうですが、ということはMac OS Xの本来の力はそれほど使えないような気がするんですがどうなんでしょう?

ともかくCarbonに対応したソフトだとマルチタスク、メモリー保護とかが使えて、http://www.apple.com/macosx/inside.html に書いてありましたが、「Welcome to the Brave New World of Crash-Resistant Computing」ということで、いやあマックOSの最大の批判者はマックOSXだった、という話でしょうか。笑っちゃいました。あと、「ダーウィンは仮想メモリを実装しているからもうフォトショップのようなソフトが大きいファイルを開く時メモリの割り当てに頭を悩ます必要もない」という部分も笑わせてくれました。実は「マックからウインドウズに転向する本」に、アプリのメモリ割り当てをユーザに任すのはマックの思想、とか書いてあって、本当かいな?ただ単にマックが馬鹿ってことじゃ?と思ってたんですが、ここで、マックは馬鹿だったとアップルが公然と認めている訳で、これが一番笑わせていただきました、です、はい。
 

閑話休題。
 

Xの発売は夏なのにXをプリインストールしたマシンは2001年から、っていうじゃないですかあ?

ここら辺意味深ですねえ。1つは半年ぐらい物好きユーザにXを使わせてバグフィックスしてからの安定版を一般ユーザに使っていただく、と。もう一つは、半年ぐらい待たないとちゃきちゃき動くX用アプリが登場しない、とアップルは計算してるのでしょうか?

それにしても「物は言いよう」なのが
 

Apple will not follow a disturbing industry trend and offer a confusing choice of multiple operating systems. Rather, Apple will orchestrate a smooth 12-month transition from Mac OS 9 to Mac OS X.

というセリフ。複数のOSを選択させる業界流行の煩わしさは避け・・云々の部分が何のことか最初分かりませんでしたが、これはどうもWindows2000にいろんなバージョンがあり、しかも今の98ベースのOSも登場予定というマイクロソフトのことを言っているようです。

でも、他でもないアップルさん自身がClassic Mac OSも引き続き開発するって言ってたはずなんですが・・・?!アップルとマイクロソフトの2社なら「業界のトレンド」にもなろうけど、マイクロソフトだけで「業界のトレンド」にゃならんでしょ?

と悪口いいましが、Classic Mac OSの開発は打ち止めということは、意外とXのClassic環境の出来がいいのかも知れません。それならいいんですが・・・。あるいはWindows2000の発売を前にしてMacOS X の発表をしてMacユーザが浮気しないようにしただけで、内心Xの発売は遅れる、とか思っているのかも?
 
 

さて、最後のCocoaがMacOSX本来の環境、ということになるようですが、これもアプリが出てこなくちゃ、ね。ここにネイティブに対応したソフトが本来の実力を出すはずです。ということは2年後かな?
 
 

@@@@@







下から2層目は、これは、QuickTimeはアップルのお家芸。OpenGLはシリコングラフィックス社のグラフィック関係の技術。これはアップル伝来のQuickDrawは切り捨てた、ということでそれほど威張れることでもないと思うのですが、まあ「業界標準」を積極的に取り入れるのは正解だと思います。耳慣れぬQuartsはアドビのPDF(Acrobat Readerで読む形式のファイル)用のエンジンなんだそうです。これは「これから業界標準になるはずのもの」ぐらいでしょうか?これはOSを強化するもので別にこの図式の中に入れなくてもいいと思います。

さて、最下層が冒頭に述べたDarwin。アップルによると(http://www.apple.com/macosx/inside.html)、
 
 
Mac OS X Is Unix-Savvy

Mac OS X supports POSIX file system semantics and NFS file sharing, as well as standard services like telnet and FTP, allowing easy operability with UNIX systems and applications.

The system’s kernel, which does the heavy lifting to support all those rich applications, is based on Mach 3.0 from Carnegie-Mellon University and FreeBSD 3.2 (derived from the University of California at Berkeley’s BSD 4.4-Lite), the most highly regarded core technologies from two of the most widely acclaimed OS projects of the modern era. We also took the famous Apache web server―which runs over half the websites on the Internet―and made it friendly enough to use on your desktop for personal file sharing.
 

Savvyというのは俗語で、知る、分かる、その道の知識、分別、勘、手腕、知識のある、精通した、海千山千の、などという意味が辞書に載ってましたが、UNIXにClassic, CarbonというMac互換環境を実装したもの、というのがXの実体ですから、Unix-Savvyっいうのは何か変です(だってUNIXがUNIXに達者なのは当たり前。日本人が日本語上手って自慢してるようなもん)。

それはともかく、telnetは前々回の雑記でのべた、他のマシンからUNIXにおじゃまする時に使うのですが、Xではtelnetのサーバとして使えるのでしょうか?う〜ん。FTPも、MacではFetchが有名ですが、ファイルのやりとりをする機能です。これもサーバとして使えるのでしょうか? (他のマシンからXにtelnetできる、FTPできるのかなあ?という意味です)

普通のUNIXマシンならここら辺のサービスは標準でサポートしていますので、アップルが機能を削除していなかったら、OKなんですが・・・。ここらへんどの程度UNIXなんでしょう?わがんね〜〜。

sambaが使えたら、Mac上の共有フォルダをウインドウズにマウントできます。楽しみなんだけど・・・。

ま、使えないのはX Window関連。X(エックス) Window とは前にも書きましたがUNIXでGUIを実現するベースで、ここがX(テン)がUNIXでない部分なんですよね〜。エックス上で動くUNIXアプリは全滅、と。
 

なお、コアがMachと4.4BSDなら、アップルがその気になればAT互換機にも移植は楽そうです。なぜってAT互換機版MachもFreeBSDもすでに存在してますから・・・。シェアウエアでMac OS X をAT互換機にインストールするツールとか出たりして・・・。

ま、捕らぬ狸は考えない方がいいですが・・・。UNIXの勉強に精を出そうかなあという今日この頃でありました。
 

じゃ、また。
 
 

      


41←  home  →43