Version 7 Unix (Seventh Edition Unix) について
Version 7 Unix、またはSeventh Edition Unixは、
1979年に
ベル研究所によってリリースされた
UNIXオペレーティングシステムの初期の重要なリリースの一つです。V7という略称でも知られています。このバージョンは、
ベル研究所がリリースした最後の
UNIXであり、その後の
UNIXの発展に大きな影響を与えました。
リリースの経緯と概要
UNIXの各バージョンは、そのユーザーズマニュアルの版数によって識別されていました。
ベル研究所が外部に広くリリースした最初のバージョンは第6版でした。その後継として、
1979年にリリースされたのがSeventh Edition(V7)です。V7は、商業的にライセンスされた最初のバージョンである第6版の後継であり、その重要性から多くのユーザーに利用されました。
ベル研究所の内部では、
Research Unixの系統はVersion 8 Unixに引き継がれましたが、実際にはV8の開発は4.1BSDを基盤としていました。その後、第10版まで開発が進められ、最終的にPlan 9の開発へと移行しました。
V7は、真に移植可能な最初の
UNIXであり、
ミニコンピュータ全盛期であった当時、様々なアーキテクチャに移植されました。
サン・マイクロシステムズの初期のワークステーション(MC68010ベース)では、Unisoft社が移植したV7が稼働していました。また、最初のXENIXもV7を拡張したものであり、
Intel 8086向けに開発されました。さらに、Onyx SystemsはZilog Z8000に移植しました。
VAXに移植されたV7は
UNIX/32Vと呼ばれ、BSD系Unixの直接の先祖にあたります。
ウーロンゴン大学のチームは、
ミニコンピュータInterdata 7/32にV7を移植し、それをInterdataを買収したPerkinElmerがEdition VIIとして製品化・販売しました。これは世界初の
UNIXの商用製品とされています。
V7Mと品質
DECは、V7を修正したV7M(Mはmodifiedの意)を
PDP-11向けに配布しました。V7MはDECのUEG(Engineering Group)によって開発され、テキストとデータの分離、ハードウェアエラー対応、多くのデバイスドライバが追加されました。テープ装置やディスク装置を多数接続した環境でも問題なく動作するように改良され、その品質の高さから高く評価されました。UEGは後に
Ultrix開発部門へと発展しました。
V7の評価と特徴
V7は、高性能とエレガントな単純さを兼ね備えていたため、多くのUnixユーザーにとって「最後の真のUnix」として記憶されています。前後のどの
UNIXよりも優れており、
UNIX開発の頂点であるとされています。しかし、リリース当初は、機能拡張によってV6と比較してパフォーマンスが低下していました。この問題は、ユーザーコミュニティによって修正されることとなりました。
V7の
システムコールは約50個しかありませんでしたが、後のUnixやUnix系システムでは、多くの
システムコールが追加されていくことになります。
フリーソフトウェアとしてのリリース
2002年、カルデラ社はV7をパーミッシブな
BSDライセンスでリリースしました。V7のブートイメージは現在でもダウンロードでき、SIMHなどのPC上の
PDP-11エミュレータ上で実行可能です。Nordier & Associatesはx86への移植版を活発に開発しており、2012年時点ではバージョン0.8aのブート可能CDイメージが提供されています。
ポール・アレンは、V7を実行する
PDP-11/70を含む歴史的なコンピューターシステムを公開しています。
Version 7 の新機能
V7には以下の新機能が導入されました。
プログラミングツール: lex、yacc、lint、make、pcc(PDP-11専用のCコンパイラーに加え)
新コマンド: Bourne Shell、at、awk、calendar、f77、fortune、tar(従来のtpコマンドの置換)、touch
新しいネットワークサポート: uucp、Datakit
新システムコール: access、acct、alarm、chroot(評価用)、exece、ioctl、lseek(オフセット拡張)、umask、utime
新ライブラリ関数: stdioルーチン群、malloc、getenv、popen/system
その他の機能: シェルスクリプト先頭行の`#!`による実行コマンド指定、1ファイル1GB以上の最大ファイル容量サポート、多重化ファイル。
多重化ファイルは、
プロセス間通信に利用される機能でしたが、実験的なものでありデフォルトのカーネルでは有効化されていませんでした。後のバージョンでは削除され、BSDソケットやSystem VのIPCに置き換えられました(ただし、mpxファイルは4.1BSDには残っていました)。
V7は、その後の
UNIXの発展に大きな影響を与え、多くの開発者やユーザーに愛された重要なバージョンです。