东德(GDR)的Unix(1990)

Hacker News Top 新闻

摘要

关于东德(GDR)早期采用Unix的历史回顾,详细描述了卡尔·马克思城工业大学在20世纪80年代为将C编译器移植到ESER IBM兼容大型机并引入Unix所做的努力。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/06/01 01:38

# 东德(GDR)的 Unix 来源:https://groups.google.com/g/comp.unix.wizards/c/QX_dxElrVNs 以下文章(德文)曾发表在德国 UUG 网和 SubNet 上,简要讲述了 Unix 在德意志民主共和国的历史。 原作者(Guenther Fischer)可通过 [email protected] 联系。翻译与转载已获作者许可。原文可通过邮件向本人([email protected])索取。 Peter Lamb uucp: uunet!mcsun!ethz!prl eunet: [email protected] 电话:+411 256 5241 Integrated Systems Laboratory ETH-Zentrum, 8092 Zurich ## TUK/IF 的 Unix ### 一次私人史尝试 卡尔·马克思市工业大学,计算机科学系 作者:Guenther Fischer 与 Matthias Clausz 翻译:Peter Lamb,苏黎世联邦理工学院,经作者许可。 ### 起步阶段 1982年——我们系没有自己的学生(没有学生的系就像一棵干枯的树)——我们更像是为全校提供服务的部门(教学与技术计算服务)。我们的计算基础是两台 ESER I 机器(即 IBM 360 的克隆)。我们终于从 DOS 跃迁到了 OS,然后在一些压力下转到了 TSO——当时我们的口号是“TSO 让所有人快乐”(TSO macht alle froh)[或许在东德,虐待死鲸是流行的?——pl :-\) :-\)]。我们当时也正准备告别汇编编程。 ### 幸运的突破 一天,一盘我们的 IBM 克隆机无法处理的磁带落到了我们手中。用十六进制转储分析后,识别出 ASCII 码和 512 字节块并不难。即使不知道它是什么,读取并打印出 tar 格式的磁带也不难。 然后我们在纸上看到的内容(我们的打印机只有大写字母和 IBM 石器时代限制的特殊字符)相当晦涩。注释和 README 文件暴露了秘密。 这是一个[某种编程语言的——pl]编译器,不时出现了“UNIX”这个词。文献调研很快带来了线索。我们甚至在系里找到了一本未被注意的书:Kernighan & Ritchie 的《C 程序设计语言》。 我们立刻对“操作系统可以用高级语言编写并能运行在不同机器上”这一想法产生了热情。 文献调研、对《C》书的草稿翻译,以及用我们的 System-Pascal(我们第一次尝试替代汇编语言)实现 C 预处理器 cpp,这些使我们迅速在东德的 Unix 场景中为人所知(盲人国里,独眼称王)。通过这种方式,我们与东德其他 Unix 努力建立了联系:Froelich 兄弟(柏林 ZKI 和 LfA),我们在 ZfT KEAW 柏林的同事,伊尔默瑙工业大学,以及 Robotron 德累斯顿的小团队。 ### 如何编织一个 C 编译器 在 cpp 努力(翻译成一种类似 C 的语言)成功的鼓舞下,我们继续着手移植编译器本身。由于我们没有带 C 编译器的机器,我们选择了同样的方法:手动翻译成另一种语言。在有限的时间内(大约 3 个月),我们有了一个能生成 PDP/11 汇编的 C 编译器。对我们这些相对计算机无知的人来说,下一阶段更为复杂。我们必须说服代码生成器生成 IBM 360 汇编,并且生成的代码还应该相当不错。经过最初几次尝试,我们很快就在屏幕上看到了第一个 hello world 大约 4 个月后,我们成功编译了 C 编译器本身。当然,最初输出的是 PDP/11 代码,但从此以后,我们就能用 C 思维了。对代码生成器的修改必须回移植到原始编译器中。 ### Unix —— 第一阶段 我们与 LfA 建立了关系,因为他们在 PSU 上的工作最接近我们想要的。PSU 计划作为 OS 下的一个子系统。PSU 类似于 Unix,但有限制——特别是多进程是顺序模拟的。第一个东德 Unix 是一个批处理系统,用汇编实现。作为 TSO 的“鲨鱼”,我们怀念交互能力,于是用建议和行动帮助将 PSU 移植到 TSO。一旦 PSU 运行起来,我们就将我们的编译器移植到这个环境——第一个版本运行在 OS 下。我们还与 LfA 在编译器方面紧密合作。 然后,大批 Unix 工具可以被移植到 PSU。Wump(“追捕 Wumpus”)大受欢迎——在图形时代没人记得这个程序。其他大学和学院协助移植,并帮助发现编译器错误。但我们的巢里有一个真正的布谷鸟蛋(或者更确切地说,是 LfA 放的),因为 PSU 使用 EBCDIC。有些移植(例如 nroff)简直是艺术品。 但我们的努力开始结出果实: - 学生和员工可以在批处理和交互模式下使用相同工具 - OS 和 TSO 不再可见 - 我们可以开始为未来自我培训 ### Unix —— 第二阶段 与我们 PSU 活动的同时,我们在一个“外来”[非 360——pl]机器(PDP 11/20)上兼职运行 Unix V7,以获得一些“真正”的 Unix 经验。后来我们在系里运行了两台这样的机器,它们可以轻松融入我们的教育和研究工作。 ### Unix —— 第三阶段 当我们的两台 360 换成 370 时,我们进入了一个新情况。我们想在新机器上运行真正的 Unix。开发努力、大量热情和一些幸运的巧合使我们能够移植 Unix,使我们拥有完整源码,支持所有外设,可以“独立”运行(没有 VM),并且现在有完整的德文文档。在这个阶段,莱比锡工业大学和耶拿弗里德里希·席勒大学积极协助了我们。 相关的约 30 个 Unix 终端的安装使我们在教育和研究上向前迈进了一大步。然而,我们所谓的“大型机”只有 0.5 MIPS,经常过载,有时需要耐心。 在此基础上产生了众多发展: - 一个作业调度器,允许夜间调度——交互使用不足以满足学生实验课的所有计算需求 - 若干编译器:Pascal、Modula 2、Lisp、C、C++ - 大量技术工具 ### 与此同时 —— 8 位微型机 这些系统运行 CP/M,之所以提它们,只是因为它们曾是使用 Turbo Pascal、数据库和文本处理系统的教育基础,并且至今仍是稳定的工作马。 ### 8 + 8 = 16 == P8000 使用 P8000 系统显著改善了我们计算方面的困境。这些基于 Z8000 的机器运行 WEGA Unix 系统。 ### Unix == Unix?很棒 : 不怎么样 最终清楚了:在所有计算机上(除了 8 位机)运行 Unix 是有利的,但不同 Unix 之间可能差异很大。VMX(我们的 370 系统)大约是 Version 7,而 WEGA 本应是 System III 兼容的。作为 Unix 文献的热心收藏者,我们自然关注了从 /usr/group、SVID 和 X/OPEN 直到 POSIX 的所有活动。 ### 东德 UUG(EAG) “GUUG 和 EAG:为什么不从底层统一?” 所有东德 Unix 开发者都看到了对各类 Unix 系统进行统一文档化的巨大需求。两年前我们开始编写基于 X/OPEN 和 SVID 的系统调用与库函数文档;大致相当于 System V Release 2。命令文档(man1)随后跟进。所有系统,只要可能,都应符合这个标准化接口。如果不可能,至少应记录差异。 对于两个系统(VMX 和 MUTOS 1835),这项工作已经推进很深。我们的文档通过 EAG 提供给他人,作为其他系统的范例。 ### 失败 MUTOS 1835 是我们为 Robotron 的一款 AT 兼容机按合同进行的 Unix 移植。由于这台机器从未生产,整个事情只能视为一次失败。 ### Unix —— 此时此地 我们将自己在 AT/286 上使用 X 和 ET++ 的努力视为为更好(硬件)时代的训练。过去一年里,我们本应致力于 386 的开发,但至今我们甚至无法搞到一台这样的机器。同时,另一台 K1840(VAX/11-780 的别名)已安装,运行其现在标准的操作系统 Unix-OS MUTOS 1800。 目前,我们正在将 VMX 升级到 System V Release 3。这项工作主要由学生项目承担。 ### ……明天呢? 我们一直对 GNU 项目、X/OPEN 和 OSF 的当前工作抱有极大兴趣,尤其是现在 AIX 已被 Mach 取代。我们听说 OSF 对大学合作伙伴感兴趣?! 而我们当前的问题是:我们的研究方向是什么?过去,我们处在双重墙后——一堵我们自己建造,另一堵由西方(例如 COCOM)建造——但就连这堵墙也在倒塌。过去几年的追赶来自于一种紧迫感,我们通过它学会了我们的手艺。现在,我们需要为未来研究提供保障,这将使我们能够自由购买新软硬件、参加国际会议、连接到网络以及更新我们的文献。无论是通过与其他机构的合作项目、工业研究还是其他方式,对我们来说几乎无关紧要——我们希望尽可能掌控自己的未来,而不是等待它从“上面”降临。 最后这一段可能具有政治意味。 作者:Guenther Fischer([email protected]) ### 缩写词汇表: TH – Technische Hochschule(技术学院) EAG – Entwickler- und Anwendergemeinschaft / 东德 UUG:GDR-UUG;现在也指 GUUG/east ZKI – Zentralinstitut fuer Kybernetik und Informatik(控制论与信息学研究所) LfA – Leitzentrum fuer Anwendungforschung(软件公司) ZfT KEAW – Zentrum fuer Technik im Kombinat fuer Elektro-Apparate-Werke(电气设备联合企业的技术中心——研发中心,其中涉及电子控制等) FSU – Friedrich Schiller Universitaet(弗里德里希·席勒大学) --- -- Peter Lamb uucp: uunet!mcsun!ethz!prl eunet: [email protected] 电话:+411 256 5241 Integrated Systems Laboratory ETH-Zentrum, 8092 Zurich

相似文章

冯·诺依曼的传奇 [pdf]

Hacker News Top

Paul Halmos 于 1973 年撰写的《The Legend of von Neumann》一文,记述了 John von Neumann 卓越的数学才能与个性,涵盖他对数学以及计算机科学基础的贡献。这是一份历史/档案性质的 PDF 文档,并非当下的新闻报道。

彭博终端简史

Hacker News Top

本文以历史视角回顾了金融信息传递方式的演变——从电报股票行情机和信鸽传递,一路发展到由 Michael Bloomberg 于 1981 年离开 Salomon Brothers 后创立的彭博终端。

《布谷鸟的蛋》(图书) - 维基百科

Lobsters Hottest

维基百科关于 Clifford Stoll 于 1989 年所著《布谷鸟的蛋》的条目,这是一本第一人称叙事作品,讲述了追踪黑客 Markus Hess 的过程——该黑客利用 GNU Emacs movemail 漏洞获取了劳伦斯伯克利国家实验室(Lawrence Berkeley National Laboratory)的超级用户权限。

唯一直观的界面是乳头

Lobsters Hottest

本文追溯了'唯一直观的界面是乳头'这一引言的起源和出处,该引言通过强调只有像哺乳这样的先天体验才是真正直观的,而其他一切皆为习得,来批评科技界面中'直观'一词的滥用。