UNIX System V Release 4完全ガイド|商用UNIXの標準を確立したOSの歴史と技術

UNIX System V Release 4(SVR4)は、1980年代後半に開発された商用UNIXオペレーティングシステムの重要なバージョンです。
AT&TとSun Microsystemsの共同プロジェクトとして開発され、それまでバラバラだったUNIXの各派生版を統合しました。
SVR4は商業的に最も成功したUNIXバージョンとなり、現在のSolaris、AIX、HP-UXなど多くの商用UNIXシステムの基礎となっています。
本記事では、SVR4の歴史、技術的特徴、影響、そして現在の状況について詳しく解説します。

スポンサーリンク
  1. UNIX System V Release 4とは
    1. 基本的な定義
    2. 開発の目的
  2. UNIX System Vの歴史的背景
    1. UNIX System Vの誕生
    2. 各リリースの進化
    3. UNIX戦争と統合への道
  3. SVR4の発表と初期展開
    1. 共同開発体制
    2. 統合された技術
    3. 商用展開
  4. SVR4の主要な技術的特徴
    1. VFS/vnodeアーキテクチャ
    2. UFS(UNIX File System)
    3. NFS(Network File System)
    4. シンボリックリンク
    5. CシェルとKornシェル
    6. メモリマップドファイル
    7. STREAMS
    8. リアルタイムスケジューリング
    9. Application Binary Interface(ABI)
    10. 国際化サポート
  5. SVR4の後続バージョン
    1. SVR4.1
    2. SVR4.2
    3. SVR4.2MP
  6. 主要なSVR4派生システム
    1. Solaris
    2. UnixWare
    3. AIX
    4. HP-UX
    5. その他の派生版
  7. SVR4の衰退とLinuxの台頭
    1. Linuxの脅威
    2. Project Monterey
    3. SVR5の試み
    4. 現在のSystem V派生システム
  8. SVR4の技術的遺産
    1. SysV initシステム
    2. SVID(System V Interface Definition)
    3. ELFフォーマット
    4. VFSアーキテクチャ
  9. SVR4を学ぶ意義
    1. UNIX文化の理解
    2. 現代システムのルーツ
    3. 設計思想の学習
  10. SVR4に関するリソース
    1. 書籍
    2. オンラインリソース
    3. ドキュメント
  11. よくある質問
    1. UNIX System Vとは何ですか?
    2. SVR4はいつ発表されましたか?
    3. SVR4を開発したのは誰ですか?
    4. SVR4はどのUNIXを統合しましたか?
    5. SVR4の主要な技術的特徴は何ですか?
    6. Solarisとの関係は?
    7. SVR4は現在でも使用されていますか?
    8. なぜSVR4は衰退したのですか?
    9. SVR4とLinuxの関係は?
    10. SVR4のソースコードは入手できますか?
  12. まとめ

UNIX System V Release 4とは

UNIX System V Release 4(SVR4)は、UNIXオペレーティングシステムの主要なバージョンの1つです。

基本的な定義

SVR4は、AT&T UNIX System LaboratoriesとSun Microsystemsが共同開発した商用UNIXです。
1988年10月18日に発表され、1989年初頭から様々な商用UNIX製品に組み込まれました。

「System Five Release Four」と読みます。
略称は「SVR4」または「SysVR4」です。

開発の目的

SVR4の開発目的は、「Unix System Unification(UNIX統合)」と呼ばれるプロジェクトでした。

それまでUNIXは多くの派生版に分かれており、互換性の問題が深刻化していました。
SVR4は、主要なUNIXベンダーの協力を得て、これらを統一することを目指しました。

System V、BSD、SunOS、Xenixの技術を1つのパッケージに統合しました。

UNIX System Vの歴史的背景

SVR4を理解するには、UNIX System Vの歴史を知る必要があります。

UNIX System Vの誕生

UNIX System Vは、AT&Tが開発した最初の商用UNIXバージョンです。
1983年1月に最初のリリース(System V Release 1、SVR1)が発表されました。

System Vは、1982年のUNIX System IIIの後継として開発されました。
Bell Labsでは「Unix 5.0」として知られていました。

AT&Tは自社のハードウェアでSystem Vを販売しましたが、多くの顧客はリセラーのバージョンを使用していました。

各リリースの進化

UNIX System Vは、4つの主要バージョンがリリースされました。

System V Release 1(SVR1、1983年)は、DEC PDP-11とVAXミニコンピュータで動作しました。
viエディタやcursesライブラリなど、BSD由来の機能も含まれていました。
プロセス間通信(メッセージ、セマフォ、共有メモリ)のサポートが追加されました。

System V Release 2(SVR2、1984年)は、デマンドページング、コピーオンライト、共有メモリを追加しました。
DEC VAX-11/780が「porting base(移植基準)」として選ばれました。
Apple ComputerのA/UXとMicrosoft Xenix 5.0は、このリリースをベースにしていました。

System V Release 3(SVR3、1987年)は、STREAMS、TLI(Transport Layer Interface)、RFS(Remote File System)を含んでいました。
最終バージョンはRelease 3.2(1988年)で、Intelプラットフォーム上のXenixとのバイナリ互換性を追加しました。
AT&T 3B2が公式の「porting base」となりました。

System V Release 4(SVR4、1988年)は、これまでで最も機能豊富で商業的に成功したバージョンです。

UNIX戦争と統合への道

1980年代後半、UNIX市場は「UNIX戦争」と呼ばれる標準化をめぐる争いに突入していました。

各ベンダーが独自のUNIX派生版を開発し、互換性が失われていました。
Silicon GraphicsのIRIXはSystem Vベース、SunのSunOSはBSDベースといった具合でした。

この状況を打破するため、AT&TとSunは1987年から1989年にかけてSVR4の開発を開始しました。
主要なUNIXベンダーの協力を得て、異なるUNIX技術を統合することになりました。

SVR4の発表と初期展開

1988年10月18日、SVR4が正式に発表されました。

共同開発体制

SVR4は、AT&T UNIX System LaboratoriesとSun Microsystemsの共同プロジェクトでした。

両社は、それぞれの強みを活かして開発を進めました。
AT&TはSystem Vの伝統と商用機能を提供しました。
SunはBSDとSunOSから多くの先進的な技術を持ち込みました。

統合された技術

SVR4には、以下の源泉から技術が統合されました。

UNIX System V Release 3からは、基本的なシステム構造とコマンド群が受け継がれました。
4.3BSDからは、TCP/IPネットワーキング、シンボリックリンク、Cシェル、ジョブコントロールなどが取り込まれました。
SunOS 4からは、VFS(仮想ファイルシステム)アーキテクチャ、NFS(ネットワークファイルシステム)、メモリマップドファイルなどが採用されました。
Xenixからは、x86プラットフォーム上でのバイナリ互換性が追加されました。

商用展開

多くの企業がSVR4のライセンスを取得し、自社の製品に組み込みました。

ワークステーションやネットワークサーバーなどのコンピュータシステムにバンドルされました。
Dell、Everex、Microport、UHC、Consensysなどのベンダーが、Intel x86版のSVR4を販売しました。

SVR4の主要プラットフォームは、Intel x86とSPARCでした。

SVR4の主要な技術的特徴

SVR4は、極めて機能豊富なオペレーティングシステムでした。

VFS/vnodeアーキテクチャ

VFS(Virtual File System、仮想ファイルシステム)は、SVR4の重要な革新でした。

SVR3のFSS(File System Switch)を置き換える形で導入されました。
元々はSunOSで開発された技術です。

VFSにより、カーネルは複数の異なるファイルシステムタイプを同時にサポートできるようになりました。
統一されたインターフェースを通じて、様々なファイルシステムにアクセス可能になりました。

UFS(UNIX File System)

UFSは、BSD Fast File Systemから派生したファイルシステムです。

SVR4でデフォルトのファイルシステムとして採用されました。
ほとんどのUNIXバージョンで事実上の標準となりました。

現在でもSolarisのデフォルトファイルシステムとして使用されており、継続的に開発が続けられています。

NFS(Network File System)

NFSは、ネットワーク越しにファイルシステムを共有する機能です。

SVR4には、Sun Microsystemsが開発したNFSが含まれていました。
それまでのRFS(Remote File System)は、あまり成功せず次第に使われなくなりました。

NFSは、現在でも広く使用されているネットワークファイル共有プロトコルです。

シンボリックリンク

シンボリックリンク(symbolic links)は、BSDから取り込まれた機能です。

ファイルやディレクトリへのポインタを作成できます。
ハードリンクと異なり、ファイルシステムの境界を越えてリンクを作成できます。

現在のUNIX系OSでは当たり前の機能ですが、SVR4で初めてSystem Vに導入されました。

CシェルとKornシェル

SVR4には、複数のシェルが含まれていました。

Cシェル(csh)は、BSDから取り込まれました。
Kornシェル(ksh)は、AT&Tで開発された強力なシェルです。
ジョブコントロール機能も追加されました。

これにより、ユーザーは好みに応じてシェルを選択できるようになりました。

メモリマップドファイル

メモリマップドファイル(memory-mapped files)は、ファイルをメモリ空間に直接マップする機能です。

ファイルI/Oを通常のメモリアクセスとして扱えるようになりました。
大きなファイルを効率的に処理できるようになりました。

データベースシステムなど、高性能が求められるアプリケーションで活用されました。

STREAMS

STREAMSは、デバイスドライバとネットワークプロトコルのためのフレームワークです。

コンソールやTTY(teletype)管理がSTREAMSベースになりました。
モジュール化されたプロトコルスタックの実装が可能になりました。

リアルタイムスケジューリング

SVR4には、リアルタイムスケジューリング機能が追加されました。

時間制約のあるタスクを優先的に処理できるようになりました。
カーネルプリエンプションの部分的な実装も含まれていました。

産業用途や組み込みシステムでの使用を視野に入れた機能です。

Application Binary Interface(ABI)

SVR4では、アプリケーションバイナリインターフェース(ABI)が標準化されました。

バイナリレベルでの互換性が確保され、再コンパイルなしで異なるシステムでアプリケーションを実行できるようになりました。

1999年には、複数のUNIXシステムベンダーがSVR4のELF(Executable and Linkable Format)を標準として合意しました。

国際化サポート

SVR4には、MNLS(Multi-National Language Support)が含まれていました。

多言語対応が改善され、グローバル市場でのUNIXの使用が容易になりました。
ANSI X3J11 C互換性もサポートされました。

SVR4の後続バージョン

SVR4のリリース後も、機能強化が続けられました。

SVR4.1

System V Release 4.1では、以下の機能が追加されました。

非同期I/O(Asynchronous I/O)のサポートが追加されました。
セキュリティ機能が強化され、Orange Book B2準拠に必要な機能が実装されました。
アクセスコントロールリスト(ACL)が追加されました。
カーネルモジュールの動的ロードをサポートしました。

SVR4.2

1992年、AT&T USLはNovellと合弁会社Univelを設立しました。

同年、System V Release 4.2がUnivel UnixWareとしてリリースされました。
VERITAS File System(VxFS)が特徴でした。

ただし、Eric S. Raymondは、SVR4.2版にはオンラインmanページが含まれていないことが多いと警告していました。

SVR4.2MP

Release 4.2MPは、1993年後半に完成しました。

マルチプロセッシング(SMP)機能のサポートが追加されました。
システムコールを任意のプロセッサから処理できるようになりました(割り込み処理は「マスター」プロセッサからのみ)。
カーネルスレッドが実装されました。

1995年にUnixWare 2としてリリースされました。

主要なSVR4派生システム

SVR4は、多くの商用UNIXシステムの基礎となりました。

Solaris

SunのSPARC版SVR4は、Solaris 2(内部的にはSunOS 5.x)として開発されました。

SVR4のリリース後、SunとAT&Tの関係は終了しました。
そのため、後のSolarisバージョンはSVR4.xの機能を継承していません。

2005年、SunはSolaris 10のソースコードの大部分をOpenSolarisプロジェクトとしてオープンソース化しました。
Oracleによる買収後、Solarisはプロプライエタリになりましたが、illumusプロジェクトがオープンソースの継続として開発されています。

UnixWare

UnixWareは、NovellとAT&T USLの合弁会社Univelが開発しました。

SVR4.2をベースとし、1992年にリリースされました。
1995年にはSVR4.2MPベースのUnixWare 2がリリースされました。

後にSanta Cruz Operation(SCO)がUnixWareの商標権とSVR4.2コードベースの配布権をNovellから取得しました。

AIX

IBMのAIXは、元々SVR3派生でしたが、SVR4の影響も受けています。

現在でも、System Vの系統を引く商用UNIXの1つです。
主にIBMのPowerシステムで使用されています。

HP-UX

Hewlett PackardのHP-UXも、SVR4をベースとしています。

初期のバージョンはSVR2派生でしたが、後にSVR4に移行しました。
現在でもHPEが開発・サポートを続けています。

その他の派生版

Dell UNIX、ESIX、ISC 386/ixなど、多くのIntel x86版SVR4が存在しました。
SCO UNIXは、SVR3.2をベースとしていました。

SVR4の衰退とLinuxの台頭

1990年代後半から、SVR4市場は縮小し始めました。

Linuxの脅威

1998年のMicrosoftの内部メモには、「LinuxはいずれX86 UNIX市場を支配する」と予測されていました。

Eric S. Raymondは、自身がLinuxを使用するようになったため、PC互換機用UNIX購入ガイドをUSENETで公開するのを中止しました。
「SVR4市場はもはや興味深くも重要でもない」と述べていました。

2001年のInfoWorld記事は、SCO UnixWareが「見通しが暗い」と評しました。
LinuxとSolarisに「打ち負かされた」状態にあると報じました。

Project Monterey

1998年、Project Montereyが開始されました。

Compaq、IBM、Intel、SCO、Sequent Computer Systemsの共同プロジェクトでした。
既存の商用UNIXプラットフォームの主要機能を統合することを目指しました。

ターゲットプラットフォームは、IntelのIA-64アーキテクチャとItaniumプロセッサでした。
しかし、このプロジェクトは成功しませんでした。

SVR5の試み

1997年、Santa Cruz Operation(SCO)がSystem V Release 5(SVR5)を開発しました。

SVR3派生のSCO OpenServerとUnixWareを統合したものでした。
大規模サーバーに焦点を当てていました。

SCO UnixWare 7としてリリースされましたが、他の主要ベンダーは採用しませんでした。
その後継であるThe SCO Groupも、SCO OpenServer 6をSVR5ベースで開発しましたが、広く使用されることはありませんでした。

現在のSystem V派生システム

2026年現在、AT&T由来のUNIX市場は、3つのSystem V派生版に分かれています。

IBMのAIXは、主にPowerシステムで使用されています。
OracleのSolarisは、SPARCとx86システムで使用されています。
illumusは、OpenSolarisから派生したオープンソースのSystem V実装です。

HP-UXも継続していますが、市場シェアは縮小しています。

SVR4の技術的遺産

SVR4は、現代のUNIX系システムに多大な影響を与えました。

SysV initシステム

SVR4で導入されたSysV initスクリプト(/etc/init.d)は、長年にわたってUNIX系システムのブート管理の標準でした。

システムの起動と停止を制御する標準的な方法を提供しました。
ランレベルの概念を導入しました。

近年、systemdなどの新しいinitシステムに置き換えられつつありますが、その影響は今でも残っています。

SVID(System V Interface Definition)

SVIDは、System Vシステムがどのように動作すべきかを定義する標準です。

SVR4の仕様が多くの標準化作業の基礎となりました。
POSIXやSingle UNIX Specificationなどの標準に影響を与えました。

ELFフォーマット

SVR4で導入されたELF(Executable and Linkable Format)は、バイナリと オブジェクトコードファイルの標準となりました。

同じCPUアーキテクチャで動作する異なるUNIXシステム間で、大幅なバイナリ互換性を提供します。
現在でも、Linux、BSD、Solarisなど、多くのUNIX系システムで使用されています。

VFSアーキテクチャ

SVR4で採用されたVFS(仮想ファイルシステム)アーキテクチャは、現代のオペレーティングシステムの標準となりました。

Linuxカーネルでも、VFSは中核的な機能です。
複数のファイルシステムタイプを統一的に扱う方法を確立しました。

SVR4を学ぶ意義

現在でもSVR4について学ぶ意義はあります。

UNIX文化の理解

SVR4は、商用UNIXの黄金時代を代表するシステムです。

UNIXの歴史と文化を理解する上で、SVR4の知識は不可欠です。
多くの現代的な概念とツールが、SVR4で確立または統合されました。

現代システムのルーツ

Solaris、AIX、HP-UXなど、今でも使用されている商用UNIXシステムは、SVR4をベースとしています。

これらのシステムを扱う際、SVR4の知識が役立ちます。
レガシーシステムの保守や移行プロジェクトでも、SVR4の理解が必要になることがあります。

設計思想の学習

SVR4の設計思想は、現代のシステム設計にも通じるものがあります。

モジュール化、抽象化、標準化といった原則は、今でも重要です。
大規模な統合プロジェクトの事例として、参考になります。

SVR4に関するリソース

SVR4について学ぶためのリソースを紹介します。

書籍

Kenneth H. Rosenらによる「UNIX System V Release 4: An Introduction」は、SVR4の包括的な入門書です。
AT&T Bell Laboratoriesの専門家による執筆で、信頼性が高い内容です。

Maurice J. Bachの「The Design of the UNIX Operating System」は、SVR2カーネルの決定版的な解説書です。
SVR3とBSDの新機能も含まれています。

オンラインリソース

GitHubには、SVR4のソースコードがアーカイブされています。
calmsacibis995/svr4-srcリポジトリで、UNIX System V Release 4 Version 3のソースコードが公開されています。

Internet Archiveには、SVR4.2のインストールメディアがアーカイブされています。

ドキュメント

SVR4には、充実したオンラインドキュメントが含まれていました。

manページは、各コマンド、システムコール、ライブラリ関数について詳細な説明を提供していました。
システムの主要なサブシステムを説明する長文のドキュメントもありました。

よくある質問

SVR4に関するよくある質問に答えます。

UNIX System Vとは何ですか?

UNIX System Vは、AT&Tが開発した最初の商用UNIXバージョンです。
1983年に最初のリリースが発表され、4つの主要バージョン(Release 1~4)が存在しました。

SVR4はいつ発表されましたか?

SVR4は、1988年10月18日に発表されました。
1989年初頭から、様々な商用UNIX製品に組み込まれ始めました。

SVR4を開発したのは誰ですか?

SVR4は、AT&T UNIX System LaboratoriesとSun Microsystemsの共同プロジェクトでした。
主要なUNIXベンダーの協力も得て開発されました。

SVR4はどのUNIXを統合しましたか?

SVR4は、System V、BSD、SunOS、Xenixの技術を統合しました。
これにより、「Unix System Unification(UNIX統合)」が実現されました。

SVR4の主要な技術的特徴は何ですか?

VFS/vnodeアーキテクチャ、UFS、NFS、シンボリックリンク、メモリマップドファイル、STREAMSなどが主要な特徴です。
CシェルとKornシェル、リアルタイムスケジューリングも含まれています。

Solarisとの関係は?

SunのSolaris 2(SunOS 5.x)は、SPARC版のSVR4として開発されました。
ただし、SVR4リリース後にSunとAT&Tの関係は終了したため、後のSolarisはSVR4.xの機能を継承していません。

SVR4は現在でも使用されていますか?

直接的なSVR4の使用は稀ですが、その派生版は今でも使用されています。
Solaris、AIX、HP-UXなどが、SVR4をベースとした商用UNIXシステムです。

なぜSVR4は衰退したのですか?

1990年代後半から、Linuxが急速に普及しました。
オープンソースで無料のLinuxは、高価な商用UNIXよりも魅力的な選択肢となりました。

SVR4とLinuxの関係は?

直接的な関係はありませんが、LinuxはUNIX的な設計を採用しています。
POSIXやSingle UNIX Specificationなどの標準を通じて、間接的な影響があります。

SVR4のソースコードは入手できますか?

GitHubにSVR4のソースコードがアーカイブされています。
calmsacibis995/svr4-srcリポジトリで、i386版のソースコードが公開されています。

まとめ

UNIX System V Release 4について、その歴史と技術的特徴を解説しました。

SVR4は、1988年10月18日にAT&TとSun Microsystemsの共同プロジェクトとして発表されました。
System V、BSD、SunOS、Xenixの技術を統合した「Unix System Unification」プロジェクトの成果でした。

主要な技術的特徴には、VFS/vnodeアーキテクチャ、UFS、NFS、シンボリックリンク、メモリマップドファイル、STREAMSなどがあります。
CシェルとKornシェル、リアルタイムスケジューリング、ABIなど、多くの革新的な機能が含まれていました。

SVR4は、商業的に最も成功したUNIXバージョンとなりました。
多くの企業がライセンスを取得し、ワークステーションやサーバーにバンドルしました。

後続バージョンとして、SVR4.1(非同期I/O、ACL)、SVR4.2(VERITAS File System)、SVR4.2MP(マルチプロセッシング)がリリースされました。

Solaris、AIX、HP-UXなど、多くの商用UNIXシステムがSVR4をベースとしています。
UnixWareは、SVR4.2から直接派生したシステムです。

1990年代後半から、Linuxの台頭によりSVR4市場は縮小しました。
2026年現在、AT&T由来のUNIX市場は、AIX、Solaris、illumusの3つに分かれています。

SVR4の技術的遺産は、今でも残っています。
SysV initシステム、ELFフォーマット、VFSアーキテクチャなど、現代のUNIX系システムの基礎となっています。

SVR4は、UNIXの歴史において極めて重要な位置を占めています。
商用UNIXの標準を確立し、現代のUNIX系システムに多大な影響を与えました。

コメント

タイトルとURLをコピーしました