PDP-11教了我们什么?


CG Bell,WD Strecker,“计算机,我们从PDP-11中学到了什么”,第三届计算机体系结构年度会议论文集,pp。 1976年1月14日。

我今天选择的这篇文章是计算机设计的回顾。 这是戈登·贝尔(Gordon Bell)与多位合著者共同撰写的几篇文章之一,其中描述了该公司的超凡产品线PDP-11微型计算机的发展,增长和突然更换。

  • CG Bell,R。Cady,H。McFarland,B。Delagi,J。O'Laughlin,R。Noonan和W. Wulf,“微型计算机的新体系结构-DEC PDP-11”,Sprint联合会议论文集计算机会议,pp。 657-675,AFIPS出版社,1970年。
  • CG Bell,WD Strecker,“计算机,我们从PDP-11中学到了什么”,第三届计算机体系结构年度会议论文集,pp。 1976年1月14日。
  • WD Strecker,“ VAX-11 / 780:DEC PDP-11系列的虚拟地址扩展”,《全国计算机会议论文集》,第11页。 967-980,AFIPS出版社,1978年。
  • CG Bell,WD Strecker,“回顾:我们从PDP-11中学到了什么-从VAX和Alpha学到了什么”,第25届年度国际计算机体系结构研讨会论文集,pp。 1998年6月10日。

今年,我们庆祝制造PDP-11的公司成立60周年。 从撰写本文的那一刻起已经过去了40年,我认为从现代的角度回顾贝尔的文章将很有趣。



什么是Digital Equipment Corporation?


想像一下撰写本文的时间,我们首先需要谈论一下发布PDP-11的公司,即马萨诸塞州梅纳德市的Digital Equipment Corporation。 更好地称为DEC。



DEC由Ken Olsen和Harlan Anderson于1957年成立。 奥尔森(Olsen)和安德森(Anderson)在麻省理工学院林肯实验室(Lincoln Laboratory)一起工作,在那里他们注意到学生们排队等候几个小时才能使用TX-0 ,这是由Wes Clark开发的实验性交互式计算机

1个
Clark继续在TX-2中开发TX-0,后来加入DEC成为LINC负责人



这是TX-0。



让我们将其与IBM 704之类的东西进行比较,IBM 704是当时学生最常忽略的计算机。

2
演讲后,有人建议学生对IBM的不满可能是由于该系统的计算机时间预算不足。

奥尔森(Olsen)和安德森(Anderson)发现,对使用交互式计算机的渴望如此强烈,以至于有专门为此角色设计的“小型”计算机市场。



DEC最初推出了PDP-1,它是TX-0的高效商业版本。

修订 :PDP-1恢复项目负责人Michael Cheponis向我写了以下内容:

旋风和PDP-1具有5位操作码,TX-0以2位或3位操作码开头,但是该值随着TX-2的存储器大小的增加而增加。 通过比较PDP-1和Whirlwind代码的顺序,可以发现PDP-1是Whirlwind体系结构的一种便宜且有所改进的版本。

  • 增强功能:添加了间接寻址。
  • 降低成本:由于整数乘法和除法的指令被乘法和除法步骤的指令所代替,该指令将移位一位数,因此删除了“活动寄存器”并添加了子例程调用指令,并删除了移位计数器。 与Whirlwind相比,PDP-1价格的最大下降是由于逻辑和设计的更改。

PDP-1与IBM 704之间的对比很大,但是几年前已经出现了小型而慢速的交互式计算机,例如Librascope LGP-30和Bendix G-15,并且以相似的数量出售。

还应注意,PDP名称是“程序数据处理器”的首字母缩写,因为当时的计算机意味着大型,复杂且昂贵的机器,而风险资本家如果生产“计算机”,则可能不支持DEC。

3
史蒂夫·罗素(Steve Russell)创作的首批计算机游戏之一《 太空大战 》是为PDP-1编写的

在PDP-1成功之后,DEC提供了几套计算机,其中许多是至少部分由戈登·贝尔设计的。

引言


计算机不是完全由体系结构定义的; 它反映了设计和建造它的时间和地点的技术,经济和人道主义方面。 成品计算机是其时代的产物。

从一开始,Bell就让我们知道,要使任何计算机项目取得成功,您都不必构建世界上最好的抽象计算机,而要在考虑上下文的​​情况下构建正确的计算机。

在本章中,我们将介绍PDP-11:创建的目标,体系结构,各种实现以及创建它的人员。 我们将从架构规范开始研究其设计,并考虑它们如何受到技术,开发组织,销售,应用,生产组织以及最终用户性质的影响。

在1976年的这个时候,贝尔担任DEC开发部主管近四年。 显然,他认为PDP-11在更广阔的市场环境中取得了成功,他们本来可以满足他们的需求,并随后影响了整个PDP-11系列的发展。

本演讲秉承贝尔的精神,着眼于本文的两个方面:技术和人员。

基本原理:设计背后的思想


贝尔从这样的观察开始, 从本质上说,计算机工程的目标是创造最终产品。 因此,很难在其中建立长期计划。

这些是敏捷原则。 在那个时候。 在Snowbird之前的25年,撰写宣言宣言。 撰写本文时,DEC不再是一家为生存而苦苦挣扎的初创公司,它是一家成熟的公司,在市场上拥有几条成功的产品线,贝尔说,发布最低需求产品(最低可行产品)的需求比所有其他长期需求更为重要。计划。

像IBM / 360一样,PDP-11不是作为单个计算机模型开发的,而是作为一系列模型开发的,而为小型PDP-11编写的软件将与大型PDP-11兼容。

如程序员所见,此处使用“体系结构”一词来描述系统的属性,即 “一种概念上的结构和功能行为,而不是描述数据流和管理的组织,逻辑设计和物理实现。” -GM Amdahl GA Blaauw和FP Brooks Jr. IBM System / 360的体系结构,1964年

由于PDP-11具有开放性,因此根据处理器规范来解释指令的都是PDP-11,而DEC,在PDP-11市场升温后,便开始构建该架构的实现,他们分为几类,一组他们制造了快速而昂贵的计算机,而其他人则以较低的价格设计了速度较慢的计算机。

尽管PDP-11具有革命性的规划风格,但它在市场上还是很成功的:在市场投放的六年内(1970-1975年)售出了20,000多台。 在这种情况下,设计并不是那么重要:拥有软件来纠正体系结构缺陷和遗漏的庞大而激进的营销组织可以保存几乎所有设计。

在这里,贝尔在他的文章中提出了一个问题:PDP-11是否具有良好的设计,还是仅通过过度活跃的营销获得了优势? 为了回答自己的问题,贝尔根据他和他的合著者六年前确定的设计标准来考虑产品。

地址空间


微型计算机的第一个缺点是地址空间有限。 最大和最常见的错误是设计一台计算机,该计算机没有足够的地址空间来寻址和管理内存。

那个时代的微型计算机具有12位地址空间,该地址空间仅允许寻址4096个地址,每个地址都存储一个12位字。

值得注意的是,“微型计算机”一词最初是由“最小计算机”一词组成的,后来变成了物理尺寸。 典型的例子是PDP-8,它是以前的DEC模型,只有八个指令。



地址空间很小的原因是价格。 存储器在60年代和70年代初是非常昂贵的,当时每一位都包含一个微小的磁芯,这些磁芯被编织成控制线的网格。

内核排列在一个面板中,在这种情况下,每个内核堆叠4096位,得到一个单词,因此4096个单词的内存由1600万个环组成( 此处显然是原始文本中的错误,4096个单词* 16位= 65536个环) (大约翻译 )),每个都至少部分是手工组装的。 现在很清楚为什么内存如此昂贵。



贝尔和其他PDP-11设计人员知道核心价格将继续下降,并且半导体存储器虽然当时不具有成本效益,但根据存储的一个字节将继续变得更便宜。 因此,随着用户倾向于购买“以相同价格(美元)购买的系统”,购买者可以买得起的内存量将随着时间的推移而增加。 但是还是

PDP-11遵循了保存地址位这一糟糕的传统,但是它的原则是保存一个好的设计可以经受住至少一次重大更改的原则。

即使考虑到开发人员的预测,Bell指出,自PDP-11架构推出以来已经过去了不到两年的时间,但它要求在架构中包括一个内存管理模块,以提供对更大的18位地址空间的访问,但其代价是软件复杂性的增加。 。 几年后,又添加了4位。

公平地讲,尽管贝尔责备自己草率行事,但使地址空间不足的传统一直延续到今天。 还记得DOS中的640K限制吗? 还记得与himem.sys的战斗吗? 面对32位程序需要2 GB以上的数据的情况?

所以没有人是完美的。

寄存器不足


小型计算机的第二个弱点是寄存器数量不足的趋势。 这在PDP-11中得到修复,PDP-11具有八个16位寄存器。 后来,添加了六个32位寄存器用于浮点运算。 更多的寄存器可能会增加任务上下文切换时间。

即使只有大型机,也只提供一个寄存器(电池),这并不罕见。 如果提供了其他寄存器,则它们仅用作索引寄存器,而不用作通用寄存器。

有趣的是,还注意到了贝尔的一句话,即额外的寄存器可能给用户带来不便。 在1970年代初期,最常见的是直接在汇编器中编程机器。

体系结构中的寄存器数量,地址位数和指令大小之间具有很强的相关性。 所有这些因素导致内存不足,因此仔细考虑命令系统是很有意义的。

在冯·诺依曼机器(实际上是60年代的所有计算机)中,程序和数据共享相同的有限地址空间,并且无效的程序不仅浪费了计算机时间,而且浪费了内存。 缓慢的程序是可以容忍的,但是如果程序不能放入内存中,那将是致命的,也就是说,对指令进行编码的方法应尽可能高效。

让我们看一下从一个内存位置移动到另一个内存位置的一种非常常见的情况。 需要多少位来描述此操作? 这是一种可能的实现:

MOV addr addr 

源地址需要16位,目标地址需要16位,并且需要一定数量的位来编码MOV指令本身。 总共有40位,这不是16的倍数,这意味着指令的复杂2.5位编码。 但是,如果将地址加载到寄存器中怎么办?

 MOV (R0), (R1) 

在这种情况下,我们只需要描述寄存器,PDP-11有8个寄存器,仅3位就足以描述该寄存器,再加上一些位来描述运算符。 这样的命令可以轻松地放入一个16位字中,并且不需要复杂的可变长度指令编码。



实际上,PDP-11每个寄存器使用6位,如果指令有两个操作数,则每个操作使用4位。

硬件堆栈


小型计算机的第三个弱点是缺乏对堆栈的硬件支持。 PDP-11为地址实现了自动递增和递减机制。 该解决方案是PDP-11独有的,并且已被证明非常有用。 (此解决方案是由其他系统的开发人员复制的。)

如今,很难想象没有堆栈的硬件,但是实际上,如果您不使用递归,那么堆栈就不是很重要。

PDP-11的设计可以追溯到1969年,如果我们看看当时的编程语言FORTRAN和COBOL,它们不支持递归函数调用。 函数调用的顺序包括在过程开始时将返回地址存储在一个空字中,这使得无法进行递归。



PDP-11将堆栈指针定义为我们今天所了解的,它是由PUSH和POP操作控制的寄存器,但是PDP-11进一步发展,通过向操作数寄存器添加自动递增/递减修饰符,允许任何寄存器作为堆栈指针工作。

例如,一条指令:

 MOV R4, -(R6) 

将R6中的值减少2,然后将R4的值存储在R6中存储的地址。 因此,在汇编程序PDP-11中,我们将值放在堆栈上。 如果您有为ARM编程的人,这应该是您熟悉的。

这意味着不需要专用的PUSH或POP指令,这样可以节省指令空间,允许您将任何寄存器用作堆栈指针,尽管传统上堆栈指针为R6,并且在进行子程序调用时由设备使用。

中断延迟


当时微型计算机的第四个弱点是对中断的支持有限以及缓慢的上下文切换,并且此问题通过使用具有设备中断直接连接的UNIBUS向量中断控制器来解决。

在DEC生命的这一刻,几乎所有产品都具有PDP-10架构,该DEC大型机是为交互式应用程序,实验室和过程控制而设计的。 对中断的响应,即中断信号激活和中断处理开始之间的延迟,是获得高实时性能的关键。

在PDP-11中,触发中断的设备提供了中断处理程序的地址。 贝尔诚实地写道:

主要机制非常快,从请求中断到执行中断处理程序的第一条指令,仅需要四个周期即可访问内存。

角色支持


大多数小型计算机的第五个弱点是对字符串的支持不佳,在PDP-11中通过直接寻址字节的能力解决了这一问题。

在1960年代开始出现科学和商业解决方案时,支持字符串和字符的重要性开始增长。 当时主要的编码方法是6位字符集,它为大写字母,0到9的数字,一个空格和几个标点符号提供了足够的空间,足以打印财务报表。



由于内存非常昂贵,因此在12位或18位单词中放置一个字符是完全不可接受的,并且这些字符被打包成单词。

这提高了存储效率,但是对于诸如移动,比较和组合之类的操作来说是困难的,必须考虑字符可以在单词的下部或上部,这增加了程序占用的昂贵内存量。

在PDP-11中解决了该问题,该机器可以使用16位字和8位字节进行操作,从而获得了普及。 将字符长度扩展两位可以简化字符串操作,并使其易于适应日益流行的7位ASCII标准,当时该标准由DEC支持。 贝尔以如下方式结束本段:

尽管设备中没有用于处理字符串的指令,但是可以将普通的字符串操作(移动,比较,连接)编程为一个非常短的周期。

实际上是这样。 假设源地址和目标地址在寄存器中,则可以只用两条指令编写一个复制过程。

 loop: MOVB (src)+, (dst)+ BNE loop 

该代码利用了MOV命令设置标志的事实。 循环将一直持续到源地址中的值变为零为止,此时控制前进至下一条指令。 这就是为什么C行以零结尾的原因。

只读存储器


小型计算机的第六个弱点是无法使用ROM,而PDP-11没有这个缺点。 为PDP-11编写的大多数代码都是“干净的”代码,无需特殊的编程工作即可重新输入,从而可以直接使用ROM。

在程序相对固定的过程控制应用程序中,每次必须从磁带或穿孔纸带下载程序,这很昂贵。 您必须购买并维护很少使用的I / O设备。 当程序始终存在于计算机上时,这样做会更加方便。 但是,由于对内存量的严格限制以及对堆栈的硬件支持不足,自修改代码通常是不可避免的,这严重限制了ROM的使用。 贝尔自豪地说,PDP-11改变了这种状况。

原始I / O


小型计算机的第七个弱点是原始的I / O功能。

在60年代后期,开发PDP-11时,I / O设备非常昂贵。 时间的大型机使用了所谓的通道I / O,其中中央处理器向通道控制器发送了一个小程序,该程序执行该程序并报告结果。 程序可以例如从磁带加载数据或刺穿打孔卡。

通道I / O很重要,它允许从I / O操作中卸载处理器,并同时执行I / O操作,从而提高了处理器利用率。 缺点是通道I / O在每个通道控制器中都需要一个单独的CPU,这大大增加了整个系统的成本。



在小型计算机领域,I / O通常直接对CPU完成,通常使用针对每个特定设备(例如磁带驱动器或控制台打印机)进行硬编码的专用指令。

PDP-11引入了一些异常的映射I / O。 您不是可以在mmap(2)系统调用中使用这种内存映射的I / O,而是一个协议,即内存中的某些地址不仅是存储单元,而且其内容显示在插入背板的板上,在DEC中被称为UNIBUS。



例如,记录在777566中的值
4
地址以八进制形式给出,这与以前的12位,18位和36位DEC机器的习惯相同
将被写入连接到控制台的设备,通常是打印终端。



如果您从地址777570中读取了该值,则您将收到由前面板上的开关输入的值。 这通常用于配置引导加载程序。



类似地,通过将​​要访问的扇区号写入地址777412,要向其写入数据的地址到777410以及字数到777406来访问驱动器RK05。然后,将777404的零位设置为1(位GO),驱动器将所需的字数直接传输到内存中。



我最喜欢的设备是KW11-L。 将位6写入地址777546将每20 ms触发一次中断。 为什么是20毫秒? 因为这是一段交流频率

5
如果您订购的汽车在网络频率为60 Hz的区域,则其编号(零件号)会有所不同

是的,就像家用时钟一样,PDP-11通过网络中的电压周期对时间进行计数。

编程成本高


小型计算机的第九个弱点是编程成本高。 许多用户使用汇编语言编程,却没有大型系统上提供的便捷编辑器和IDE,文件系统和调试器。 尽管PDP-11构建的系统比以前的型号PDP-8和PDP-15更复杂,但PDP-11却无法克服这一缺点。

由于它们的极简性,微型计算机没有为开发程序提供便利的环境。 通常使用繁琐的拨动开关切换,或者在另一台大型计算机上编辑和组装程序,然后将其传输到纸带上。

类似于今天的微控制器编程方式,我们在大型工作站上编辑程序,编译目标二进制文件,然后将其传输到微控制器的闪存中。



但是,贝尔似乎不了解汤普森和里奇的工作,他们正忙于在新泽西州的PDP-11上构建自己的软件环境。

设计的人


让我们继续第二部分:人

作为历史爱好者,本节对我来说最有趣,因为像其他任何历史主题一样,研究计算机的历史基本上是在研究人们的历史以及他们做出决策的环境。

贝尔指出,尽管计算机是基于技术的,但它们是人为制造的,因此他在本节中专门介绍了在开发PDP-11期间DEC小组的动态。

计算机开发人员面临的问题可以分为两个部分:由于经验不足而引起的问题和系统性问题。

贝尔在这里回顾了弗雷德·布鲁克斯(Fred Brooks)当时的最新著作《 神话人月》Mythical Man-Month)的话

OS / 360项目负责人Brooks多年来一直在努力创建一个可以在所有IBM / 360模型上运行的通用通用操作系统,这是该项目的目标。 布鲁克斯在撰写本段时,他的话让他记忆犹新。

设计时间表


本部分是1960年代后期DEC Corporation工作的窗口。

多年来,DEC的设计团队的内部组织在市场导向和产品导向之间波动。 当公司以每年30%或40%的速度增长时,就需要进行持续重组。 在任何给定时间,约三分之一的员工在公司工作不到一年。

如果您熟悉,请举手。

在PDP-11的开发过程中,该公司围绕产品线构建。 该公司的开发人员分为以下小组:PDP-10组,PDP-15组(18位计算机),PDP-8组,PDP-8 / S子组,LINC-8组。 每个小组包括负责产品开发,软件和硬件的营销人员和工程师。 由于这样的组织,建筑经验被分为几组。

贝尔花了一些时间来审查每个小组,列出其优势和劣势,以及它们对PDP-11的贡献。 除了一个例外,我不会在这里列出所有这些内容。

PDP-10组是公司中最强大的。 他们建造了大型,功能强大的分时机。 在许多方面,这是公司的独立部门,与其他团队的互动最少。 尽管PDP-10小组整体上对系统体系结构的工作方式有最好的了解,但他们对系统范围一无所知,但他们只对构建高速计算机感兴趣。

我最近在一家软件公司工作,其中一两种最古老的产品几乎可以赚到公司的全部利润,而且我非常了解Bell的职位。 PDP-10是大型机的DEC版本,非常快,并且仅以固定价格提供。

创建16位计算机的第一项工作是在具有工程经验的营销人员PDP-15经理的监督下开始的。 第一个项目称为PDP-X,其中包括许多机器的规格。 这是机器系列的体系结构,比后来的PDP-11设计得更好,但并不是特别创新。 不幸的是,该组经理指责管理层他们的项目可能与PDP-10一样复杂(不是),并且他确信该项目会失败,因此除了单台大型计算机外,没有人愿意制造其他大型计算机。公司。

贝尔在这里给我们提供了一个很好的教训:如果您的能力与其他经理的项目处于同一链条中,那么他们将提供一种有效的工具来杀死您的项目,使其进入市场。

回想起来,参与PDP-X开发的人员似乎在同时致力于Data General的开发。

普通读者可能没有注意到这一点,但这是对十年前肖克利的“诡异八”的提法。

6
这个团队包括Robert Noyce和Gordon Moore,十年后离开Fairchild并创立了自己的公司Intel。

PDP-8产品经理埃德森·德卡斯特罗(Edson de Castro)和PDP-X项目经理离开DEC,与团队中的其他几个人一起组建了Data General。 从记录中还不清楚de Castro是否因为PDP-X停产而离开,或者他的离开是否是杀死该项目的最后一根稻草。 贝尔写道,无论如何,结果都是显而易见的。

当PDP-X项目关闭时,DCM项目(Desk Calculator Machine,为隐私选择的代号)开始了。 由于Data General与其非常小的16位计算机竞争,因此设计和规划不稳定。

Data General在开发PDP-8的市场上与DEC的16位Nova计算机无法与DEC竞争,de Castro像他的后手一样知道:机架式实验室设备



12位PDP-8与Data General的16位Nova



PDP-11:等级


本文的最后一部分将PDP-11及其以前的版本进行了比较,然后Bell继续评估PDP-11架构本身。 最大的突破是UNIBUS。

通常,UNIBUS总线超出了所有预期。 可以连接数百种存储设备和外围设备;它成为系统的标准体系结构组件,价格从$ 3K到$ 100K(1975)不等。

什么是UNIBUS?




最早的商用计算机被设计为通过有线连接连接到背板的一组模块。 在灯具时代,这是必需的,因为灯具不可靠,需要快速更换模块。



后来,从标准模块构建计算机的愿望导致了使用复杂底板连接的通用逻辑块的构建。

这是早期DEC模块的示例。



您可以将它们安装在具有有线连接的复杂底板上,并使用它们构建计算机,在本例中为PDP-8。

UNIBUS是DEC以前开发的成果,是理想控制总线的抽象。 介质集成组件的可用性消除了对复杂底板的需求,并将主要的复杂性转移到了底板中安装的模块上。 这样就可以构建连接到计算机的标准模块。

作为标准,UNIBUS总线是体系结构的组成部分,可让您构建易于配置的系统。 任何公司,不仅是DEC,都可以轻松地制造与总线交互的组件。 优质的轮胎可以创造良好的工程环境,使人们可以专注于结构化设计。 UNIBUS创建了第二产业,为存储器和外围设备提供了替代供应来源。 除IBM 360总线外,UNIBUS是计算机行业中最常见的总线标准。

在UNIBUS出现之前,小型计算机可以支持的输入/输出设备仅由其开发人员确定。 计算机逻辑电路对如何与设备进行交互进行了硬编码。 随着UNIBUS的出现,为最终用户定制计算机开辟了广阔的领域,并为实验提供了一个广阔的领域。

PDP-11教了我们什么?




在撰写本文时,贝尔的回顾展即已结束。 在1976-77年间,但从我们的角度来看,四十年后,PDP-11的影响力是巨大的。

RISC


最初,当PDP-11尚未开发,并且还不被认为是RISC机器时,该术语在John Coke于1976年针对IBM 801引入之前就不存在。但是,对于具有编程经验的每个人ARM处理器,现代RISC处理器,它们的相似性显而易见。 正如编程语言的设计既是进化发展又是借鉴的过程一样,命令系统的设计也会发生同样的事情。

PDP-11还把利益放在选定的I / O指令的核心,批准了映射到内存的I / O模型,这是当今最常见的机制。唯一具有单独I / O指令的处理器是Intel 8080及其表亲Z80。

Unix系统


PDP-11对软件和操作系统产生了重大影响。PDP-11是Ken Thompson和Dennis Ritchie在Bell Labs开发的机器。

7
UNIX最初是在PDP-7上创建的1970年,开发工作移至PDP-11 / 20,后来移至PDP-11 / 45。

在PDP-11之前,UNIX不存在。在PDP-11之前,C不存在;这是为其设计C的计算机。如果您想知道经典C int中为什么有16位的原因,那是因为PDP-11。

UNIX给我们带来了管道,“一切都是文件”和交互式计算的想法。

VAX-11 / 780


在交互式计算中,内存使用不受限制,尽管PDP可用于过程控制,但交互式计算的需求是替代PDP-11的原因。

贝尔在1977年问世的那一年,发布了PDP-11的追随者VAX-11,这意味着“虚拟地址扩展”。

BSD


UNIX于1974年到达伯克利,肯·汤普森(Ken Thompson)带来了磁带,这是在BSD西海岸进行开发的开始-Berkley Systems Distribution。

Berkeley UNIX在1980年代初被移植到VAX,并作为DEC的VMS操作系统的反文化替代品而蓬勃发展。Berkeley UNIX催生了新一代的黑客,这些黑客后来创立了Sun Microsystems等公司和诸如Self的语言,这些语言直接导致了Java的出现。

在80年代,UNIX被移植到了大量的计算机系统中,并且由于“ UNIX战争”的结果,至今已经创建了各种BSD系统。

下一个


4BSD是原始Berkeley发行版的派生产品,成为Steve Jobs的NeXT系列计算机操作系统的基础。当苹果在1997年收购NeXT时,NextSTEP及其BSD衍生产品成为Darwin,OSX和iOS的基础。

Windows NT


正如我们之前所说,谈论爱迪生·德卡斯特罗时,DEC有叛徒。

VAX VMS操作系统的架构师Dave Cutler在尝试启动一个新的操作系统和旨在替代VAX的硬件的组合项目失败后,他于1988年离开了Microsoft,带领整个团队一起工作,并领导了Windows NT的开发。那些了解Windows和VMS操作系统内部知识的人可能会注意到共同的功能。

施乐奥拓


在结束有关de Castro故事的讨论时,Data General Nova系列鼓舞了Xerox Alto开发人员Charles Tucker和Butler Lampson,后者又启发了Apple Macintosh开发人员。

数据一般新星


Data General与DEC之间的竞争一直持续到32位时代,Tracy Kidder于1981年在其《新机器的灵魂》一书中获得了普利策奖

我们从PDP-11中学到了什么?


尽管PDP-11的发展有时是混乱的,而且并非没有缺陷,但PDP-11是许多历史线程的交集。

硬件,软件,编程语言,操作系统,PDP-11影响了所有这一切。

值得庆祝

相关文章


What did devops mean ?
Introducing gb, a project based build tool for the Go programming language
avr11: how to add 256 kilobytes of ram to an Arduino
Padding is hard

Source: https://habr.com/ru/post/zh-CN435292/


All Articles