在C之前用于OS开发的语言

Non*_*one 9 c history operating-system

我知道C是操作系统开发的标准编程语言,但出于好奇,我想知道它之前是什么.C之前用于操作系统开发的主要编程语言是什么?

joe*_*der 9

在C用于Unix之前有很多系统(1969年......). 这是一个稀疏的时间表. 单击每个系统以获取详细信息.大多数早期系统将在汇编程序中实现.一个值得注意的例外(未在时间轴中列出)是1961年的B5000,其中有一个用ALGOL编写的O/S.


dba*_*ett 5

Burroughs 是最早使用汇编程序以外的其他东西进行操作系统开发的人之一。他们选择了 Algol 方言。

1965 年 Multics(Project MAC,由 ARPA 资助)设计开始,PL/I 被选择开发操作系统。1969 年 Multics 在麻省理工学院开放使用,但遇到挫折,贝尔实验室退出了 MAC 项目。Ken Thompson、Dennis Ritchie、Doug McIlroy 和 JF Ossanna 继续寻求圣杯,Unics(后来的 Unix)开发开始了。

Multics 历史

Multics 失败?

Unix 诉 Multics


Nev*_*DNZ 5

在1970年的"冷战"期间,努力使用ALGOL 68的数据安全性和并行处理功能来创建基于安全/能力的操作系统:

Cambridge CAP计算机 - 构成操作系统的所有程序都是用ALGOL 68C编写的,尽管许多其他密切相关的受保护程序 - 例如分页器 - 都是用BCPL编写的.cf microsoft

Flex机器 - 硬件是定制的和可编程的,带有操作系统,(模块化)编译器,编辑器,垃圾收集器和归档系统,全部用Algol 68RS编写.可以从编译下载的这个Algol68RS的Linux端口可以从Sourceforge下载:algol68toc.

/*有趣的是,DRA的代数指定抽象机Ten15的部分仍然可用,也来自Sourceforge:TenDRA(用于minux).Ten15作为DRA编译器的中间语言,并发展为支持C和Ada.显然是尝试使用TenDRA C编译器移植FreeBSD/Unix*/

ICL VME - S3编程语言操作系统 VME 的实现语言.S3基于ALGOL 68,但数据类型和运营商与ICL 2900系列提供的数据类型和运营商保持一致.此操作系统仍用作Linux VM,并且有大约100,000个用户.

苏联时代计算机Эльбрус-1(Elbrus-1)和Эльбрус-2是使用高级语言uЭль-76(AL-76)创建的,而不是传统的程序集.uЭль-76类似于Algol-68,主要区别在于硬件级支持的uЭль-76中的动态绑定类型.uЭль-76用于e2k-spec的应用程序,作业控制,系统编程.

也许美军在某处做了类似的事情.任何人?


Ebo*_*ike 3

那要看。例如,Amiga OS 最初在一定程度上是用 BCPL 编写的,您可以想象许多古老的操作系统是用纯汇编语言编写的。

CP/M(MS-DOS 的前身)是用 PL/M 编写的,但出于性能原因,MS-DOS 是用汇编语言编写的。以下是 MS-DOS 上的内容:http ://www.patersontech.com/Dos/Byte/InsideDos.htm

(已编辑,不知道我在哪里找到了这个 Fortran 垃圾。)

  • 这是我第一次听到有人建议 CP/M 是用 Fortran 编写的。大部分部分都是用汇编语言清楚地编写的(即,我*确定*没有编译器生成该代码)。人们普遍认为 CP/M 是用 PL/M 编写的(我认为这可能是正确的,尽管我无法指出源代码来证明这一点)。 (3认同)
  • -1,据我所知,FORTRAN 缺乏有意义的指针算术,这使得它对于系统编程毫无用处 (2认同)