Ultrix [ 1 ] (正式にはすべて大文字のULTRIX ) は、Digital Equipment Corporation (DEC) がPDP-11、VAX、MicroVAX [ 2 ]、およびDECstations向けに提供していた、現在は販売終了となったネイティブUnixオペレーティングシステムのブランド名です。
Unix の初期開発は、DEC の機器、特に DEC PDP-7および PDP-11 (Programmable Data Processor) システム上で行われました。その後、VAX などの DEC コンピュータでも Unix が提供されました。[ 3 ] VAX への最初の移植であるUNIX/32Vは、1977 年 10 月に VAX が発表されてから間もなくの 1978 年に完成しました。当時、DEC は VAX 向けに独自のオペレーティングシステムであるVMSのみを提供していました。
DECのUnixエンジニアリンググループ(UEG)は、ビル・マンソンが、DECのカスタマーサービスエンジニアリンググループ出身のジェリー・ブレナーとフレッド・キャンター、ケース・ウェスタン・リザーブ大学出身のビル・シャノン、ベル研究所出身のアルマンド・ステットナーと共に設立した。UEGの後期メンバーには、DECのマーケティングおよび製品管理グループから採用されたジョエル・マジッド、ビル・ドール、ジム・バークレーなどがいる。
キャンターの指揮の下、UEGはUnix第7版(参照)の改良版であるV7Mをリリースした。
1988年、ニューヨーク・タイムズ紙はUltrixがPOSIXに準拠していると報じた。[ 1 ]
シャノンとステットナーは当初、UNIX/32V 上で低レベルのCPUおよびデバイスドライバのサポートに取り組んでいたが、すぐにカリフォルニア大学バークレー校の4BSDの開発に注力するようになった。バークレー校のビル・ジョイは、シャノンとステットナーと共に新しい BSD リリースを完成させるためにニューハンプシャーにやって来た。UEGのマシンは、ビル・ジョイが持ち帰ったテープと同じ 4.5BSD と名付けられた新しい Unix を最初に実行したマシンだった。次のバージョンは 5BSD になると考えられていたが、大学の弁護士は 4.1BSD と呼ぶ方が良いと考えた。4.1BSD の完成後、ビル・ジョイはサン・マイクロシステムズで働くためにバークレーを去った。シャノンは後にニューハンプシャーから彼のもとへ移った。ステットナーは DEC に留まり、後に Ultrix プロジェクトを構想し、開始した。
オラクル社のマイク・ハンフリーズ氏によると、DECのニューハンプシャーUnixグループの本当の目的は、顧客にVMSを使い続けるよう説得し、Unixをどうしても欲しいという顧客にだけ販売することだったという。[ 4 ] IBMがネイティブUNIX製品の計画を発表した直後、ステットナーとビル・ドールは、DECがネイティブVAX Unix製品を顧客に提供する計画を提示し、DECの創設者ケン・オルセンがこれに同意した。
DEC の最初のネイティブ UNIX 製品は、PDP-11 用の V7M (modified の略) または V7M11 で、ベル研究所のバージョン 7 Unixをベースにしていました。V7M は、DEC のオリジナルの Unix エンジニアリング グループ (UEG) によって開発されました。作業は主に Fred Canter と Jerry Brenner が担当し、チームメイトとして Stettner、Bill Burns、Mary Anne Cacciola、Bill Munson が参加しました。V7M には、カーネルに対する多くの修正が含まれており、独立した命令空間とデータ空間のサポート[ 5 ]、ハードウェア エラー回復のための重要な作業、および多くのデバイス ドライバが含まれていました。多くのテープ ドライブやディスク ドライブから確実にブートストラップできるリリースを作成するために多くの作業が費やされました。V7M は Unix コミュニティで高く評価されました。UEG は後に Ultrix を開発したグループに発展しました。
DEC 初のネイティブ VAX UNIX 製品は Ultrix-32 で、System Vのカーネル以外の機能をいくつか備えた 4.2BSD をベースにしており、1984 年 6 月にリリースされました。Ultrix-32 は主に Armando Stettner の発案によるものでした。カーネル ソースにアクセスすることなく、幅広いハードウェア構成で Berkeley ベースのネイティブ VAX Unix を提供しました。さらに、ハードウェア サポート、システム メッセージ、ドキュメントの改善により、DEC のフィールド ソフトウェアおよびシステム サポート エンジニアによるサポートを向上させることも目標でした。また、Usenet/UUCP の経験からいくつかの修正とスクリプトが組み込まれました。後に、Ultrix-32 はDECnet [ 6 ]やLATなどの DEC 独自のプロトコルのサポートを組み込みました。VAXclusteringはサポートしていませんでした。Western Electric /AT&T Unix ライセンスの関係で、DEC (および他の企業) はバイナリのみのライセンスの販売に制限されていました。エンジニアリング作業の大部分は、バイナリのみの性質にもかかわらず、システムを比較的柔軟で構成可能にすることでした。
1985 年までに、ほとんどのコンピュータ会社は独自のオペレーティングシステムの代替として Unix を提供していました。[ 7 ] DEC は、PDP-11 ミニコンピュータ (Ultrix は DEC から利用可能な多くのオペレーティングシステムの 1 つでした)、VAX ベースのコンピュータ (Ultrix は 2 つの主要な OS の選択肢の 1 つでした)、および Ultrix 専用の DECstation ワークステーションとDECsystemサーバーという 3 つのプラットフォームで Ultrix を提供していました。DECstation と後の DECsystem 製品 (DEC の元のDECsystemラインとは対照的に) はMIPSプロセッサを使用しており、はるか後のAlphaベースのシステムよりも前に登場したことに注意してください。[ 8 ]
V7m 製品は後にUltrix-11 [ 9 ]と改名され、 Ultrix-32 とのファミリーを確立しましたが、PDP-11 が姿を消すと、Ultrix-32 は単にUltrixとして知られるようになりました。MIPS 版の Ultrix がリリースされると、VAX 版と MIPS 版はそれぞれ VAX/ULTRIX と RISC/ULTRIX と呼ばれるようになりました。CPU およびデバイス ドライバのサポート (これも大部分が UC Berkeley に送られました)、ハードウェア障害のサポートとリカバリ、エラー メッセージ テキストの強化、ドキュメント、カーネル レベルとシステム プログラム レベルの両方での一般的な作業など、サポート性と信頼性の高い動作に多くのエンジニアリング上の重点が置かれました。後に Ultrix-32 は 4.3BSD のいくつかの機能を組み込み、標準のTCP/IPに加えてオプションでDECnetとSNA [ 1 ] [ 10 ]、SMTPと DEC のMail-11プロトコルの両方を含めました。
特に、UltrixはSystem Vに搭載されていたプロセス間通信(IPC)機能(名前付きパイプ、メッセージ、セマフォ、共有メモリ)を実装しました。SunとAT&Tの提携によって誕生した統合型Unix (Open Software Foundation、略してOSFが設立された)は1986年後半にリリースされ、System VにBSDの機能を組み込みましたが、StettnerのUltrixの当初の計画にあるように、DECはSystem Vの最良の部分を取り入れ、BSDをベースにしました。
当初、VAXワークステーションでは、Ultrix-32はUWS(Ultrix Worksystem Software)と呼ばれるデスクトップ環境を備えており、これはX10とUltrixウィンドウマネージャをベースとしていました。その後、広く普及していたX Window Systemのバージョン11 (X11)が追加され、当時のVMSリリースでも使用されていたXUI (X User Interface)というウィンドウマネージャおよびウィジェットツールキットが採用されました。最終的に、UltrixはMotifツールキットとMotifウィンドウマネージャも提供するようになりました。
Ultrixは、VAXファミリーとDECsystemファミリーの両方のマルチプロセッサシステムで動作しました。Ultrix-32はSCSIディスクとテープ[ 11 ]、およびDECのマスストレージ制御プロトコルを使用する独自のデジタルストレージシステム相互接続とCI周辺機器をサポートしていましたが、OpenVMS分散ロックマネージャがなかったため、複数のUltrixシステムからの同時アクセスはサポートしていませんでした。DECはまた、NFSファイルサービングを高速化してディスクレスワークステーションがファイルサービングUltrixホストと通信する際のパフォーマンスを向上させるPrestoservというハードウェアとソフトウェアの組み合わせ製品もリリースしました。カーネルは、Armando StettnerによるUltrix以前の研究と、パデュー大学のGeorge H. Gobleによる以前の研究に基づいて、完全なマルチスレッドではないものの対称マルチプロセッシングをサポートしていました。そのため、ロックが多用され、一部のタスクは特定のCPUでのみ実行可能でした(割り込み処理など)。これは、当時の他のSMP実装(SunOSなど)では珍しいことではありませんでした。また、Ultrixは、競合するUnixシステムで見られた多くの新しい、あるいは出現しつつあったUnixシステム機能のサポートが遅れていました(例えば、共有ライブラリや動的にリンクされた実行ファイルはサポートしていませんでした)。さらに、bind、4.3BSDシステムコール、ライブラリの実装も遅れていました。メモリマップドファイルサポートの欠如は、1990年代初頭の競合製品と比較した場合、Ultrixの特に大きな欠点とみなされていました。[ 12 ]:50
OSFへの取り組みの一環として、Armando StettnerはDECのケンブリッジ研究所に行き、DECのRISCベースのDECstation 3100 [ 13 ]ワークステーションへのOSF/1の移植に取り組みました。これは、MIPSアーキテクチャ用のMachベースのカーネルとともに1991年にリリースされました。Alphaアーキテクチャの初期開発中にUltrixのAlphaへの移植が行われましたが、製品としてリリースされることはありませんでした。[ 14 ] その後、DECはAlpha上でUltrixをOSF/1に置き換え、MIPSおよびVAXプラットフォームでのUnix開発を終了しました。
Ultrixの最後のメジャーリリースは1995年のバージョン4.5で、それまでサポートされていたすべてのDECstationとVAXenをサポートしていました。その後、Y2K対応のパッチがいくつかリリースされました。
科学論文向けのワードプロセッサであるWordMARCは、Ultrixで利用可能なアプリケーションパッケージの一つでした。 [ 15 ]
Ultrixには以下のシェルが付属していました: [ 16 ]