UNIX System V

System Vは、初期の商用UNIXオペレーティングシステム  の一種である。

1. 概要
-----

本来はAT&Tが開発し1983年に最初にリリースした。4つの主要バージョンがリリースされている 。その中でもSystem V Release 4、通称SVR4は最も成功したバージョンであり、いくつかの一般的なUNIXの機能の起源でもある。例えばシステムの立ち上がりとシャットダウンを制御する「SysV init スクリプト」などである。また、このシステムは//System V Interface Definition//  の元になっている。System Vがどのように動作するかを定義したものである。

AT&TもSystem Vが動作するハードウェアを販売していたが、ほとんどの顧客は、再販業者がAT&Tのリファレンス実装に基づいて実装したものを使っていた。有名なSystem Vの派生品としては、System V Release 3をベースとしているIBMのAIXやOpenServer、System V Release 4をベースにしているサン・マイクロシステムズのSolarisやヒューレット・パッカードのHP-UXがある。他にもNECのEWS-UXやUP-UXとその後継OSのUX/4800がSystem V Release 4をベースにしていた。

1980年代から1990年代初めごろまで、System VはBSDと並ぶ、UNIXの大きなふたつの系統のひとつだった。しかし、現在ではそれ以外のLinuxやQNXの系統が大きく発展しているため、この言い方は過去のものである。UNIX戦争と言われた時期、BSDはデスクトップワークステーション等で使われたのに対し、System V は大規模マルチユーザシステム向けのシステムを作ろうとしていた企業にとっては最善の選択だった。POSIXのような標準化作業はこれらの実装の違いを減らすために行われた経緯がある。

2. SVR1
-------

最初のSystem Vであり、1983年にリリースされた。AT&TのUnix Support Groupが、System IIIとベル研究所内で使われていたUSG UNIX 5.0をベースとして開発した。カリフォルニア大学バークレー校  で開発された BSD 4.1 からviエディタやcursesが導入されている。また、バッファやinodeキャッシュを追加することで性能を向上させている。ディジタル・イクイップメント・コーポレーション  のVAXとPDP-11で動作した。プロセス間通信機能としてメッセージ、セマフォ、共有メモリが導入されている。

3. SVR2
-------

System V Release 2は1984年4月にリリースされた。シェル機能とSVIDが導入されている。新たなカーネル機能として、ファイルロック、デマンドページング、コピーオンライトが導入された。「ポーティングベース; porting base」の概念が定式化され、このリリースでは DEC VAX 11/780 が選択された。「ポーティングベース」とはいわゆるリファレンス実装であり、他のプラットフォームへの移植はそれに基づいて行われる。SVR2 カーネルの詳しい説明は Maurice J. Bach の著書 //The Design of the UNIX Operating System// にある 。Apple ComputerのA/UXはこのリリースに基づき、そこにMacintoshのツールボックスを導入している。初期のHP-UXもSVR2からの派生だった。

4. SVR3
-------

System V Release 3は1986年にリリースされた。STREAMS、リモートファイル共有 、File System Switchと呼ばれる一種の仮想ファイルシステム機構、機能の制限された共有ライブラリ、Transport Layer Interface  ネットワークAPIがサポートされている。最終版は1988年の Release 3.2 であり、XENIXとの互換性が追加されている。OpenServer などが、この3.2をベースとしていた。「ポーティングベース」にはAT&Tの3B2コンピュータが選ばれた。IBMのAIXは SVR3 から派生したOSである。

5. SVR4
-------

System V Release 4.0は1988年10月18日に発表され、1989年以降に各社の商用UNIXとしてリリースされた。UNIX Systems Laboratoriesとサン・マイクロシステムズの共同開発であり、Release 3と4.3BSD、XENIX、SunOSの技術を統合したものである。以下のような新機能がある。

BSD起源: TCP/IPサポート、ソケット、ufs、複数グループのサポート、csh
SunOS起源: NFS、仮想ファイルシステムインタフェース、メモリマップドファイル、新たな共有ライブラリ、OpenWindows GUI環境、XDR、ONC RPC
XENIX起源: x86向けデバイスドライバ、XENIXとのバイナリ互換
その他:
ksh
ANSI X3J11 C互換
多国語対応 
国際化の改善
ABI
POSIX、X/Open、SVID3といった標準のサポート主なプラットフォームはx86とSPARCだった。SPARC版はSolaris 2としてサンがリリースしている。AT&Tとサンの関係はSVR4のリリースまでであり、その後のSolarisはSVR4.xでの更新に追随していない。サンは2005年にSolaris 10のソースコードをオープンソースのOpenSolarisとしてリリースしたが、System V由来の実装をオープンソース化するために大幅に修正している。

SVR4は多くのハードウェアベンダーに採用された。また移植業者がx86版の拡張版を販売した。変わったところでは、AmigaのAmiga Unix、アタリのASV SVR4 Unix などがある。他にもDell SVR4、Bull SVR4などがある。

5.1. SVR4.0MP
-------------

インテル製チップを使っているベンダーがコンソーシアムを結成して開発した。マルチプロセッサを限定的にサポートしている。各プロセッサはシステムコールを実行できるが、割り込みはマスタープロセッサと呼ばれる1つのプロセッサだけが処理するという方式であり、カーネルの大部分はそのマスタープロセッサ上で動作する。

5.2. SVR4.1 ES
--------------

Release 4.1 ES  は、オレンジブック B2に準拠すべくセキュリティを強化した版で、アクセス制御リスト  やダイナミック・ローダブルモジュール  をサポートしている。DLMとはドライバなどを実行時に動的にメモリにロードする機能のことである。

5.3. SVR4.2
-----------

1992年、AT&T USLとノベルのジョイントベンチャーUnivelが創業。同年、System V 4.2がUnivel UnixWareとしてリリースされた。VERITASファイルシステムを新たにサポートしている。

5.4. SVR4.2MP
-------------

1993年末ごろ完成。Release 4.2 MPでは、対称型マルチプロセッサシステムサポートと、POSIXスレッドを含むマルチスレッド機能が追加された。1995年にUnixWare 2としてリリースされた。

6. SVR5
-------

XENIXの開発元であるSCOは、UnixWareの商標権と System V Release 4.2のコードベースの販売権をノベルから取得した。このころ主要ベンダーは既存のSystem V Release 4のコードベースを独自に改造・拡張して使っていた。また、UNIXの商標権はノベルからThe Open Groupに移管されている。System V Interface Definitionを発展させた Single UNIX Specification  に準拠したOSはUNIXを名乗れるようになった。アップルのmacOSはBSDからの派生だが、SUSに準拠している。他にもBSDやSystem Vの系統ではないOSがSUS準拠となっている。

System V Release 5は1997年、SCOが開発した。SVR3から派生したOpenServerとUnixWareを統合したもので、大規模サーバ向けを意図していた。SCO UnixWare 7としてリリース。またOpenServer 6もSVR5ベースだが、このバージョンは他社では全く使われていない。

7. SVR6
-------

System V Release 6は、SCOが2004年末にリリースすると発表したが、結局キャンセルされた。64ビットシステムをサポートする予定だった。

8. 脚注
-----

9. 外部リンク
--------

[1] by エリック・レイモンド
[2]
[3] - 継続的に更新されているUNIX史。