
2026/05/30 0:21
東ドイツ(DDR)における UNIX(1990 年)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
要約: Guenther Fischer氏とMatthias Clausz氏の論文は、冷戦下の厳しい制限の中で東ドイツの計算科学研究者がUnixオペレーティングシステムをどのように成功裡に適応させたかについて述べています。この旅路は1982年に学生がいない研究室でUnixが入った磁気テープを購入し、Kernighan & Ritchie著『Cプログラミング言語』と共に分析を開始したことから始まりました。当初はTSO上で動作する2台のESER Iマシン(IBM 360のクローン)に依存していましたが、チームはCプリプロセッサ(
cpp)をSystem-Pascalへ手動で翻訳し、続いてCコンパイラを上記環境へ移植しました。彼らは以下の段階を経て進展しました:まずPSUシステムのTSOへの移植を支援し、次にPDP-11上でUNIX V7を動作させる二重環境を設定し、最後にハードウェアをIBM 370に切り替えて完全なUnixソースコードと周辺機器をサポートしました。C++やPascal、Lispなどの言語における研究のために約30台のターミナルを含むインフラストラクチャが拡張される一方で、チームはTurbo Pascal用8ビットマイクロコンピュータを統合し、Z8000ベースのP8000ハードウェア上でWEGAを導入しました。COCOM制裁および国際アクセスの欠如を克服するため、研究員らは競合するシステム(VMXとWEGA)をX/OpenおよびSystem V Release 2標準に適合させることを標準化しました。Robotron AT互換マシンへのUnix移植試みは非生産性製品のため失敗しましたが、現在の取り組みはVMXシステムをSystem V Release 3標準と整合させながら世界規模のGNU/X/Openプロジェクトに参加することを目指しています。この取り組みは、孤立したブロック内で技術的主権を実現し、オープンソース文書を構築することを、絶えざる適応によって達成したことを示す顕著なケーススタディとして残っています。本文
ドイツ社会主義共和国(GDR)における UNIX の短い歴史
注意: 本稿は当初東独の東西双方で共有されていた原稿を和訳したものです。著者のギュンター・フィッシャー氏より許可を得た翻訳です。
シリーズ情報
- タイトル: TU/IF における UNIX ~「私的歴史」としての試み~
- 原稿者: ギュンター・フィッシャー(Günter Fischer) & マティアス・クラウス(Matthias Clausz)
- 所属: 元技術大学 Karl-Marx-Stadt(後のベルリン・フリードリヒシュタット工科大学)、コンピューターサイエンス学科
- 翻訳者: ピーター・ランブ(ETH チューリッヒ校、著者許可に基づく再配布)
序章:スタートと背景
■ 組織的な位置づけ
- 1982 年時点では学生が一切不在の「枯れ木」のような学科でしたが、全校に対する教育計算・技術計算サービスのサポーティング・デパートメントとして機能していました。
- 計算基盤は当初 ESER I マシン(通称:IBM 360) 2 台のみでした。
■ システム移行の過程
- DOS から UNIX を含む OS への移行を完了。
- 外部圧力に伴い、TSO(Time Sharing Option / オンラインバッチ処理システム)へ切り替え中。
- スローガン:「TSO が全ての人々を幸せにさせる」(TSO macht alle froh)。
- 注:アセンブリ言語からの脱却も直前にありました。
幸運な転機:UNIX の発見
■ マグネットテープによる偶発的接触
- IBM クローンマシンで処理不能だったマグネットテープが入手。
- ヘックスダンプツール解析により、ASCII コードと 512 バイトブロック構造を確認。
フォーマットのテープ読み込み・プリンタ出力が可能であることに気づく。tar
■ 発見されたシステム:UNIX
- プリンター出力(大文字限定)は暗喩的に見えたが、コメントや README に明文化されていた。
- C 言語コンパイラの存在と「UNIX」という名称が確認される。
- 急務として文献調査を行い、以下の書籍を発見:
- 『The C Programming Language』(カーニーガン & リッチー著)
■ GDR UNIX コミュニティへの参入
- **「高級言語で書かれた OS はハードウェア非依存」**という考えに即座に従う。
- System-Pascal(アセンブリの代用試み)上で C プリアンプレッサ (
) を実装し、知名度を急上昇させる。cpp - 他プロジェクトとの連携拡大:
- フリーリッヒ兄弟(ZKI・LfA ベルリン)
- ZfT KEAW ベルリンの同僚
- TH イルメンアウ、ドレスデンロボットロンなど
C コンパイラ組込みの旅路
■ 戦略:手動翻訳による移植
移植成功を契機にコンパイラ本体へ着手。cpp- 動作マシンの欠如のため、**他言語への手動翻訳(Porting)**手法を選択。
■ 開発のタイムライン
- 約 3 ヶ月後: PDP/11 アセンブリを生成する C コンパイラの実現。
- 複雑な課題: コード品質保証と IBM 360 アセンブリ出力モードへの対応(当時はコードジェネレータ時代)。
- 短期間内: 「Hello World」の画面表示達成。
- 約 4 ヶ月後: C コンパイラ自体のコンパイル成功(初版は PDP/11 コードだが、思考プロセスが「C の世界」へ移る)。
重要: コードジェネレータへの改修は元コンパイラにも反映させる必要があった。
UNIX 発展の 3 つの段階
■ UNIX 段階 1:PSU(Programmiersystem UNIX)
- LfA(ソフトウェア開発機関)との連携強化。
- PSU は OS サブシステムとして設計され、UNIX に類似するが制限付き。
- マルチプロセッシングは順次シミュレーション。
- GDR UNIX 第一号: バッチシステムかつアセンブリ言語実装。
- TSO への移植を支援し、コンパイラとツール群 (
など) を PSU へ移植。nroff - 成功事例: 「Wumpus(ワンプス)狩り」ゲームは人気獲得(グラフィック時代の起源不明化)。
成果:
- 学生・教職員がバッチおよびインタラクティブ環境で同一ツールを利用可能に。
- OS と TSO の区別意識不要化。
- 自己研鑽の機会創出。
■ UNIX 段階 2:国外機との連携
- PSU 活動並行し、**PDP 11/20(非 360)**上で UNIX V7 を部分的に運用。
- 「本当の意味での」UNIX 経験を蓄積。
- 部門内に同マシン 2 台導入し、教育・研究へ統合。
■ UNIX 段階 3:本物の UNIX とドキュメント化
- IBM 360 から 370 シリーズへの移行に伴う状況変化。
- 目標: 新しいマシンに本物の UNIX を搭載。
- 達成事項(情熱と幸運の偶然による):
- 完全ソースコード対応。
- 全周辺機器サポート。
- VM(仮想マシン)なしでの独立動作。
- 完整的なドイツ語ドキュメント整備。
- 他校支援:ライプツィヒ工科大学(TH)、アイゼンフーテン大学(FSU ジエナ)。
■ 基盤からの開発成果
- ジョブスケジューラ: 「overnight スケジューリング」対応(学生ニーズへの対応)。
- 複数言語コンパイラ群: Pascal, Modula 2, Lisp, C, C++。
- 多数の技術ツール。
その間のシステム展開とマイクロコンピューター
■ 8 ビットマイクロシステム (CP/M)
- Turbo Pascal、データベース処理、テキスト編集のエデュケーション基盤。
- 現在も安定したワーカホースとして利用されている。
■ P8000: Z8000 ベースの UNIX システム「WEGA」
- 計算環境に大きな改善をもたらしたシステム。
- UNIX システム「WEGA」を実行。
ユニクな現状:互換性と標準化
■ UNIX == UNIX?大成功だが不成功
- すべてのコンピューター(8 ビット系除く)で UNIX を運用する有利性は明白。
- しかし、UNIX 互換システム同士は決して同じではない。
- VMX (370 システム): Version 7 に類似。
- WEGA: System III 互従。
■ ドキュメント追跡活動
、/usr/group
、SVID
からX/Open
へ至るまでの標準化動向を熱心に収集・追跡。POSIX
GDR-UUG (EAG) と標準化への取り組み
■ GUUG と EAG: なぜ「下からの統一」ではないのか?
- すべての GDR UNIX 開発者が、統一ドキュメント化の必要性を感じていた。
- 2 年前より: システムコールおよびライブラリ関数のドキュメント作成開始。
- 基盤: X/Open, SVID(概ね System V Release 2 に相当)。
- コマンドドキュメント (man1) もその後追従。
- 原則: 可能な限り標準化インターフェースへの準拠を求め、差異は明示的にドキュメント化。
■ 対象システムと成果
- 特に VMX と MUTOS 1835 の 2 システムに対して進行。
- ドキュメントは EAG(開発者・ユーザーコミュニティ)を通じて他システムの模範例として提供。
失敗作: MUTOS 1835 はロボットロン社製 AT 互換機向けの UNIX ポートだが、マシンが生産されなかったため「失敗作」とみなされる。
UNIX —— 今現在と将来展望
■ 現在の状況
- AT/286 上の X と
(注:原文 ET++)による取り組みは、より良いハードウェア環境への準備。et++ - 386 処理系: 過去 1 年間開発目標であったが、未入手。
- K1840 (VAX/11-780 通称) の追加導入完了。
- 標準 UNIX OS:MUTOS 1800 を動作中。
- VMX: System V Release 3 へのアップグレード進行(主に学生プロジェクト)。
■ 明日への課題:研究の方向性
- 関心事項: GNU プロジェクト、X/Open、OSF の活動(特に AIX が Mach に取って代わったことなど)。
- 核心的問題: 研究の方向性をどう定めるか。
- 過去は「二重の壁」(自らが築いたものと、西側制限によるもの)に囲まれていたが、崩壊しつつある。
- 近年の追いつきは危機感から生まれた技術学習の結果。
■ 今後の必要事項:安全地帯の確保
- 「上からの恩恵」のみを待つ存在ではありたくない。
- 必要な自由をもたらすこと:
- 新たなハードウェア・ソフトウェア購入。
- 国際会議への参加。
- ネットワーク接続。
- 文献更新。
- 手法は問わない(他機関協力プロジェクトでも、産業界支援でも)。
結論: 可能な限り自らの未来を決定し、「上からの恩恵」に依存しない姿勢が求められる。(※この段落には政治的意味も含まれます)
略語一覧
| 略語 | 正式名称 | 説明 |
|---|---|---|
| TH | Technische Hochschule | 技術大学(後の工科大学) |
| EAG | Entwickler- und Anwendergemeinschaft / GDR-UUG | 開発者・ユーザーコミュニティ / 東独 UNIX ユーザーグループ(現在の GUUG/east など参照) |
| ZKI | Zentralinstitut für Kybernetik und Informatik | サイバーネティクスおよび情報科学研究所 |
| LfA | Leitzentrum für Anwendungsforschung | 応用研究センター(ソフトウェア企業) |
| ZfT KEAW | Zentrum für Technik im Kombinat für Elektro-Apparate-Werke | 電気機器コンバイン内の技術センター・電子制御等 R&D センター |
| FSU | Friedrich Schiller Universität | フリードリヒシラー大学(現在はユニバーシティ・イェーナ) |