Mach

Mach（マーク）とは、カーネギーメロン大学のリチャード・ラシッド教授（実際の実装はアビー・テバニアンが中心）らのMachプロジェクトにより開発されたマイクロカーネルタイプのオペレーティングシステム (OS) を言う。名前は「複数非同期通信ホスト」を意味する英語「」に由来している。
開発の経緯.
1980年代中頃、アメリカ国防総省高等研究計画局によって開発されていた実験用マルチプロセッサコンピュータ用のOSをアメリカ国防総省に提案、採用されたことにより 1985年からMachの開発は始まった。当初はスーパーコンピュータ・ワークベンチ・プロジェクト（）と呼ばれていた。
当時、米国の研究機関で主に用いられていた 4.2BSD UNIXの設計は、古く効率の悪い仮想記憶機構、マルチプロセッサマシンに対して非効率な構造、移植性の悪い冗長なコードなど、当初のUNIXでは想定していない様々な機能をカーネルに追加したため、非常に見通しの悪い構造となっていた。これを解決することがMachの目的であった。
これらを実現することを目標に開発が行われた。
歴史.
当初から4.3BSD UNIXと互換であることが決定されていたこともあり、4.3BSDのカーネルソースコードを元に修正を加えることで実装を行った。実際には3.0からがマイクロカーネルであり、Mach 2.5まではマイクロカーネルではない。
リチャード・ラシッド教授が1991年にマイクロソフトへ移籍した後も1994年までカーネギーメロン大学でMachプロジェクトは続いた。以後、Machの開発はユタ大学のMach 4プロジェクト、のHurdプロジェクト、カーネギーメロン大学の ARTプロジェクトなどに引き継がれていった。ユタ大学で Mach 4として分散環境を考慮したスレッドおよびメッセージの改良、Linuxデバイスドライバインターフェースの実装を行った。GNUプロジェクトではこのMach 4をベースに改良を加え、GNU Machとして公開している。ARTプロジェクトでは分散リアルタイムOS実現のため、実時間駆動型スケジューラなどがMach に組み込まれ、として公開された。これらの研究開発はMachのみならずBSDにもフィードバックされ、仮想記憶システムを含むいくつかの機能は4.4BSD Liteにも利用されている。
Mach の基本概念.
これらのMach生まれの基本概念は、その後のUNIXのみならず、数多くのOSに多大な影響を及ぼした。
読み方.
この新しいOSの名前をどうするのかという雑談の中で出た MUCK () というアイディアを、リチャード・ラシッド教授の同僚のイタリア人 Darlo Giuse がMachと聞き間違えたことに由来する。最終的にはコインの裏表で決定した。従って原則英語読みの「マーク」という発音が正しい。