現在のmacOSはUNIX

とある「MacはLinuxだった」という趣旨のツイート [1]推定されるツイートへのリンク をめぐっていろいろと話題になって、ITMediaからもそれに関連する記事が掲載されていた [2]「MacはLinuxだった」って本当? 「そうだね……」元Mac雑誌編集者は昔語りを始めた』– ITMedia NEWS, 2022年01月26日 のを見て、いくらなんでも「MacはLinuxだった」と言ってしまうのはいくらなんでも暴論なのではと考えてしまった。ここでは、それに関連していろいろと書いてみたい。

Macそのものはハードウェア

問題のツイートがMacをハードウェアとして指しているのか、後述のOS(macOS)を指しているのか、それとも総称を指しているのかがわからないが、狭義にはMacはハードウェアであり、例えばデスクトップならiMacやMac mini、Mac Proが該当し、ラップトップならMacBook AirとMacBook Proが該当する。一般的にはMacを購入した場合、OSとしてmacOSがインストールされるので、しばしばmacOSも含めてMacを指す場合もあり、しばしば混同しがちである。

Intel MacにおいてはBoot Campなどの仕組みを使うことによってWindowsやGNU/LinuxシステムなどをMac上にインストールして使うことができる。VMWare FusionやParallels Desktop、Oracle VM VirtualBoxなどを使うことで仮想環境として他のOSをインストールして使うこともできる。

Apple Siliconを搭載したMacではBoot Campが廃止されたことで通常の利用ではハードウェアに直接他のOSをインストールすることは想定されていないが、Apple Silicon Mac上でLinuxを動作できるようにするプロジェクトが進められている。

macOSはOS

macOSはUNIX

Mac上で動作する標準のOSがmacOS(かつてはMac OS X、次いでOS Xという名称だった)であり、正式にUNIXと名乗ることのできるOSのひとつである。これは、macOSが現在のUNIXの商標を管理しているThe Open Groupが策定している仕様の「Single UNIX Specification」に適合していると承認されている [3]macOS 12.0 Monterey(Intel/Apple Silicon)は、UNIX 03として認証されている。 ことによるものである [4]macOSがSUSの認証を受けたのはMac OS X 10.5 Leopard以降

macOSはLinuxではない

一方で、macOSはLinuxではない。というのも、macOSではLinuxは使っていないからである。ここで「?」と思うかもしれないので、Linuxについても軽く説明したい。

Linuxは本来、OSの中心部分であるカーネルであり、それ単体ではOSとして動かすことはできない。そのため、LinuxをOSとして動かすためには各種ソフトウェアと組み合わせる必要があり、多くの場合、GNUプロジェクトやGNOMEなどが開発したツール群と組み合わせてUnix互換OSとして利用できるようになっている。このLinuxカーネルとGNUをはじめとしたツール群を組み合わせて利用できるようにしたOSをGNUプロジェクトは「GNU/Linux」と呼称しており、私もLinuxカーネルと区別する場合にしばしば「GNU/Linux」と呼称しているが、一般的には「Linux」と呼ばれている。

さて、macOSでは何のカーネルを使っているかというと、それはXNUで、これはLinuxカーネルとは別の系統のものである。XNUはmacOSの前身のNEXTSTEPで開発されており、カーネギーメロン大学で開発されたMachにカルフォルニア大学バークレー校(UCB)で開発されたBarkeley Software Distribution(BSD)の機能を取り込んで開発されたものだった。

Linuxはリーナス・トーバルズが開発したOSカーネルで、最初期はアンドリュー・タネンバウムが教材として開発したUnix互換OS「MINIX」を参考に開発がすすめられ [5]最初期においてはLinuxはMINIXのコンポーネント群を使っていたが、のちにGNUプロジェクトのものに置き換えが進んだ 、今日では実用に耐えて、なおかつ自由に使うことのできるUnix互換OSの一つとして知られている。

昔のMac OSはどうだったの?

現在のmacOSはUNIXだが、その前のOS、「Classic Mac OS」 [6]System 1 〜 Mac OS 9.xまでのOSを指す はどうだったのかというと、UNIXとは別系統のOSで、ゼロックスのバルアルト研究所が開発した、世界初のGUIベースのOSをサポートするコンピュータ「Alto」及びAlto上で動作するソフトウェアコンセプトに影響を受けて開発され、1984年に最初のバージョンである「System 1」が初代Macintoshに同梱される形でリリースされた。

最初のバージョンであるSystem 1ではすでにGUIをサポートしている一方で、性能の制約からシングルタスク前提でモノクロ表示、ファイルシステムが階層をサポートしていないといった問題があったが、バージョンを重ねるごとに階層ファイルシステム、カラー表示、マルチタスク [7]Classic Mac OSで導入していたマルチタスクは現行のmacOSやLinux、Windows … Continue reading などをはじめとした多くの機能が追加されたものの、古い基本的な設計がさまざまな問題を引き起こしていた。

1990年代半ばに次世代のMacintosh向けOSを開発するプロジェクト「Copland」が開始されたが、開発の足並みが揃わず、全体としては遅々として進まず迷走状態だったため、最終的にはCopland計画は中止した。その後、アップルはNeXTを買収、NEXTSTEPをベースにRhapsody計画が開始され、サーバー向けのOS「Mac OS X Server 1.0 [8]現在のmacOSの前身であるものの、基本的には現行のmacOSとは別システム 」がリリースされた後、「Mac OS X」がリリース、バージョンアップを繰り返しながら現在に至っている。

References

References
1 推定されるツイートへのリンク
2 「MacはLinuxだった」って本当? 「そうだね……」元Mac雑誌編集者は昔語りを始めた』– ITMedia NEWS, 2022年01月26日
3 macOS 12.0 Monterey(Intel/Apple Silicon)は、UNIX 03として認証されている。
4 macOSがSUSの認証を受けたのはMac OS X 10.5 Leopard以降
5 最初期においてはLinuxはMINIXのコンポーネント群を使っていたが、のちにGNUプロジェクトのものに置き換えが進んだ
6 System 1 〜 Mac OS 9.xまでのOSを指す
7 Classic Mac OSで導入していたマルチタスクは現行のmacOSやLinux、Windows 10/11をはじめとした現在主流のOSとは違い、OSがタスク管理を行わないタイプのマルチタスク「ノンプリエンプティブ・マルチタスク」だった。現在主流のOSではOSがタスク管理を行う「プリエンプティブ・マルチタスク」である。
8 現在のmacOSの前身であるものの、基本的には現行のmacOSとは別システム
タイトルとURLをコピーしました