TRIPOS(TRIvial Portable Operating System)は、1970年代に
ケンブリッジ大学で開発が始まった
オペレーティングシステムです。Martin Richards氏の指揮のもと、
1978年1月に最初のバージョンがリリースされ、当初は
PDP-11で動作しました。その後、Computer Automation LSI4やData General Novaといった様々なアーキテクチャに移植されました。特に、
MC68000版の開発は
1981年に
バース大学で開始され、後にMetaComCoがその権利を取得して開発を継続しました。
1985年3月には、TRIPOSは
AmigaのOSの一部として採用され、
Amigaの成功に大きく貢献しました。同年7月に発売された
Amigaには、
AmigaDOSというモジュールが搭載されており、その核となる部分はTRIPOSをベースとしていました。
AmigaDOSは、コマンドラインインターフェースと
Amiga Old File Systemという
ファイルシステムを提供しており、TRIPOSと同様にBCPL(
C言語の前身)で記述されていました。
TRIPOSは、プリエンプティブマルチタスク、階層型
ファイルシステム、コマンドラインインタープリタといった機能を備えています。特筆すべきは、メモリ管理における独特のアプローチと、ポインタを使ったメッセージパッシングです。メモリ管理においては、プログラムが確保していないメモリへのアクセスをチェックしないことで、オーバーヘッドを削減し、効率的な動作を実現しました。また、メッセージのコピーを伴わないポインタによるメッセージパッシングは、10MHzのMC68010プロセッサで1秒間に1250以上のパケットを処理することを可能にしました。
TRIPOSの大部分はBCPLで実装されていますが、
カーネルや
デバイスドライバなどの低レベルな部分は
アセンブリ言語で記述されています。幅広いハードウェアに移植された実績があり、Data General Nova 2、Computer Automation LSI4、
MC68000ベースや
Intel 8086ベースのハードウェア上で動作しました。さらに、Cambridge Ringと呼ばれるLANもサポートしています。また、後年、Martin Richards氏自身がBCPL Cintcodeを使って
Linux上で動作するTRIPOS移植版を開発しました。
現在でも、TRIPOSはイギリスの
ウスターシャーにあるOpen G I Ltd.(旧Misys Financial Systems)によって保守されています。特に保険業界では、
MC68000ベース(後に
Linux/Intelベース)のTRIPOSシステムにTCP/IPで接続して利用されているケースがあり、Open G IのBROOMSというアプリケーションスイートと組み合わせて使用されています。Open G Iは、TRIPOSを現代的なオフィス環境に適応させるための拡張も行っており、Windows/
SambaやHP JetDirectプリンタでの印刷、XML対応などの機能が追加されています。
TRIPOSの実験的な実装として、Cintposというプロジェクトも存在します。Cintposは、TRIPOSをCintcode BCPL仮想マシン上で動作させるもので、こちらもMartin Richards氏によって開発されました。
TRIPOSは、その革新的な設計と高い移植性により、
オペレーティングシステムの歴史において重要な役割を果たしました。特に
Amigaへの影響は大きく、その後のコンピューティングに多大な影響を与えました。