System V(システムファイブ、SysV)は、初期の商用UNIXオペレーティングシステム (OS) の一種である。

## 概要

AT&Tが開発し1983年に最初にリリースした。4つの主要バージョンがリリースされている (Release 1, 2, 3, 4)。その中でもSystem V Release 4、通称SVR4は最も成功したバージョンであり、いくつかの一般的なUNIXの機能の起源でもある。例えばシステムの立ち上がりとシャットダウンを制御する「SysV init スクリプト」(/etc/init.d)などである。また、このシステムはSystem V Interface Definition (SVID) の元になっている。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年代からは、System Vは、BSDと並ぶUNIXの大きな系統だった。しかし、1990年代初めごろからは、System V以外のLinuxやQNXの系統のほうが大きく発展した。UNIX戦争と言われた時期、BSDはデスクトップワークステーション等で使われたのに対し、System V は大規模マルチユーザシステム向けのシステムを作ろうとしていた企業にとっては最善の選択だった。POSIXのような標準化作業はこれらの実装の違いを減らすために行われた経緯がある。

## SVR1

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

## 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はこのリリースに基づき(後にSVR3、SVR4、BSDから各種拡張を取り入れている)、そこにMacintoshのツールボックスを導入している。初期のHP-UXもSVR2からの派生だった。

## SVR3

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

## SVR4

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

- BSD起源: TCP/IPサポート、ソケット、ufs、複数グループのサポート、csh
- SunOS起源: NFS(ネットワークファイルシステム)、仮想ファイルシステムインタフェース(SVR3での "File System Switch" を置換)、メモリマップドファイル、新たな共有ライブラリ、OpenWindows GUI環境、XDR、ONC RPC
- XENIX起源: x86向けデバイスドライバ、(x86版 System Vにおける)XENIXとのバイナリ互換
- その他:
  - ksh
  - ANSI X3J11 C互換
  - 多国語対応 (Multi-National Language Support, MNLS)
  - 国際化の改善
  - ABI
  - POSIX、X/Open、SVID3といった標準のサポート

主なプラットフォームはx86とSPARCだった(ポーティングベースとしては3B2もあった)。SPARC版はSolaris 2としてサンがリリースしている(内部的にはSunOS 5.x)。AT&Tとサンの関係はSVR4のリリースまでであり、その後のSolarisはSVR4.xでの更新に追随していない。サンは2005年にSolaris 10のソースコードをオープンソースのOpenSolarisとしてリリースしたが、System V由来の実装をオープンソース化するために大幅に修正している。

SVR4は多くのハードウェアベンダーに採用された(HP-UX、IRIXなど)。また移植業者(SCO、マイクロソフト、ESIX、UHC)がx86版の拡張版を販売した。変わったところでは、AmigaのAmiga Unix、アタリのASV SVR4 Unix などがある。他にもDell SVR4、Bull SVR4などがある。

### SVR4.0MP

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

### SVR4.1 ES

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

### SVR4.2

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

### SVR4.2MP

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

## SVR5

XENIXの開発元であるSCOは、UnixWareの商標権と System V Release 4.2のコードベースの販売権をノベルから取得した。このころ主要ベンダー(サン、IBM、HP)は既存のSystem V Release 4のコードベースを独自に改造・拡張して使っていた。また、UNIXの商標権はノベルからThe Open Groupに移管されている。System V Interface Definitionを発展させた Single UNIX Specification (SUS) に準拠した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ベースだが、このバージョンは他社では全く使われていない。

## SVR6

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