Non*_*one 9 c history operating-system
我知道C是操作系统开发的标准编程语言,但出于好奇,我想知道它之前是什么.C之前用于操作系统开发的主要编程语言是什么?
在C用于Unix之前有很多系统(1969年......). 这是一个稀疏的时间表. 单击每个系统以获取详细信息.大多数早期系统将在汇编程序中实现.一个值得注意的例外(未在时间轴中列出)是1961年的B5000,其中有一个用ALGOL编写的O/S.
Burroughs 是最早使用汇编程序以外的其他东西进行操作系统开发的人之一。他们选择了 Algol 方言。
1965 年 Multics(Project MAC,由 ARPA 资助)设计开始,PL/I 被选择开发操作系统。1969 年 Multics 在麻省理工学院开放使用,但遇到挫折,贝尔实验室退出了 MAC 项目。Ken Thompson、Dennis Ritchie、Doug McIlroy 和 JF Ossanna 继续寻求圣杯,Unics(后来的 Unix)开发开始了。
在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的应用程序,作业控制,系统编程.
也许美军在某处做了类似的事情.任何人?
那要看。例如,Amiga OS 最初在一定程度上是用 BCPL 编写的,您可以想象许多古老的操作系统是用纯汇编语言编写的。
CP/M(MS-DOS 的前身)是用 PL/M 编写的,但出于性能原因,MS-DOS 是用汇编语言编写的。以下是 MS-DOS 上的内容:http ://www.patersontech.com/Dos/Byte/InsideDos.htm
(已编辑,不知道我在哪里找到了这个 Fortran 垃圾。)